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

Submitted by Risto Suominen on Feb. 12, 2009, 11:22 a.m.

Details

Message ID 46e1c7760902120322r11cffbdcgff330a242ca586fb@mail.gmail.com
State Changes Requested, archived
Headers show

Commit Message

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.

Comments

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 hide | download patch | download mbox

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.