ACK: [PATCH][unstable][Artful][SRU Zesty] iommu/arm-smmu: Plumb in new ACPI identifiers
Stefan Bader
stefan.bader at canonical.com
Thu Jul 13 15:53:30 UTC 2017
On 12.07.2017 21:36, dann frazier wrote:
> From: Robin Murphy <robin.murphy at arm.com>
>
> BugLink: https://bugs.launchpad.net/bugs/1703437
>
> Revision C of IORT now allows us to identify ARM MMU-401 and the Cavium
> ThunderX implementation. Wire them up so that we can probe these models
> once firmware starts using the new codes in place of generic ones, and
> so that the appropriate features and quirks get enabled when we do.
>
> For the sake of backports and mitigating sychronisation problems with
> the ACPICA headers, we'll carry a backup copy of the new definitions
> locally for the short term to make life simpler.
>
> CC: stable at vger.kernel.org # 4.10
> Acked-by: Robert Richter <rrichter at cavium.com>
> Tested-by: Robert Richter <rrichter at cavium.com>
> Signed-off-by: Robin Murphy <robin.murphy at arm.com>
> Signed-off-by: Will Deacon <will.deacon at arm.com>
> (cherry picked from commit 84c24379a783c514e5ff7c8fc8a21cf8d64fd05f)
> Signed-off-by: dann frazier <dann.frazier at canonical.com>
Acked-by: Stefan Bader <stefan.bader at canonical.com>
> ---
> drivers/iommu/arm-smmu.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
> index e63d0e8b656c..9aee256fca84 100644
> --- a/drivers/iommu/arm-smmu.c
> +++ b/drivers/iommu/arm-smmu.c
> @@ -310,6 +310,14 @@ enum arm_smmu_implementation {
> CAVIUM_SMMUV2,
> };
>
> +/* Until ACPICA headers cover IORT rev. C */
> +#ifndef ACPI_IORT_SMMU_CORELINK_MMU401
> +#define ACPI_IORT_SMMU_CORELINK_MMU401 0x4
> +#endif
> +#ifndef ACPI_IORT_SMMU_CAVIUM_THUNDERX
> +#define ACPI_IORT_SMMU_CAVIUM_THUNDERX 0x5
> +#endif
> +
> struct arm_smmu_s2cr {
> struct iommu_group *group;
> int count;
> @@ -2011,6 +2019,10 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu)
> smmu->version = ARM_SMMU_V1;
> smmu->model = GENERIC_SMMU;
> break;
> + case ACPI_IORT_SMMU_CORELINK_MMU401:
> + smmu->version = ARM_SMMU_V1_64K;
> + smmu->model = GENERIC_SMMU;
> + break;
> case ACPI_IORT_SMMU_V2:
> smmu->version = ARM_SMMU_V2;
> smmu->model = GENERIC_SMMU;
> @@ -2019,6 +2031,10 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu)
> smmu->version = ARM_SMMU_V2;
> smmu->model = ARM_MMU500;
> break;
> + case ACPI_IORT_SMMU_CAVIUM_THUNDERX:
> + smmu->version = ARM_SMMU_V2;
> + smmu->model = CAVIUM_SMMUV2;
> + break;
> default:
> ret = -ENODEV;
> }
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20170713/293b56f7/attachment.sig>
More information about the kernel-team
mailing list