lkml.org 
[lkml]   [2019]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 129/258] iommu/arm-smmu: Add support for qcom,smmu-v2 variant
    Date
    From: Vivek Gautam <vivek.gautam@codeaurora.org>

    [ Upstream commit 89cddc563743cb1e0068867ac97013b2a5bf86aa ]

    qcom,smmu-v2 is an arm,smmu-v2 implementation with specific
    clock and power requirements.
    On msm8996, multiple cores, viz. mdss, video, etc. use this
    smmu. On sdm845, this smmu is used with gpu.
    Add bindings for the same.

    Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Reviewed-by: Tomasz Figa <tfiga@chromium.org>
    Tested-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Reviewed-by: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/iommu/arm-smmu.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
    index e7cbf4fcf61d..ce119cb279c3 100644
    --- a/drivers/iommu/arm-smmu.c
    +++ b/drivers/iommu/arm-smmu.c
    @@ -118,6 +118,7 @@ enum arm_smmu_implementation {
    GENERIC_SMMU,
    ARM_MMU500,
    CAVIUM_SMMUV2,
    + QCOM_SMMUV2,
    };

    struct arm_smmu_s2cr {
    @@ -1912,6 +1913,7 @@ ARM_SMMU_MATCH_DATA(smmu_generic_v2, ARM_SMMU_V2, GENERIC_SMMU);
    ARM_SMMU_MATCH_DATA(arm_mmu401, ARM_SMMU_V1_64K, GENERIC_SMMU);
    ARM_SMMU_MATCH_DATA(arm_mmu500, ARM_SMMU_V2, ARM_MMU500);
    ARM_SMMU_MATCH_DATA(cavium_smmuv2, ARM_SMMU_V2, CAVIUM_SMMUV2);
    +ARM_SMMU_MATCH_DATA(qcom_smmuv2, ARM_SMMU_V2, QCOM_SMMUV2);

    static const struct of_device_id arm_smmu_of_match[] = {
    { .compatible = "arm,smmu-v1", .data = &smmu_generic_v1 },
    @@ -1920,6 +1922,7 @@ static const struct of_device_id arm_smmu_of_match[] = {
    { .compatible = "arm,mmu-401", .data = &arm_mmu401 },
    { .compatible = "arm,mmu-500", .data = &arm_mmu500 },
    { .compatible = "cavium,smmu-v2", .data = &cavium_smmuv2 },
    + { .compatible = "qcom,smmu-v2", .data = &qcom_smmuv2 },
    { },
    };
    MODULE_DEVICE_TABLE(of, arm_smmu_of_match);
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-01-28 18:18    [W:4.212 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site