From: NIIBE Y. <gn...@m1...> - 2001-08-09 01:04:23
|
M. R. Brown wrote: > The problem is that high-level Maple drivers register properly, and the > kmapled thread starts, but requests don't seem to be sent to the bus. > > Anyone have any ideas? When I test Yaegashi's patch yesterday (it's in today), all worked fine on Dreamcast. I remember that when I changed the cache handling mechanism, there was a case where Maple didn't work. It was because maple_send didn't work well. Here, we need to flush the cache (write back and invalidate). Now we do that by the macro dma_cache_wback_inv correctly. I think. In doubt, change it to flush_cache_all (or try with cache disabled by CCR_CACHE_INIT value in cache_sh4.c), and if the behavior changes, it's related to cache handling. Or... Major changes from 2.4.5 is softirq handling. Maple driver uses timer, it used to be called when the kernel goes back from exceptions (if it's system call, goes back to user space). Now, it is called from the kernel thread "ksoftirqd". Does it matter? Umm... it seems not. -- |