Patchwork [RFC,07/19] powerpc: gamecube/wii: declare as non-coherent platforms

login
register
mail settings
Submitter Albert Herranz
Date Nov. 22, 2009, 10:01 p.m.
Message ID <1258927311-4340-8-git-send-email-albert_herranz@yahoo.es>
Download mbox | patch
Permalink /patch/39006/
State Changes Requested
Headers show

Comments

Albert Herranz - Nov. 22, 2009, 10:01 p.m.
The processors bundled in the Nintendo GameCube and Wii video game consoles
require explicit cache handling when DMA engines are used.

Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
---
 arch/powerpc/platforms/Kconfig.cputype     |    2 +-
 arch/powerpc/platforms/embedded6xx/Kconfig |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)
Arnd Bergmann - Nov. 22, 2009, 10:20 p.m.
On Sunday 22 November 2009, Albert Herranz wrote:
>  config NOT_COHERENT_CACHE
>         bool
> -       depends on 4xx || 8xx || E200 || PPC_MPC512x
> +       depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
>         default y
>  
>  config CHECK_CACHE_COHERENCY
> diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
> index 97a2dbc..31487e4 100644
> --- a/arch/powerpc/platforms/embedded6xx/Kconfig
> +++ b/arch/powerpc/platforms/embedded6xx/Kconfig
> @@ -93,4 +93,5 @@ config MPC10X_STORE_GATHERING
>  
>  config GAMECUBE_COMMON
>         bool
> +       select NOT_COHERENT_CACHE

One of the two (depends and select) is enough. I'd just drop the 'select'
line here.

	Arnd <><
Albert Herranz - Nov. 23, 2009, 7:06 p.m.
Arnd Bergmann wrote:
> On Sunday 22 November 2009, Albert Herranz wrote:
>>  config NOT_COHERENT_CACHE
>>         bool
>> -       depends on 4xx || 8xx || E200 || PPC_MPC512x
>> +       depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
>>         default y
>>  
>>  config CHECK_CACHE_COHERENCY
>> diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
>> index 97a2dbc..31487e4 100644
>> --- a/arch/powerpc/platforms/embedded6xx/Kconfig
>> +++ b/arch/powerpc/platforms/embedded6xx/Kconfig
>> @@ -93,4 +93,5 @@ config MPC10X_STORE_GATHERING
>>  
>>  config GAMECUBE_COMMON
>>         bool
>> +       select NOT_COHERENT_CACHE
> 
> One of the two (depends and select) is enough. I'd just drop the 'select'
> line here.
> 
> 	Arnd <><
> 

Thanks, I'll fix that.

Cheers,
Albert
Benjamin Herrenschmidt - Nov. 26, 2009, 5:09 a.m.
On Sun, 2009-11-22 at 23:01 +0100, Albert Herranz wrote:
> The processors bundled in the Nintendo GameCube and Wii video game consoles
> require explicit cache handling when DMA engines are used.

That reminds me we really need to make that a runtime option some day...

Cheers,
Ben.

> Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
> ---
>  arch/powerpc/platforms/Kconfig.cputype     |    2 +-
>  arch/powerpc/platforms/embedded6xx/Kconfig |    1 +
>  2 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
> index e382cae..80d934b 100644
> --- a/arch/powerpc/platforms/Kconfig.cputype
> +++ b/arch/powerpc/platforms/Kconfig.cputype
> @@ -312,7 +312,7 @@ config NR_CPUS
>  
>  config NOT_COHERENT_CACHE
>  	bool
> -	depends on 4xx || 8xx || E200 || PPC_MPC512x
> +	depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
>  	default y
>  
>  config CHECK_CACHE_COHERENCY
> diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
> index 97a2dbc..31487e4 100644
> --- a/arch/powerpc/platforms/embedded6xx/Kconfig
> +++ b/arch/powerpc/platforms/embedded6xx/Kconfig
> @@ -93,4 +93,5 @@ config MPC10X_STORE_GATHERING
>  
>  config GAMECUBE_COMMON
>  	bool
> +	select NOT_COHERENT_CACHE
>

Patch

diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index e382cae..80d934b 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -312,7 +312,7 @@  config NR_CPUS
 
 config NOT_COHERENT_CACHE
 	bool
-	depends on 4xx || 8xx || E200 || PPC_MPC512x
+	depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
 	default y
 
 config CHECK_CACHE_COHERENCY
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
index 97a2dbc..31487e4 100644
--- a/arch/powerpc/platforms/embedded6xx/Kconfig
+++ b/arch/powerpc/platforms/embedded6xx/Kconfig
@@ -93,4 +93,5 @@  config MPC10X_STORE_GATHERING
 
 config GAMECUBE_COMMON
 	bool
+	select NOT_COHERENT_CACHE