On Mon, 31 Jan 2011 21:22:23 -0600
Robert Hancock<hancockrwd@xxxxxxxxx> wrote:
Some ideas to implement something that works for such device were
discussed. Seems that the conclusion is that it's doesn't worth making
the common code complicated for such minor and insane devices.
I don't think this is the only device that has sub-32-bit DMA
restrictions, this will just lead to a bunch of duplicated code.
Yeah, not only device but not many.
The block layer has the own bouncing mechanism. Some network drivers
have the similar bouncing code. I don't know if there are other kinds
of drivers that have the own bouncing code.
I thought that we can make mm/bounce.c (used for block drivers now)
work any drivers without complicating it. We could make swiotlb to do
but it's too complicated and it doesn't worth.
In
particular, how is LPC DMA supposed to work?
LPC DMA can't do 32bit dma?
At the very least we should be allowing the driver to deal with the
failure instead of panicing the system. Otherwise we are just leaving a
land mine for people to trip over.
Agreed. swiotlb shouldn't panic in this case. I'll take care of it.