[PATCH 00/14] iommu: Move iommu_fwspec out of 'struct device'

From: Joerg Roedel
Date: Fri Feb 28 2020 - 10:08:31 EST


Hi,

here is a patch-set to rename iommu_param to dev_iommu and
establish it as a struct for generic per-device iommu-data.
Also move the iommu_fwspec pointer from struct device into
dev_iommu to have less iommu-related pointers in struct
device.

The bigger part of this patch-set moves the iommu_priv
pointer from struct iommu_fwspec to dev_iommu, making is
usable for iommu-drivers which do not use fwspecs.

The changes for that were mostly straightforward, except for
the arm-smmu (_not_ arm-smmu-v3) and the qcom iommu driver.
Unfortunatly I don't have the hardware for those, so any
testing of these drivers is greatly appreciated.

I boot-tested these changes on arm-smmu-v3 enabled KVM VM.

Please review.

Regards,

Joerg

Joerg Roedel (14):
ACPI/IORT: Remove direct access of dev->iommu_fwspec
drm/msm/mdp5: Remove direct access of dev->iommu_fwspec
iommu/tegra-gart: Remove direct access of dev->iommu_fwspec
iommu/arm-smmu: Fix uninitilized variable warning
iommu: Rename struct iommu_param to dev_iommu
iommu: Move iommu_fwspec to struct dev_iommu
iommu: Introduce accessors for iommu private data
iommu/arm-smmu-v3: Use accessor functions for iommu private data
iommu/arm-smmu: Use accessor functions for iommu private data
iommu/renesas: Use accessor functions for iommu private data
iommu/mediatek: Use accessor functions for iommu private data
iommu/qcom: Use accessor functions for iommu private data
iommu/virtio: Use accessor functions for iommu private data
iommu: Move fwspec->iommu_priv to struct dev_iommu

drivers/acpi/arm64/iort.c | 3 +-
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 2 +-
drivers/iommu/arm-smmu-v3.c | 10 ++--
drivers/iommu/arm-smmu.c | 58 +++++++++++-----------
drivers/iommu/iommu.c | 31 ++++++------
drivers/iommu/ipmmu-vmsa.c | 7 +--
drivers/iommu/mtk_iommu.c | 13 +++--
drivers/iommu/mtk_iommu_v1.c | 14 +++---
drivers/iommu/qcom_iommu.c | 61 ++++++++++++++----------
drivers/iommu/tegra-gart.c | 2 +-
drivers/iommu/virtio-iommu.c | 11 ++---
include/linux/device.h | 7 ++-
include/linux/iommu.h | 29 ++++++++---
13 files changed, 137 insertions(+), 111 deletions(-)

--
2.17.1