USB mass storage and ARM cache coherency
Pete Zaitcev
zaitcev at redhat.com
Sat Feb 20 02:21:48 EST 2010
On Tue, 16 Feb 2010 14:21:48 +0530
"Gadiyar, Anand" <gadiyar at ti.com> wrote:
> > hcd->self.uses_dma = (dev->dma_mask != NULL);
> >
> > Is it easier to make sure that PIO devices don't have dev->dma_mask set?
>
> Not really. For instance, in the case of the DMA engine in the MUSB
> controller in OMAP3, we can only use DMA with endpoints other than
> EP0, and EP0 is what is used for control transfers.
>
> It's not PIO for all the endpoints or DMA for all of them.
The HC driver does not have to be 100% truthful here. If the system
is not HIGHMEM, HCD can easily set uses_dma to false yet use DMA
by mapping buffers itself, without relying on the quoted code.
On a HIGHMEM system, block layer will bounce-buffer data in such case.
Hopefuly not a problem for ARM?
All network stack drivers work that way, BTW.
-- Pete
More information about the linux-arm-kernel
mailing list