diff --git a/CHANGELOG b/CHANGELOG index 6194f5c..825a1cd 100644 --- a/CHANGELOG +++ b/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: diff --git a/common/cmd_ide.c b/common/cmd_ide.c index 851ba52..b8e0bef 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -958,12 +958,16 @@ input_data(int dev, ulong *sect_buf, int words) 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 */ diff --git a/include/pcmcia/cirrus.h b/include/pcmcia/cirrus.h index f53b85a..cd34dd8 100644 --- a/include/pcmcia/cirrus.h +++ b/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 */