> I'm trying to use USB driver on a SH4 architecture (SH7750 overdrive
> board). The driver code assumes PCI/CPU cache coherency which is not the
> case on SH4.
> Has anyone already done this work for another architecture?
> Does ohci-0323 and pcipool-0323 patches solve this problem?
> Are there other additional patches to add?

Also add "ohci64-0324.patch" (attached); that should solve the
rest of the problem.  It's been confirmed to work on a few MIPS
machines that use cache-coherent DMA; I'd like to know that it
works on your SH4 setup too!


> On overdrive there is a restriction doing DMA across PCI. We can only
> DMA from memory behind the PCI bus, so all the DMA' able memory must
> come from there. The USB controller manipulates lists of descriptors
> that are located in RAM and requires DMA access to these descriptors.
> How can I support the driver's ability to  allocate these lists on
> memory behind PCI bus (PCI DRAM non cacheable).

That much is what the "ohci-0323" patch does.  But there's a bit
more needed too ... getting rid of bus_to_virt calls, and managing
single shot DMA mappings for the transfer and setup buffers.
That's what the ohci64-0324 patch does.

- Dave


> 
> Best regards
> 
> Orazio Privitera.
> 

ohci64-0324.patch

Reply via email to