[PATCH 11/13] ARM: ixp4xx: Drop custom DMA coherency and bouncing

Arnd Bergmann arnd at arndb.de
Thu Jan 27 02:00:54 PST 2022


On Thu, Jan 27, 2022 at 1:36 AM Linus Walleij <linus.walleij at linaro.org> wrote:
> @@ -381,10 +378,8 @@ config ARCH_IOP32X
>  config ARCH_IXP4XX
>         bool "IXP4xx-based"
>         depends on MMU
> -       select ARCH_HAS_DMA_SET_COHERENT_MASK
>         select ARCH_SUPPORTS_BIG_ENDIAN
>         select CPU_XSCALE
> -       select DMABOUNCE if PCI
>         select GENERIC_IRQ_MULTI_HANDLER
>         select GPIO_IXP4XX
>         select GPIOLIB

Very nice! AFAICT CONFIG_DMABOUNCE is now only used for the sa1111-ohci
driver on the SA1100 Assabet's neponset add-on -- the other sa1111
based machines
are either not supported by the kernel, or don't need the quirk, while other
devices on sa11111 don't have DMA (ps2, ssp, pcmcia) or no driver (audio).

Maybe we could change the sa1111-ohci driver to use usb_hcd_setup_local_mem(),
which implements a similar method locally, and then kill off dmabounce for good.

usb_hcd_setup_local_mem() is used on some pxa machines (csb726 with ohci-sm501
and eseries/tosa with ohci-tmio), though they use it to DMA into a
small SRAM (8KB
for tmio, 256KB for sm501) rather than a limited section of DRAM.

         Arnd



More information about the linux-arm-kernel mailing list