From: <he...@us...> - 2005-08-30 16:52:02
|
Update of /cvsroot/gc-linux/linux/arch/ppc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28757 Modified Files: Kconfig Log Message: It seems nothing is really broken, it looks like a design feature/decision. All existing device driver code references and empiric tests seem to confirm that the Gekko, as used in the GameCube, does not maintain cache coherency and needs explicit cache management. Setting CONFIG_NOT_COHERENT_CACHE=y here enables the Kernel DMA API to explicitly handle cache coherency, making it work as expected. Index: Kconfig =================================================================== RCS file: /cvsroot/gc-linux/linux/arch/ppc/Kconfig,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- Kconfig 29 Aug 2005 20:25:18 -0000 1.31 +++ Kconfig 30 Aug 2005 16:51:53 -0000 1.32 @@ -274,11 +274,10 @@ depends on 6xx || POWER3 || POWER4 default y -# FIXME: This is meant for cache incoherent cores, which is not the case for -# 750CXe (Gekko). However, according to isobel, turning this off stalls I/O -# for drivers using the DMA API (gcn-{dvd,bba}). For now this remains a -# band-aid for something else that's broken.. -# +# Although 750CXe (Gekko) seems to be cache coherent capable, the GAMECUBE +# does not maintain cache coherency with respect to dma enabled devices +# like the BBA, DI, ARAM, etc. +# We need Y here if we want a working kernel dma api. config NOT_COHERENT_CACHE bool depends on 4xx || 8xx || E200 || GAMECUBE |