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

Robin Murphy posted 7 patches 1 year, 10 months ago
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(-)
[PATCH v3 0/7] dma-mapping: Simplify arch_setup_dma_ops()
Posted by Robin Murphy 1 year, 10 months ago
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(-)

-- 
2.39.2.101.g768bb238c484.dirty
Re: [PATCH v3 0/7] dma-mapping: Simplify arch_setup_dma_ops()
Posted by Robin Murphy 1 year, 9 months ago
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(-)
>
Re: [PATCH v3 0/7] dma-mapping: Simplify arch_setup_dma_ops()
Posted by Christoph Hellwig 1 year, 9 months ago
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.
Re: [PATCH v3 0/7] dma-mapping: Simplify arch_setup_dma_ops()
Posted by Hanjun Guo 1 year, 10 months ago
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