From: Lu Baolu <baolu.lu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>, Jason Gunthorpe <jgg@nvidia.com>,
Christoph Hellwig <hch@infradead.org>,
Ben Skeggs <bskeggs@redhat.com>,
Kevin Tian <kevin.tian@intel.com>,
Ashok Raj <ashok.raj@intel.com>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
Eric Auger <eric.auger@redhat.com>, Liu Yi L <yi.l.liu@intel.com>,
Jacob jun Pan <jacob.jun.pan@intel.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: [PATCH v4 0/9] iommu cleanup and refactoring
Date: Wed, 16 Feb 2022 10:52:40 +0800 [thread overview]
Message-ID: <20220216025249.3459465-1-baolu.lu@linux.intel.com> (raw)
Hi,
The guest pasid and aux-domain related code are dead code in current
iommu subtree. As we have reached a consensus that all these features
should be based on the new iommufd framework (which is under active
development), the first part of this series removes and cleanups all
the dead code.
The second part of this series refactors the iommu_domain by moving all
domain specific ops from iommu_ops to a new iommu_domain_ops. This makes
iommu_domain self-contained and represent the abstraction of an I/O
translation table in the IOMMU subsystem. With different type of
iommu_domain providing different set of ops, it's easier to support more
types of I/O translation tables.
Please help to review and comment.
Best regards,
baolu
Change log:
v1: https://lore.kernel.org/linux-iommu/20220124071103.2097118-1-baolu.lu@linux.intel.com/
v2:
- https://lore.kernel.org/linux-iommu/20220208012559.1121729-1-baolu.lu@linux.intel.com/
- Remove apply_resv_region callback.
- Remove domain argument from is_attach_deferred callback.
- Convert all feasible instances of dev->bus->iommu_ops to dev_iommu_ops().
- Add the default_domain_ops (default iommu_domain_ops) in iommu_ops to
avoid big churn in dozens of iommu drivers.
- We discussed removing pgsize_bitmap in struct iommu_ops and
initialize the domain field in domain_alloc(). Considering that
domain_alloc() is being refactored, let's wait until the new domain_alloc()
comes.
- Various code/description refinement.
- This version of series is available on github:
https://github.com/LuBaolu/intel-iommu/commits/iommu-domain-ops-v2
v3:
- https://lore.kernel.org/linux-iommu/20220214015538.2828933-1-baolu.lu@linux.intel.com/
- Remove ops check when dev_iommu_ops() is used.
- This version of series is available on github:
https://github.com/LuBaolu/intel-iommu/commits/iommu-domain-ops-v3
v4:
- Remove WARN_ON() in dev_iommu_ops();
- Merge below two patches:
iommu: Use right way to retrieve iommu_ops
iommu: Use dev_iommu_ops() helper
- This version of series is available on github:
https://github.com/LuBaolu/intel-iommu/commits/iommu-domain-ops-v4
Lu Baolu (9):
iommu/vt-d: Remove guest pasid related callbacks
iommu: Remove guest pasid related interfaces and definitions
iommu/vt-d: Remove aux-domain related callbacks
iommu: Remove aux-domain related interfaces and iommu_ops
iommu: Remove apply_resv_region
drm/nouveau/device: Get right pgsize_bitmap of iommu_domain
iommu: Use right way to retrieve iommu_ops
iommu: Remove unused argument in is_attach_deferred
iommu: Split struct iommu_ops
include/linux/intel-iommu.h | 27 -
include/linux/intel-svm.h | 12 -
include/linux/iommu.h | 181 +++---
drivers/iommu/amd/amd_iommu.h | 3 +-
drivers/iommu/intel/pasid.h | 4 -
include/uapi/linux/iommu.h | 181 ------
.../drm/nouveau/nvkm/engine/device/tegra.c | 2 +-
drivers/iommu/amd/iommu.c | 23 +-
drivers/iommu/amd/iommu_v2.c | 2 +-
drivers/iommu/apple-dart.c | 20 +-
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 18 +-
drivers/iommu/arm/arm-smmu/arm-smmu.c | 20 +-
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 18 +-
drivers/iommu/exynos-iommu.c | 14 +-
drivers/iommu/fsl_pamu_domain.c | 10 +-
drivers/iommu/intel/debugfs.c | 3 +-
drivers/iommu/intel/iommu.c | 540 +-----------------
drivers/iommu/intel/pasid.c | 161 ------
drivers/iommu/intel/svm.c | 209 -------
drivers/iommu/iommu.c | 339 ++---------
drivers/iommu/ipmmu-vmsa.c | 18 +-
drivers/iommu/msm_iommu.c | 30 +-
drivers/iommu/mtk_iommu.c | 20 +-
drivers/iommu/mtk_iommu_v1.c | 14 +-
drivers/iommu/omap-iommu.c | 14 +-
drivers/iommu/rockchip-iommu.c | 14 +-
drivers/iommu/s390-iommu.c | 14 +-
drivers/iommu/sprd-iommu.c | 18 +-
drivers/iommu/sun50i-iommu.c | 18 +-
drivers/iommu/tegra-gart.c | 18 +-
drivers/iommu/tegra-smmu.c | 14 +-
drivers/iommu/virtio-iommu.c | 14 +-
32 files changed, 305 insertions(+), 1688 deletions(-)
--
2.25.1
next reply other threads:[~2022-02-16 2:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-16 2:52 Lu Baolu [this message]
2022-02-16 2:52 ` [PATCH v4 1/9] iommu/vt-d: Remove guest pasid related callbacks Lu Baolu
2022-02-16 2:52 ` [PATCH v4 2/9] iommu: Remove guest pasid related interfaces and definitions Lu Baolu
2022-02-16 2:52 ` [PATCH v4 3/9] iommu/vt-d: Remove aux-domain related callbacks Lu Baolu
2022-02-16 2:52 ` [PATCH v4 4/9] iommu: Remove aux-domain related interfaces and iommu_ops Lu Baolu
2022-02-16 2:52 ` [PATCH v4 5/9] iommu: Remove apply_resv_region Lu Baolu
2022-02-16 2:52 ` [PATCH v4 6/9] drm/nouveau/device: Get right pgsize_bitmap of iommu_domain Lu Baolu
2022-02-16 2:52 ` [PATCH v4 7/9] iommu: Use right way to retrieve iommu_ops Lu Baolu
2022-05-04 7:53 ` [bug] NULL pointer deref after 3f6634d997db ("iommu: Use right way to retrieve iommu_ops") Jan Stancek
2022-05-04 11:14 ` Robin Murphy
2022-05-04 11:53 ` Joerg Roedel
2022-05-04 12:08 ` Jan Stancek
2022-05-04 12:11 ` Jason Gunthorpe
2022-02-16 2:52 ` [PATCH v4 8/9] iommu: Remove unused argument in is_attach_deferred Lu Baolu
2022-03-30 14:00 ` Tony Lindgren
2022-03-30 14:23 ` Jason Gunthorpe
2022-03-30 17:19 ` Tony Lindgren
2022-03-30 17:33 ` Jason Gunthorpe
2022-03-31 6:25 ` Tony Lindgren
2022-03-31 6:40 ` Drew Fustini
2022-02-16 2:52 ` [PATCH v4 9/9] iommu: Split struct iommu_ops Lu Baolu
2022-02-28 12:26 ` [PATCH v4 0/9] iommu cleanup and refactoring Joerg Roedel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220216025249.3459465-1-baolu.lu@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=airlied@linux.ie \
--cc=alex.williamson@redhat.com \
--cc=ashok.raj@intel.com \
--cc=bskeggs@redhat.com \
--cc=daniel@ffwll.ch \
--cc=eric.auger@redhat.com \
--cc=hch@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=jacob.jun.pan@intel.com \
--cc=jgg@nvidia.com \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=thierry.reding@gmail.com \
--cc=will@kernel.org \
--cc=yi.l.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox