Patch "iommu/arm-smmu-v3: Add explicit feature for nesting" has been added to the 5.15-stable tree

gregkh at linuxfoundation.org gregkh at linuxfoundation.org
Fri Aug 4 04:19:45 PDT 2023


This is a note to let you know that I've just added the patch titled

    iommu/arm-smmu-v3: Add explicit feature for nesting

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     iommu-arm-smmu-v3-add-explicit-feature-for-nesting.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable at vger.kernel.org> know about it.


>From stable-owner at vger.kernel.org Wed Aug  2 19:02:51 2023
From: Easwar Hariharan <eahariha at linux.microsoft.com>
Date: Wed,  2 Aug 2023 17:02:26 +0000
Subject: iommu/arm-smmu-v3: Add explicit feature for nesting
To: stable at vger.kernel.org
Cc: easwar.hariharan at microsoft.com, Robin Murphy <robin.murphy at arm.com>, Nicolin Chen <nicolinc at nvidia.com>, Will Deacon <will at kernel.org>, Joerg Roedel <joro at 8bytes.org>, Sasha Levin <sashal at kernel.org>, Tomas Krcka <krckatom at amazon.de>, Yicong Yang <yangyicong at hisilicon.com>, linux-arm-kernel at lists.infradead.org (moderated list:ARM SMMU DRIVERS), iommu at lists.linux-foundation.org (open list:IOMMU DRIVERS), iommu at lists.linux.dev (open list:IOMMU DRIVERS), linux-kernel at vger.kernel.org (open list)
Message-ID: <20230802170227.1590187-6-eahariha at linux.microsoft.com>

From: Robin Murphy <robin.murphy at arm.com>

commit 1d9777b9f3d55b4b6faf186ba4f1d6fb560c0523 upstream

In certain cases we may want to refuse to allow nested translation even
when both stages are implemented, so let's add an explicit feature for
nesting support which we can control in its own right. For now this
merely serves as documentation, but it means a nice convenient check
will be ready and waiting for the future nesting code.

Signed-off-by: Robin Murphy <robin.murphy at arm.com>
Reviewed-by: Nicolin Chen <nicolinc at nvidia.com>
Link: https://lore.kernel.org/r/136c3f4a3a84cc14a5a1978ace57dfd3ed67b688.1683731256.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will at kernel.org>
Signed-off-by: Easwar Hariharan <eahariha at linux.microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c |    4 ++++
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h |    1 +
 2 files changed, 5 insertions(+)

--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
@@ -3703,6 +3703,10 @@ static int arm_smmu_device_hw_probe(stru
 
 	smmu->ias = max(smmu->ias, smmu->oas);
 
+	if ((smmu->features & ARM_SMMU_FEAT_TRANS_S1) &&
+	    (smmu->features & ARM_SMMU_FEAT_TRANS_S2))
+		smmu->features |= ARM_SMMU_FEAT_NESTING;
+
 	arm_smmu_device_iidr_probe(smmu);
 
 	if (arm_smmu_sva_supported(smmu))
--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
@@ -646,6 +646,7 @@ struct arm_smmu_device {
 #define ARM_SMMU_FEAT_BTM		(1 << 16)
 #define ARM_SMMU_FEAT_SVA		(1 << 17)
 #define ARM_SMMU_FEAT_E2H		(1 << 18)
+#define ARM_SMMU_FEAT_NESTING		(1 << 19)
 	u32				features;
 
 #define ARM_SMMU_OPT_SKIP_PREFETCH	(1 << 0)


Patches currently in stable-queue which might be from stable-owner at vger.kernel.org are

queue-5.15/arm64-errata-add-workaround-for-tsb-flush-failures.patch
queue-5.15/iommu-arm-smmu-v3-document-nesting-related-errata.patch
queue-5.15/iommu-arm-smmu-v3-add-explicit-feature-for-nesting.patch
queue-5.15/arm64-errata-add-detection-for-trbe-write-to-out-of-range.patch
queue-5.15/iommu-arm-smmu-v3-document-mmu-700-erratum-2812531.patch
queue-5.15/iommu-arm-smmu-v3-work-around-mmu-600-erratum-1076982.patch



More information about the linux-arm-kernel mailing list