]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iommu/arm-smmu-qcom: Add actlr settings for mdss on Qualcomm platforms
authorCharan Teja Kalla <charan.kalla@oss.qualcomm.com>
Tue, 9 Dec 2025 05:23:23 +0000 (10:53 +0530)
committerWill Deacon <will@kernel.org>
Mon, 5 Jan 2026 21:33:52 +0000 (21:33 +0000)
Add ACTLR settings for missing MDSS devices on Qualcomm platforms.

These are QoS settings and are specific to per SoC thus different
settings, eg: some have shallow prefetch while others have no
prefetch.

Aswell, this prefetch feature is not implemented for all the
platforms, capturing to those are implemented to the best of my
knowledge.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c

index 573085349df34f79aeb800c2f617ff77e6b03da7..456d5146831e8104aaf8744d2bda52d57eb5fe07 100644 (file)
@@ -41,12 +41,38 @@ static const struct of_device_id qcom_smmu_actlr_client_of_match[] = {
                        .data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
        { .compatible = "qcom,fastrpc",
                        .data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
+       { .compatible = "qcom,qcm2290-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
        { .compatible = "qcom,sc7280-mdss",
                        .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
        { .compatible = "qcom,sc7280-venus",
                        .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sc8180x-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sc8280xp-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm6115-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm6125-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm6350-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm8150-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm8250-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm8350-mdss",
+                       .data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
+       { .compatible = "qcom,sm8450-mdss",
+                       .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
        { .compatible = "qcom,sm8550-mdss",
                        .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
+       { .compatible = "qcom,sm8650-mdss",
+                       .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
+       { .compatible = "qcom,sm8750-mdss",
+                       .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
+       { .compatible = "qcom,x1e80100-mdss",
+                       .data = (const void *) (PREFETCH_DEFAULT | CMTLB) },
        { }
 };