Re: b44 driver causes panic when using swiotlb

From: Robert Hancock
Date: Mon Feb 14 2011 - 19:47:46 EST


On 01/31/2011 11:22 PM, FUJITA Tomonori wrote:
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 least not if it's using ISA-style 3rd-party DMA. Some devices may do bus-mastering and be able to do 32-bit DMA, but I've never seen one, at least.



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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/