Re: [PATCH v2 3/3] arch/*/: remove CONFIG_VIRT_TO_BUS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(On Sun, Jun 26, 2022 at 7:21 AM Michael Schmitz <schmitzmic@xxxxxxxxx> wrote:
 > The same could be done for the two vme drivers (scsi/mvme147.c
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.

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.

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



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux