Преглед на файлове

Fix IDE stability problems on CPC45 board.

wdenk преди 19 години
родител
ревизия
cd172b7108
променени са 3 файла, в които са добавени 12 реда и са изтрити 0 реда
  1. 2 0
      CHANGELOG
  2. 4 0
      common/cmd_ide.c
  3. 6 0
      include/pcmcia/cirrus.h

+ 2 - 0
CHANGELOG

@@ -2,6 +2,8 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Fix IDE stability problems on CPC45 board (needs 2 x EIEIO).
+
 * Code cleanup
 
 * Patch by Robin Getz, 13 Oct 2004:

+ 4 - 0
common/cmd_ide.c

@@ -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 */

+ 6 - 0
include/pcmcia/cirrus.h

@@ -166,9 +166,15 @@ static int has_led = -1;
 static int has_ring = -1;
 static int dynamic_mode = 0;
 static int freq_bypass = -1;
+#ifdef CONFIG_CPC45
+static int setup_time = 2;
+static int cmd_time = 6;
+static int recov_time = 1;
+#else
 static int setup_time = -1;
 static int cmd_time = -1;
 static int recov_time = -1;
+#endif
 
 
 #endif /* _LINUX_CIRRUS_H */