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