summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/gen5200/ide
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-06-17 11:58:41 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-06-17 11:58:41 +0000
commit25ed11d08e98b9893a076c57f694c14892155c01 (patch)
tree9dfff040a25548e21b1518f66612a33b6d82fa3d /c/src/lib/libbsp/powerpc/gen5200/ide
parent2011-06-17 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-25ed11d08e98b9893a076c57f694c14892155c01.tar.bz2
2011-06-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
* Makefile.am: Added custom memcpy(). Update for network sources. * configure.ac: Enable interrupt driven Termios for all BSPs. * ide/pcmcia_ide.c: Disable broken DMA support. * include/bsp.h: Fixed NEED_LOW_LEVEL_INIT define. Set default console baud to 115200. * include/irq.h, irq/irq.c: Fixed interrupt handling to avoid the following problems: 1. multiple invokation of peripheral interrupt handlers, 2. missing synchronization after mask write and enabling of external exceptions, and 3. logic overhead. * network_5200/network.c: Added MII interface. Fixed controller restart after FIFO errors. Performance improvements. * start/start.S: Fixed ROM startup. Initialize XLB arbiter for all BSPs. * startup/bspstart.c: Special intialization for MPC5200B (B variant). Install standard alignment handler. * startup/cpuinit.c, startup/linkcmds.brs5l, startup/linkcmds.dp2, startup/linkcmds.icecube, startup/linkcmds.pm520_cr825, startup/linkcmds.pm520_ze30: Avoid accesses outside the RAM area.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/ide')
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c b/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c
index 63c6a0b72a..1366a6bd4e 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c
+++ b/c/src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c
@@ -92,23 +92,13 @@
#endif
#define IDE_DMA_TEST FALSE
-#ifdef BRS5L
-#define IDE_USE_INT TRUE
-#define IDE_READ_USE_DMA TRUE
-#define IDE_USE_READ_PIO_OPT FALSE
-#define IDE_WRITE_USE_DMA TRUE
-#define IDE_USE_WRITE_PIO_OPT TRUE
-/* #define IDE_USE_DMA (IDE_READ_USE_DMA||IDE_WRITE_USE_DMA) */
-#define IDE_USE_DMA TRUE
-#else
+/* DMA supported PIO mode is broken */
#define IDE_USE_INT TRUE
#define IDE_READ_USE_DMA FALSE
#define IDE_USE_READ_PIO_OPT FALSE
#define IDE_WRITE_USE_DMA FALSE
#define IDE_USE_WRITE_PIO_OPT FALSE
-/* #define IDE_USE_DMA (IDE_READ_USE_DMA||IDE_WRITE_USE_DMA) */
-#define IDE_USE_DMA FALSE
-#endif
+#define IDE_USE_DMA (IDE_READ_USE_DMA || IDE_WRITE_USE_DMA)
#define IDE_USE_STATISTICS TRUE
@@ -464,6 +454,7 @@ void mpc5200_pcmciaide_dma_blockop(bool is_write,
(*cbuf)++;
(*pos) += bufs[bufs_from_dma].length;
bufs_from_dma++;
+ bds_free++;
}
} while ((nxt_bd_idx != TASK_ERR_BD_RING_EMPTY) &&
(nxt_bd_idx != TASK_ERR_BD_BUSY) &&