Patchwork [002/002] de2104x: support for systems lacking cache coherence

login
register
mail settings
Submitter Risto Suominen
Date Feb. 12, 2009, 11:22 a.m.
Message ID <46e1c7760902120322r11cffbdcgff330a242ca586fb@mail.gmail.com>
Download mbox | patch
Permalink /patch/23011/
State Changes Requested
Headers show

Comments

Risto Suominen - Feb. 12, 2009, 11:22 a.m.
Here is a patch that helped me to get my de2104x NIC working on my
PowerMac 5500. As an interesting side effect, it also made my mesh
module crash.

Background can be found here: http://www.spinics.net/lists/netdev/msg88488.html

Risto

Allow setting NOT_COHERENT_CACHE explicitly.

Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
---
The testing is done on kernel version 2.6.24.

--- a/arch/powerpc/platforms/powermac/Kconfig.org	2008-01-25
00:58:37.000000000 +0200
+++ b/arch/powerpc/platforms/powermac/Kconfig	2009-02-10
17:44:24.000000000 +0200
@@ -18,4 +18,10 @@ config PPC_PMAC64
 	select PPC_970_NAP
 	default y

-
+config NOT_COHERENT_CACHE
+	bool "Incoherent cache"
+	default n
+	help
+	  Setting this option may be necessary for avoiding cache-related
+	  problems with some network cards on some platforms. An example is
+	  2104x and PowerMac 5500.
Benjamin Herrenschmidt - Feb. 13, 2009, 3:25 a.m.
On Thu, 2009-02-12 at 13:22 +0200, Risto Suominen wrote:
> Here is a patch that helped me to get my de2104x NIC working on my
> PowerMac 5500. As an interesting side effect, it also made my mesh
> module crash.
> 
> Background can be found here: http://www.spinics.net/lists/netdev/msg88488.html

I'll catch up with the discussion in netdev, I think the workaround
should be in the driver... Or if not, we can do special dma-ops just for
that device.

Just to make sure I didn't miss something, please send me a tarball
of /proc/device-tree of your machine.

Cheers,
Ben.

> Risto
> 
> Allow setting NOT_COHERENT_CACHE explicitly.
> 
> Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
> ---
> The testing is done on kernel version 2.6.24.
> 
> --- a/arch/powerpc/platforms/powermac/Kconfig.org	2008-01-25
> 00:58:37.000000000 +0200
> +++ b/arch/powerpc/platforms/powermac/Kconfig	2009-02-10
> 17:44:24.000000000 +0200
> @@ -18,4 +18,10 @@ config PPC_PMAC64
>  	select PPC_970_NAP
>  	default y
> 
> -
> +config NOT_COHERENT_CACHE
> +	bool "Incoherent cache"
> +	default n
> +	help
> +	  Setting this option may be necessary for avoiding cache-related
> +	  problems with some network cards on some platforms. An example is
> +	  2104x and PowerMac 5500.
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
Benjamin Herrenschmidt - Feb. 13, 2009, 3:26 a.m.
On Thu, 2009-02-12 at 13:22 +0200, Risto Suominen wrote:
> Here is a patch that helped me to get my de2104x NIC working on my
> PowerMac 5500. As an interesting side effect, it also made my mesh
> module crash.

Can you tell me more about the mesh crash ? Do you have a log ?

Ben.
Risto Suominen - Feb. 13, 2009, 3:58 p.m.
2009/2/13, Benjamin Herrenschmidt <benh@kernel.crashing.org>:
>
> Can you tell me more about the mesh crash ? Do you have a log ?
>
Please find attached the device-tree and a log of loading the mesh
module after the boot. This way it didn't crash, but did odd things:
all it should find, on the bus, is a cd-rom drive at 3. Now it finds
two LUNs that it interprets as disks.

Risto

Patch

Allow setting NOT_COHERENT_CACHE explicitly.

Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
---
The testing is done on kernel version 2.6.24.

--- a/arch/powerpc/platforms/powermac/Kconfig.org	2008-01-25 00:58:37.000000000 +0200
+++ b/arch/powerpc/platforms/powermac/Kconfig	2009-02-10 17:44:24.000000000 +0200
@@ -18,4 +18,10 @@  config PPC_PMAC64
 	select PPC_970_NAP
 	default y
 
-
+config NOT_COHERENT_CACHE
+	bool "Incoherent cache"
+	default n
+	help
+	  Setting this option may be necessary for avoiding cache-related
+	  problems with some network cards on some platforms. An example is
+	  2104x and PowerMac 5500.