[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1740705776.git.nicolinc@nvidia.com>
Date: Thu, 27 Feb 2025 17:31:14 -0800
From: Nicolin Chen <nicolinc@...dia.com>
To: <jgg@...dia.com>, <kevin.tian@...el.com>, <robin.murphy@....com>,
<joro@...tes.org>, <will@...nel.org>
CC: <iommu@...ts.linux.dev>, <linux-kernel@...r.kernel.org>
Subject: [PATCH v2 0/4] iommu: Isolate iova_cookie to actual owners
Now, iommufd implements its own sw_msi function that does not touch the
domain->iova_cookie but domain->iommufd_hwpt, as a domain owner pointer.
Isolate the iova_cookie from iommufd by putting it into the union where
the iommufd_hwpt is located.
This requires a set of preparations for iommu core to know what module
owns the domain private data. Since there are only two implementations
of the sw_msi function pointer, take an easier approach by calling the
two implementations directly according to a new private_data_owner tag.
This is a clean-up series for the sw_msi Part-1 core series, prior to
the Part-2/3 series. It's on github:
https://github.com/nicolinc/iommufd/commits/iommufd_msi_cleanup-v2
Changelog
v2
* Drop sw_msi function pointer
* Add a new private_data_owner tag in iommu_domain
* Let iommu core call the two sw_msi implementations directly
v1
https://lore.kernel.org/all/cover.1740600272.git.nicolinc@nvidia.com/
Thanks
Nicolin
Nicolin Chen (4):
iommu: Add private_data_owner to iommu_domain
iommufd: Move iommufd_sw_msi and related functions to driver.c
iommu: Drop sw_msi from iommu_domain
iommu: Turn iova_cookie to dma-iommu private pointer
drivers/iommu/dma-iommu.h | 9 ++
drivers/iommu/iommufd/iommufd_private.h | 5 +-
include/linux/iommu.h | 24 ++---
include/linux/iommufd.h | 9 ++
drivers/iommu/dma-iommu.c | 18 ++--
drivers/iommu/iommu.c | 16 ++-
drivers/iommu/iommufd/device.c | 122 -----------------------
drivers/iommu/iommufd/driver.c | 124 ++++++++++++++++++++++++
drivers/iommu/iommufd/hw_pagetable.c | 6 +-
9 files changed, 176 insertions(+), 157 deletions(-)
base-commit: 598749522d4254afb33b8a6c1bea614a95896868
--
2.43.0
Powered by blists - more mailing lists