iommu/arm-smmu-qcom: Request direct mapping for modem device
authorSibi Sankar <sibis@codeaurora.org>
Mon, 11 May 2020 17:55:32 +0000 (23:25 +0530)
committerWill Deacon <will@kernel.org>
Mon, 18 May 2020 14:35:06 +0000 (15:35 +0100)
The modem remote processor has two access paths to DDR. One path is
directly connected to DDR and another path goes through an SMMU. The
SMMU path is configured to be a direct mapping because it's used by
various peripherals in the modem subsystem. Typically this direct
mapping is configured statically at EL2 by QHEE (Qualcomm's Hypervisor
Execution Environment) before the kernel is entered.

In certain firmware configuration, especially when the kernel is already
in full control of the SMMU, defer programming the modem SIDs to the
kernel. Let's add compatibles here so that we can have the kernel
program the SIDs for the modem in these cases.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20200511175532.25874-1-sibis@codeaurora.org
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu-qcom.c

index 5bedf21..cf01d02 100644 (file)
@@ -17,7 +17,9 @@ static const struct of_device_id qcom_smmu_client_of_match[] = {
        { .compatible = "qcom,mdp4" },
        { .compatible = "qcom,mdss" },
        { .compatible = "qcom,sc7180-mdss" },
+       { .compatible = "qcom,sc7180-mss-pil" },
        { .compatible = "qcom,sdm845-mdss" },
+       { .compatible = "qcom,sdm845-mss-pil" },
        { }
 };