Re: [PATCH v2 3/3] arch/*/: remove CONFIG_VIRT_TO_BUS
From: Arnd Bergmann <arnd@kernel.org>
Date: 2022-06-26 08:36:32
Also in:
linux-alpha, linux-arch, linux-iommu, linux-m68k, linux-scsi, lkml
(On Sun, Jun 26, 2022 at 7:21 AM Michael Schmitz [off-list ref] wrote:
> The same could be done for the two vme drivers (scsi/mvme147.cquoted
and ethernet/82596.c), which do the cache management but apparently don't need swiotlb bounce buffering. Rewriting the drivers to modern APIs is of course non-trivial, and if you want a shortcut here, I would suggest introducing platform specific helpers similar to isa_virt_to_bus() and call them amiga_virt_to_bus() and vme_virt_to_bus, respectively.I don't think Amiga and m68k VME differ at all in that respect, so might just call it m68k_virt_to_bus() for now.quoted
Putting these into a platform specific header file at least helps clarify that both the helper functions and the drivers using them are non-portable.There are no platform specific header files other than asm/amigahw.h and asm/mvme147hw.h, currently only holding register address definitions. Would it be OK to add m68k_virt_to_bus() in there if it can't remain in asm/virtconvert.h, Geert?
In that case, I would just leave it under the current name and not change m68k at all. I don't like the m68k_virt_to_bus() name because there is not anything CPU specific in what it does, and keeping it in a common header does nothing to prevent it from being used on other platforms either.
quoted
quoted
32bit powerpc is a different matter though.It's similar, but unrelated. The two apple ethernet drivers (bmac and mace) can again either get changed to use the dma-mapping interfaces, or get a custom pmac_virt_to_bus()/ pmac_bus_to_virt() helper.Hmmm - I see Finn had done the DMA API conversion on macmace.c which might give some hints on what to do about mace.c ... no idea about bmac.c though. And again, haven't got hardware to test, so custom helpers is it, then.
Ok.
Arnd