[parisc-linux-cvs] linux grundler

Grant Grundler grundler@dsl2.external.hp.com
Tue, 23 Apr 2002 09:56:36 -0600


Grant Grundler wrote:
> Log message:
> 2.4.18-pa22
> fix MMIO posted write bug (add inl/udelay to initialization)
> Symptom is driver can not read phy table.
> Saw this bug on 800Mhz Mckinley before.
> Now seeing it on C3600 (550Mhz PA-8600).
> Do not see this problem on C3000 (400Mhz PA-8500, same IO subsystem)
> Jeff Garzik already has this patch.

FYI, 800Mhz is a proto Mckinley and not final product.
Don't draw any conclusions about the performance from the clock speed.

Here's the -pa22 diff.

grant


Index: Makefile
===================================================================
RCS file: /var/cvs/linux/Makefile,v
retrieving revision 1.292
diff -u -p -r1.292 Makefile
--- Makefile	2002/04/22 00:04:10	1.292
+++ Makefile	2002/04/23 05:58:13
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 18
-EXTRAVERSION = -pa21
+EXTRAVERSION = -pa22
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
Index: drivers/net/tulip/media.c
===================================================================
RCS file: /var/cvs/linux/drivers/net/tulip/media.c,v
retrieving revision 1.9
diff -u -p -r1.9 media.c
--- drivers/net/tulip/media.c	2001/08/01 15:26:17	1.9
+++ drivers/net/tulip/media.c	2002/04/23 05:58:14
@@ -284,6 +284,11 @@ void tulip_select_media(struct net_devic
 				for (i = 0; i < init_length; i++)
 					outl(init_sequence[i], ioaddr + CSR12);
 			}
+
+#ifdef CONFIG_TULIP_MMIO
+			inl(ioaddr + CSR6);	/* flush posted writes */
+			udelay(10);
+#endif
 			tmp_info = get_u16(&misc_info[1]);
 			if (tmp_info)
 				tp->advertising[phy_num] = tmp_info | 1;