]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_ide.c
Fix IDE stability problems on CPC45 board.
[u-boot] / common / cmd_ide.c
index 77a049401604014fa54cca3a9eeaab127316d3da..b8e0bef574289e6fd112fff5ba1e27519bb6f618 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2002
+ * (C) Copyright 2000-2004
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * See file CREDITS for list of people who contributed to this
@@ -144,7 +144,7 @@ block_dev_desc_t ide_dev_desc[CFG_IDE_MAXDEVICE];
 /* ------------------------------------------------------------------------- */
 
 #ifdef CONFIG_IDE_LED
-#if !defined(CONFIG_KUP4K) &&  !defined(CONFIG_KUP4X) &&!defined(CONFIG_BMS2003)
+#if !defined(CONFIG_KUP4K) &&  !defined(CONFIG_KUP4X) &&!defined(CONFIG_BMS2003) &&!defined(CONFIG_CPC45)
 static void  ide_led   (uchar led, uchar status);
 #else
 extern void  ide_led   (uchar led, uchar status);
@@ -957,13 +957,17 @@ input_data(int dev, ulong *sect_buf, int words)
        pbuf_odd  = (uchar *)(ATA_CURR_BASE(dev)+ATA_DATA_ODD);
        dbuf = (uchar *)sect_buf;
        while (words--) {
+               EIEIO;
                EIEIO;
                *dbuf++ = *pbuf_even;
                EIEIO;
+               EIEIO;
                *dbuf++ = *pbuf_odd;
                EIEIO;
+               EIEIO;
                *dbuf++ = *pbuf_even;
                EIEIO;
+               EIEIO;
                *dbuf++ = *pbuf_odd;
        }
 #endif /* CONFIG_HMI10 */
@@ -1548,11 +1552,12 @@ static void ide_reset (void)
 
 /* ------------------------------------------------------------------------- */
 
-#if defined(CONFIG_IDE_LED) && \
-   !defined(CONFIG_AMIGAONEG3SE) && \
-   !defined(CONFIG_KUP4K) && \
-   !defined(CONFIG_KUP4X) && \
-   !defined(CONFIG_HMI10)
+#if defined(CONFIG_IDE_LED)    && \
+   !defined(CONFIG_AMIGAONEG3SE)&& \
+   !defined(CONFIG_CPC45)      && \
+   !defined(CONFIG_HMI10)      && \
+   !defined(CONFIG_KUP4K)      && \
+   !defined(CONFIG_KUP4X)
 
 static uchar   led_buffer = 0;         /* Buffer for current LED status        */
 
@@ -1578,7 +1583,6 @@ static void ide_led (uchar led, uchar status)
  * ATAPI Support
  */
 
-
 #undef ATAPI_DEBUG
 
 #ifdef ATAPI_DEBUG
@@ -1661,7 +1665,6 @@ output_data_shorts(int dev, ushort *sect_buf, int shorts)
        outsw(ATA_CURR_BASE(dev)+ATA_DATA_REG, sect_buf, shorts);
 }
 
-
 static void
 input_data_shorts(int dev, ushort *sect_buf, int shorts)
 {