mbox series

[v3,0/7] dma-mapping: Simplify arch_setup_dma_ops()

Message ID cover.1707493264.git.robin.murphy@arm.com (mailing list archive)
Headers show
Series dma-mapping: Simplify arch_setup_dma_ops() | expand

Message

Robin Murphy Feb. 9, 2024, 4:49 p.m. UTC
v2: https://lore.kernel.org/linux-iommu/cover.1702486837.git.robin.murphy@arm.com/

Hi all,

Here's v3, rebased and fixing the thinko from v2, so unless anything
else has changed behind my back I hope it's good to go (via the IOMMU
tree, as mentioned before).

Thanks,
Robin.


Robin Murphy (7):
  OF: Retire dma-ranges mask workaround
  OF: Simplify DMA range ca1lculations
  ACPI/IORT: Handle memory address size limits as limits
  dma-mapping: Add helpers for dma_range_map bounds
  iommu/dma: Make limit checks self-contained
  iommu/dma: Centralise iommu_setup_dma_ops()
  dma-mapping: Simplify arch_setup_dma_ops()

 arch/arc/mm/dma.c               |  3 +--
 arch/arm/mm/dma-mapping-nommu.c |  3 +--
 arch/arm/mm/dma-mapping.c       | 16 +++++++------
 arch/arm64/mm/dma-mapping.c     |  5 +---
 arch/loongarch/kernel/dma.c     |  9 ++-----
 arch/mips/mm/dma-noncoherent.c  |  3 +--
 arch/riscv/mm/dma-noncoherent.c |  3 +--
 drivers/acpi/arm64/dma.c        | 17 ++++---------
 drivers/acpi/arm64/iort.c       | 20 ++++++++--------
 drivers/acpi/scan.c             |  7 +-----
 drivers/hv/hv_common.c          |  6 +----
 drivers/iommu/amd/iommu.c       |  8 -------
 drivers/iommu/dma-iommu.c       | 39 ++++++++++++------------------
 drivers/iommu/dma-iommu.h       | 14 +++++------
 drivers/iommu/intel/iommu.c     |  7 ------
 drivers/iommu/iommu.c           | 20 ++++++----------
 drivers/iommu/s390-iommu.c      |  6 -----
 drivers/iommu/virtio-iommu.c    | 10 --------
 drivers/of/device.c             | 42 ++++++---------------------------
 include/linux/acpi_iort.h       |  4 ++--
 include/linux/dma-direct.h      | 18 ++++++++++++++
 include/linux/dma-map-ops.h     |  6 ++---
 include/linux/iommu.h           |  7 ------
 23 files changed, 89 insertions(+), 184 deletions(-)

Comments

Hanjun Guo Feb. 24, 2024, 11:32 a.m. UTC | #1
On 2024/2/10 0:49, Robin Murphy wrote:
> v2: https://lore.kernel.org/linux-iommu/cover.1702486837.git.robin.murphy@arm.com/
> 
> Hi all,
> 
> Here's v3, rebased and fixing the thinko from v2, so unless anything
> else has changed behind my back I hope it's good to go (via the IOMMU
> tree, as mentioned before).

Compiled with/without ACPI enabled, and test this patch set on an
ARM64 server with ACPI booting, looks good.

Tested-by: Hanjun Guo <guohanjun@huawei.com>

Thanks
Hanjun
Robin Murphy March 6, 2024, 12:02 p.m. UTC | #2
Hi Joerg, Christoph,

On 2024-02-09 4:49 pm, Robin Murphy wrote:
> v2: https://lore.kernel.org/linux-iommu/cover.1702486837.git.robin.murphy@arm.com/
> 
> Hi all,
> 
> Here's v3, rebased and fixing the thinko from v2, so unless anything
> else has changed behind my back I hope it's good to go (via the IOMMU
> tree, as mentioned before).

Are either of you happy to pick this series up now that we have Hanjun's 
acks for the IORT parts? As it stands it still applies cleanly to both 
iommu/next and dma/for-next. I do have some followup IOMMU patches 
prepared already (continuing to delete more code, yay!), but I don't 
want to get too far ahead of myself.

Cheers,
Robin.

> 
> Thanks,
> Robin.
> 
> 
> Robin Murphy (7):
>    OF: Retire dma-ranges mask workaround
>    OF: Simplify DMA range ca1lculations
>    ACPI/IORT: Handle memory address size limits as limits
>    dma-mapping: Add helpers for dma_range_map bounds
>    iommu/dma: Make limit checks self-contained
>    iommu/dma: Centralise iommu_setup_dma_ops()
>    dma-mapping: Simplify arch_setup_dma_ops()
> 
>   arch/arc/mm/dma.c               |  3 +--
>   arch/arm/mm/dma-mapping-nommu.c |  3 +--
>   arch/arm/mm/dma-mapping.c       | 16 +++++++------
>   arch/arm64/mm/dma-mapping.c     |  5 +---
>   arch/loongarch/kernel/dma.c     |  9 ++-----
>   arch/mips/mm/dma-noncoherent.c  |  3 +--
>   arch/riscv/mm/dma-noncoherent.c |  3 +--
>   drivers/acpi/arm64/dma.c        | 17 ++++---------
>   drivers/acpi/arm64/iort.c       | 20 ++++++++--------
>   drivers/acpi/scan.c             |  7 +-----
>   drivers/hv/hv_common.c          |  6 +----
>   drivers/iommu/amd/iommu.c       |  8 -------
>   drivers/iommu/dma-iommu.c       | 39 ++++++++++++------------------
>   drivers/iommu/dma-iommu.h       | 14 +++++------
>   drivers/iommu/intel/iommu.c     |  7 ------
>   drivers/iommu/iommu.c           | 20 ++++++----------
>   drivers/iommu/s390-iommu.c      |  6 -----
>   drivers/iommu/virtio-iommu.c    | 10 --------
>   drivers/of/device.c             | 42 ++++++---------------------------
>   include/linux/acpi_iort.h       |  4 ++--
>   include/linux/dma-direct.h      | 18 ++++++++++++++
>   include/linux/dma-map-ops.h     |  6 ++---
>   include/linux/iommu.h           |  7 ------
>   23 files changed, 89 insertions(+), 184 deletions(-)
>
Christoph Hellwig March 6, 2024, 12:10 p.m. UTC | #3
On Wed, Mar 06, 2024 at 12:02:41PM +0000, Robin Murphy wrote:
> Are either of you happy to pick this series up now that we have Hanjun's 
> acks for the IORT parts? As it stands it still applies cleanly to both 
> iommu/next and dma/for-next. I do have some followup IOMMU patches prepared 
> already (continuing to delete more code, yay!), but I don't want to get too 
> far ahead of myself.

I expected this to go in through the iommu tree.  But if Joerg want
the series (or part of it) to go through the dma-mapping tree I'd
be happy to pick it up ASAP.