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 5bedf21587a56504209a0fc5dfc7e41cc46728c6..cf01d0215a3974c3c2a912eef8183911e5e82b64 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" },
        { }
 };