From: Sasha Levin Date: Mon, 4 Dec 2023 19:50:21 +0000 (-0500) Subject: Drop iommu-vt-d-allocate-pasid-table-in-device-probe-path.patch-8635 X-Git-Tag: v4.14.332~23^2~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=14024c011fcddb8d1deedb5de94d5250b94b8256;p=thirdparty%2Fkernel%2Fstable-queue.git Drop iommu-vt-d-allocate-pasid-table-in-device-probe-path.patch-8635 Signed-off-by: Sasha Levin --- diff --git a/queue-6.1/iommu-vt-d-allocate-pasid-table-in-device-probe-path.patch-8635 b/queue-6.1/iommu-vt-d-allocate-pasid-table-in-device-probe-path.patch-8635 deleted file mode 100644 index b69f9e40394..00000000000 --- a/queue-6.1/iommu-vt-d-allocate-pasid-table-in-device-probe-path.patch-8635 +++ /dev/null @@ -1,86 +0,0 @@ -From 9bca0c9bf6f44644f491b0bdf313086fc144a0fa Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 22 Nov 2022 08:29:43 +0800 -Subject: iommu/vt-d: Allocate pasid table in device probe path - -From: Lu Baolu - -[ Upstream commit ec62b4424174f41bdcedd08d12d7bed80088453d ] - -Whether or not a domain is attached to the device, the pasid table should -always be valid as long as it has been probed. This moves the pasid table -allocation from the domain attaching device path to device probe path and -frees it in the device release path. - -Signed-off-by: Lu Baolu -Reviewed-by: Kevin Tian -Link: https://lore.kernel.org/r/20221118132451.114406-2-baolu.lu@linux.intel.com -Signed-off-by: Joerg Roedel -Stable-dep-of: da37dddcf4ca ("iommu/vt-d: Disable PCI ATS in legacy passthrough mode") -Signed-off-by: Sasha Levin ---- - drivers/iommu/intel/iommu.c | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c -index bd34fcc5a5274..3dbf86c61f073 100644 ---- a/drivers/iommu/intel/iommu.c -+++ b/drivers/iommu/intel/iommu.c -@@ -2494,13 +2494,6 @@ static int domain_add_dev_info(struct dmar_domain *domain, struct device *dev) - - /* PASID table is mandatory for a PCI device in scalable mode. */ - if (sm_supported(iommu) && !dev_is_real_dma_subdevice(dev)) { -- ret = intel_pasid_alloc_table(dev); -- if (ret) { -- dev_err(dev, "PASID table allocation failed\n"); -- dmar_remove_one_dev_info(dev); -- return ret; -- } -- - /* Setup the PASID entry for requests without PASID: */ - if (hw_pass_through && domain_type_is_si(domain)) - ret = intel_pasid_setup_pass_through(iommu, domain, -@@ -4112,7 +4105,6 @@ static void dmar_remove_one_dev_info(struct device *dev) - - iommu_disable_dev_iotlb(info); - domain_context_clear(info); -- intel_pasid_free_table(info->dev); - } - - spin_lock_irqsave(&domain->lock, flags); -@@ -4477,6 +4469,7 @@ static struct iommu_device *intel_iommu_probe_device(struct device *dev) - struct device_domain_info *info; - struct intel_iommu *iommu; - u8 bus, devfn; -+ int ret; - - iommu = device_to_iommu(dev, &bus, &devfn); - if (!iommu || !iommu->iommu.ops) -@@ -4521,6 +4514,16 @@ static struct iommu_device *intel_iommu_probe_device(struct device *dev) - - dev_iommu_priv_set(dev, info); - -+ if (sm_supported(iommu) && !dev_is_real_dma_subdevice(dev)) { -+ ret = intel_pasid_alloc_table(dev); -+ if (ret) { -+ dev_err(dev, "PASID table allocation failed\n"); -+ dev_iommu_priv_set(dev, NULL); -+ kfree(info); -+ return ERR_PTR(ret); -+ } -+ } -+ - return &iommu->iommu; - } - -@@ -4529,6 +4532,7 @@ static void intel_iommu_release_device(struct device *dev) - struct device_domain_info *info = dev_iommu_priv_get(dev); - - dmar_remove_one_dev_info(dev); -+ intel_pasid_free_table(dev); - dev_iommu_priv_set(dev, NULL); - kfree(info); - set_dma_ops(dev, NULL); --- -2.42.0 - diff --git a/queue-6.1/series b/queue-6.1/series index faafa6d7297..b3752d0aa67 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -92,7 +92,6 @@ iommu-vt-d-add-device_block_translation-helper.patch iommu-vt-d-disable-pci-ats-in-legacy-passthrough-mod.patch iommu-vt-d-make-context-clearing-consistent-with-con.patch drm-amd-pm-fix-a-memleak-in-aldebaran_tables_init.patch -iommu-vt-d-allocate-pasid-table-in-device-probe-path.patch-8635 iommu-vt-d-add-device_block_translation-helper.patch-1231 iommu-vt-d-disable-pci-ats-in-legacy-passthrough-mod.patch-15652 iommu-vt-d-make-context-clearing-consistent-with-con.patch-12070