Re: [PATCH 2/2] swiotlb: Add swiotlb=nobounce debug option

From: Konrad Rzeszutek Wilk
Date: Mon Nov 07 2016 - 14:20:28 EST


On Mon, Nov 07, 2016 at 07:57:11PM +0100, Geert Uytterhoeven wrote:
> Hi Konrad,
>
> On Mon, Oct 31, 2016 at 6:52 PM, Konrad Rzeszutek Wilk
> <konrad.wilk@xxxxxxxxxx> wrote:
> > On Mon, Oct 31, 2016 at 04:45:04PM +0100, Geert Uytterhoeven wrote:
> >> On architectures like arm64, swiotlb is tied intimately to the core
> >> architecture DMA support. In addition, ZONE_DMA cannot be disabled.
> >>
> >> To aid debugging and catch devices not supporting DMA to memory outside
> >> the 32-bit address space, add a kernel command line option
> >> "swiotlb=nobounce", which disables the use of bounce buffers.
> >> If specified, trying to map memory that cannot be used with DMA will
> >> fail, and a warning will be printed (rate-limited).
> >
> > I would make the 'swiotlb_force' an enum. And then instead of this
> > being 'nobounce' just do the inverse of 'force', that is the
> > 'noforce' would trigger this no bounce effect.
> >
> > So:
> >
> > enum {
> > NORMAL, /* Default - depending on the hardware DMA mask and such. */
> > FORCE, /* swiotlb=force */
> > NO_FORCE, /* swiotlb=noforce */
>
> Fine for me, but swiotlb_force is exported to platform code. Hence all users
> should be updated?

Yeah it would have to be moved to the swiotlb.h (the enum).

Thanks!