linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping
@ 2020-04-20 18:33 Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 1/6] iommu: arm-smmu-impl: Convert to a generic reset implementation Sai Prakash Ranjan
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan

This series allows DRM, Modem devices to set a default
identity mapping in qcom smmu implementation.

Patch 1 is cleanup to support other SoCs to call into
QCOM specific  implementation.
Patch 2 sets the default identity domain for DRM devices.
Patch 3 implements def_domain_type callback for arm-smmu.
Patch 4 sets the default identity domain for modem device.
Patch 5-6 adds the iommus property for mss pil.

This is based on Joerg's tree:
 - https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/log/?h=iommu-probe-device-v2

v4:
 * Updated commit msg for mss pil requesting direct mapping

v3:
 * Use arm_smmu_master_cfg to get impl instead of long way as per Robin.
 * Use def_domain_type name for the callback in arm_smmu_imp as per Robin

Jordan Crouse (1):
  iommu/arm-smmu: Allow client devices to select direct mapping

Sai Prakash Ranjan (2):
  iommu: arm-smmu-impl: Convert to a generic reset implementation
  iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back

Sibi Sankar (3):
  iommu/arm-smmu-qcom: Request direct mapping for modem device
  dt-bindings: remoteproc: qcom: Add iommus property
  arm64: dts: qcom: sdm845-cheza: Add iommus property

 .../bindings/remoteproc/qcom,q6v5.txt         |  3 ++
 arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi    |  5 +++
 drivers/iommu/arm-smmu-impl.c                 |  8 ++--
 drivers/iommu/arm-smmu-qcom.c                 | 37 +++++++++++++++++--
 drivers/iommu/arm-smmu.c                      | 12 ++++++
 drivers/iommu/arm-smmu.h                      |  1 +
 6 files changed, 60 insertions(+), 6 deletions(-)

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCHv4 1/6] iommu: arm-smmu-impl: Convert to a generic reset implementation
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
@ 2020-04-20 18:33 ` Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 2/6] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back Sai Prakash Ranjan
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan

Currently the QCOM specific smmu reset implementation is very
specific to SDM845 SoC and has a wait-for-safe logic which
may not be required for other SoCs. So move the SDM845 specific
logic to its specific reset function. Also add SC7180 SMMU
compatible for calling into QCOM specific implementation.

Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/iommu/arm-smmu-impl.c |  8 +++++---
 drivers/iommu/arm-smmu-qcom.c | 16 +++++++++++++---
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/drivers/iommu/arm-smmu-impl.c b/drivers/iommu/arm-smmu-impl.c
index 74d97a886e93..c75b9d957b70 100644
--- a/drivers/iommu/arm-smmu-impl.c
+++ b/drivers/iommu/arm-smmu-impl.c
@@ -150,6 +150,8 @@ static const struct arm_smmu_impl arm_mmu500_impl = {
 
 struct arm_smmu_device *arm_smmu_impl_init(struct arm_smmu_device *smmu)
 {
+	const struct device_node *np = smmu->dev->of_node;
+
 	/*
 	 * We will inevitably have to combine model-specific implementation
 	 * quirks with platform-specific integration quirks, but everything
@@ -166,11 +168,11 @@ struct arm_smmu_device *arm_smmu_impl_init(struct arm_smmu_device *smmu)
 		break;
 	}
 
-	if (of_property_read_bool(smmu->dev->of_node,
-				  "calxeda,smmu-secure-config-access"))
+	if (of_property_read_bool(np, "calxeda,smmu-secure-config-access"))
 		smmu->impl = &calxeda_impl;
 
-	if (of_device_is_compatible(smmu->dev->of_node, "qcom,sdm845-smmu-500"))
+	if (of_device_is_compatible(np, "qcom,sdm845-smmu-500") ||
+	    of_device_is_compatible(np, "qcom,sc7180-smmu-500"))
 		return qcom_smmu_impl_init(smmu);
 
 	return smmu;
diff --git a/drivers/iommu/arm-smmu-qcom.c b/drivers/iommu/arm-smmu-qcom.c
index 24c071c1d8b0..64a4ab270ab7 100644
--- a/drivers/iommu/arm-smmu-qcom.c
+++ b/drivers/iommu/arm-smmu-qcom.c
@@ -15,8 +15,6 @@ static int qcom_sdm845_smmu500_reset(struct arm_smmu_device *smmu)
 {
 	int ret;
 
-	arm_mmu500_reset(smmu);
-
 	/*
 	 * To address performance degradation in non-real time clients,
 	 * such as USB and UFS, turn off wait-for-safe on sdm845 based boards,
@@ -30,8 +28,20 @@ static int qcom_sdm845_smmu500_reset(struct arm_smmu_device *smmu)
 	return ret;
 }
 
+static int qcom_smmu500_reset(struct arm_smmu_device *smmu)
+{
+	const struct device_node *np = smmu->dev->of_node;
+
+	arm_mmu500_reset(smmu);
+
+	if (of_device_is_compatible(np, "qcom,sdm845-smmu-500"))
+		return qcom_sdm845_smmu500_reset(smmu);
+
+	return 0;
+}
+
 static const struct arm_smmu_impl qcom_smmu_impl = {
-	.reset = qcom_sdm845_smmu500_reset,
+	.reset = qcom_smmu500_reset,
 };
 
 struct arm_smmu_device *qcom_smmu_impl_init(struct arm_smmu_device *smmu)
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCHv4 2/6] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 1/6] iommu: arm-smmu-impl: Convert to a generic reset implementation Sai Prakash Ranjan
@ 2020-04-20 18:33 ` Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 3/6] iommu/arm-smmu: Allow client devices to select direct mapping Sai Prakash Ranjan
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan

Implement the new def_domain_type call-back for the ARM
SMMU driver. We need this to support requesting the domain
type by the client devices.

Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/iommu/arm-smmu.c | 12 ++++++++++++
 drivers/iommu/arm-smmu.h |  1 +
 2 files changed, 13 insertions(+)

diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index e622f4e33379..b345a86085ce 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -1609,6 +1609,17 @@ static void arm_smmu_get_resv_regions(struct device *dev,
 	iommu_dma_get_resv_regions(dev, head);
 }
 
+static int arm_smmu_def_domain_type(struct device *dev)
+{
+	struct arm_smmu_master_cfg *cfg = dev_iommu_priv_get(dev);
+	const struct arm_smmu_impl *impl = cfg->smmu->impl;
+
+	if (impl && impl->def_domain_type)
+		return impl->def_domain_type(dev);
+
+	return 0;
+}
+
 static struct iommu_ops arm_smmu_ops = {
 	.capable		= arm_smmu_capable,
 	.domain_alloc		= arm_smmu_domain_alloc,
@@ -1627,6 +1638,7 @@ static struct iommu_ops arm_smmu_ops = {
 	.of_xlate		= arm_smmu_of_xlate,
 	.get_resv_regions	= arm_smmu_get_resv_regions,
 	.put_resv_regions	= generic_iommu_put_resv_regions,
+	.def_domain_type	= arm_smmu_def_domain_type,
 	.pgsize_bitmap		= -1UL, /* Restricted during device attach */
 };
 
diff --git a/drivers/iommu/arm-smmu.h b/drivers/iommu/arm-smmu.h
index 8d1cd54d82a6..d172c024be61 100644
--- a/drivers/iommu/arm-smmu.h
+++ b/drivers/iommu/arm-smmu.h
@@ -386,6 +386,7 @@ struct arm_smmu_impl {
 	int (*init_context)(struct arm_smmu_domain *smmu_domain);
 	void (*tlb_sync)(struct arm_smmu_device *smmu, int page, int sync,
 			 int status);
+	int (*def_domain_type)(struct device *dev);
 };
 
 static inline void __iomem *arm_smmu_page(struct arm_smmu_device *smmu, int n)
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCHv4 3/6] iommu/arm-smmu: Allow client devices to select direct mapping
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 1/6] iommu: arm-smmu-impl: Convert to a generic reset implementation Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 2/6] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back Sai Prakash Ranjan
@ 2020-04-20 18:33 ` Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device Sai Prakash Ranjan
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan

From: Jordan Crouse <jcrouse@codeaurora.org>

Some client devices want to directly map the IOMMU themselves instead
of using the DMA domain. Allow those devices to opt in to direct
mapping by way of a list of compatible strings.

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Co-developed-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/iommu/arm-smmu-qcom.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/iommu/arm-smmu-qcom.c b/drivers/iommu/arm-smmu-qcom.c
index 64a4ab270ab7..5bedf21587a5 100644
--- a/drivers/iommu/arm-smmu-qcom.c
+++ b/drivers/iommu/arm-smmu-qcom.c
@@ -3,6 +3,7 @@
  * Copyright (c) 2019, The Linux Foundation. All rights reserved.
  */
 
+#include <linux/of_device.h>
 #include <linux/qcom_scm.h>
 
 #include "arm-smmu.h"
@@ -11,6 +12,23 @@ struct qcom_smmu {
 	struct arm_smmu_device smmu;
 };
 
+static const struct of_device_id qcom_smmu_client_of_match[] = {
+	{ .compatible = "qcom,adreno" },
+	{ .compatible = "qcom,mdp4" },
+	{ .compatible = "qcom,mdss" },
+	{ .compatible = "qcom,sc7180-mdss" },
+	{ .compatible = "qcom,sdm845-mdss" },
+	{ }
+};
+
+static int qcom_smmu_def_domain_type(struct device *dev)
+{
+	const struct of_device_id *match =
+		of_match_device(qcom_smmu_client_of_match, dev);
+
+	return match ? IOMMU_DOMAIN_IDENTITY : 0;
+}
+
 static int qcom_sdm845_smmu500_reset(struct arm_smmu_device *smmu)
 {
 	int ret;
@@ -41,6 +59,7 @@ static int qcom_smmu500_reset(struct arm_smmu_device *smmu)
 }
 
 static const struct arm_smmu_impl qcom_smmu_impl = {
+	.def_domain_type = qcom_smmu_def_domain_type,
 	.reset = qcom_smmu500_reset,
 };
 
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
                   ` (2 preceding siblings ...)
  2020-04-20 18:33 ` [PATCHv4 3/6] iommu/arm-smmu: Allow client devices to select direct mapping Sai Prakash Ranjan
@ 2020-04-20 18:33 ` Sai Prakash Ranjan
  2020-05-07 13:02   ` Will Deacon
  2020-04-20 18:33 ` [PATCHv4 5/6] dt-bindings: remoteproc: qcom: Add iommus property Sai Prakash Ranjan
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan

From: Sibi Sankar <sibis@codeaurora.org>

The Q6 modem sub-system has direct access to DDR through memnoc.
Also SMMU is not expected to provide access control/translation
for these SIDs (sandboxing of the modem is achieved through XPUs
engaged using SMC calls). So request direct mapping for modem on
platforms which don't have TrustZone.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
---
 drivers/iommu/arm-smmu-qcom.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/iommu/arm-smmu-qcom.c b/drivers/iommu/arm-smmu-qcom.c
index 5bedf21587a5..cf01d0215a39 100644
--- a/drivers/iommu/arm-smmu-qcom.c
+++ b/drivers/iommu/arm-smmu-qcom.c
@@ -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" },
 	{ }
 };
 
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCHv4 5/6] dt-bindings: remoteproc: qcom: Add iommus property
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
                   ` (3 preceding siblings ...)
  2020-04-20 18:33 ` [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device Sai Prakash Ranjan
@ 2020-04-20 18:33 ` Sai Prakash Ranjan
  2020-04-20 18:33 ` [PATCHv4 6/6] arm64: dts: qcom: sdm845-cheza: " Sai Prakash Ranjan
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan,
	Rob Herring

From: Sibi Sankar <sibis@codeaurora.org>

Add iommus property to allow Q6 modem to boot on platforms which do
not have trustZone.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Acked-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
index 88dfa3fc15f7..130e50aab741 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
@@ -184,6 +184,9 @@ For the compatible strings below the following phandle references are required:
 		    followed by the offset within syscon for conn_box_spare0
 		    register.
 
+The Hexagon node must contain iommus property as described in ../iommu/iommu.txt
+on platforms which do not have TrustZone.
+
 = SUBNODES:
 The Hexagon node must contain two subnodes, named "mba" and "mpss" representing
 the memory regions used by the Hexagon firmware. Each sub-node must contain:
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCHv4 6/6] arm64: dts: qcom: sdm845-cheza: Add iommus property
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
                   ` (4 preceding siblings ...)
  2020-04-20 18:33 ` [PATCHv4 5/6] dt-bindings: remoteproc: qcom: Add iommus property Sai Prakash Ranjan
@ 2020-04-20 18:33 ` Sai Prakash Ranjan
  2020-05-07 10:28 ` [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
  2020-05-07 14:04 ` Will Deacon
  7 siblings, 0 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-04-20 18:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green, Sai Prakash Ranjan

From: Sibi Sankar <sibis@codeaurora.org>

Add iommus property to remoteproc modem node.

Following SMMU global faults are seen without it.

arm-smmu 15000000.iommu: Unexpected global fault, this could be serious
arm-smmu 15000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000000,
                         GFSYNR1 0x00000781, GFSYNR2 0x00000000

arm-smmu 15000000.iommu: Unexpected global fault, this could be serious
arm-smmu 15000000.iommu: GFSR 0x80000002, GFSYNR0 0x00000000,
                         GFSYNR1 0x00000461, GFSYNR2 0x00000000

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
---
 arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi b/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
index 9070be43a309..07081da2c83e 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
@@ -631,6 +631,11 @@ ap_ts_i2c: &i2c14 {
 	status = "okay";
 };
 
+&mss_pil {
+	iommus = <&apps_smmu 0x780 0x1>,
+		 <&apps_smmu 0x724 0x3>;
+};
+
 &pm8998_pwrkey {
 	status = "disabled";
 };
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
                   ` (5 preceding siblings ...)
  2020-04-20 18:33 ` [PATCHv4 6/6] arm64: dts: qcom: sdm845-cheza: " Sai Prakash Ranjan
@ 2020-05-07 10:28 ` Sai Prakash Ranjan
  2020-05-07 10:31   ` Will Deacon
  2020-05-07 14:04 ` Will Deacon
  7 siblings, 1 reply; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-05-07 10:28 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel, Sibi Sankar,
	Bjorn Andersson, Jordan Crouse, Rob Clark, jroedel
  Cc: Stephen Boyd, iommu, linux-arm-kernel, linux-kernel,
	linux-arm-msm, Matthias Kaehlcke, Evan Green,
	linux-arm-msm-owner

Hi Will, Joerg

On 2020-04-21 00:03, Sai Prakash Ranjan wrote:
> This series allows DRM, Modem devices to set a default
> identity mapping in qcom smmu implementation.
> 
> Patch 1 is cleanup to support other SoCs to call into
> QCOM specific  implementation.
> Patch 2 sets the default identity domain for DRM devices.
> Patch 3 implements def_domain_type callback for arm-smmu.
> Patch 4 sets the default identity domain for modem device.
> Patch 5-6 adds the iommus property for mss pil.
> 
> This is based on Joerg's tree:
>  -
> https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/log/?h=iommu-probe-device-v2
> 
> v4:
>  * Updated commit msg for mss pil requesting direct mapping
> 
> v3:
>  * Use arm_smmu_master_cfg to get impl instead of long way as per 
> Robin.
>  * Use def_domain_type name for the callback in arm_smmu_imp as per 
> Robin
> 
> Jordan Crouse (1):
>   iommu/arm-smmu: Allow client devices to select direct mapping
> 
> Sai Prakash Ranjan (2):
>   iommu: arm-smmu-impl: Convert to a generic reset implementation
>   iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back
> 
> Sibi Sankar (3):
>   iommu/arm-smmu-qcom: Request direct mapping for modem device
>   dt-bindings: remoteproc: qcom: Add iommus property
>   arm64: dts: qcom: sdm845-cheza: Add iommus property
> 
>  .../bindings/remoteproc/qcom,q6v5.txt         |  3 ++
>  arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi    |  5 +++
>  drivers/iommu/arm-smmu-impl.c                 |  8 ++--
>  drivers/iommu/arm-smmu-qcom.c                 | 37 +++++++++++++++++--
>  drivers/iommu/arm-smmu.c                      | 12 ++++++
>  drivers/iommu/arm-smmu.h                      |  1 +
>  6 files changed, 60 insertions(+), 6 deletions(-)

This series is reviewed by Robin.
Any chance this series can make it to 5.8?

Thanks,
Sai
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping
  2020-05-07 10:28 ` [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
@ 2020-05-07 10:31   ` Will Deacon
  2020-05-07 11:08     ` Sai Prakash Ranjan
  0 siblings, 1 reply; 14+ messages in thread
From: Will Deacon @ 2020-05-07 10:31 UTC (permalink / raw)
  To: Sai Prakash Ranjan
  Cc: Robin Murphy, Joerg Roedel, Sibi Sankar, Bjorn Andersson,
	Jordan Crouse, Rob Clark, jroedel, Stephen Boyd, iommu,
	linux-arm-kernel, linux-kernel, linux-arm-msm, Matthias Kaehlcke,
	Evan Green, linux-arm-msm-owner

On Thu, May 07, 2020 at 03:58:06PM +0530, Sai Prakash Ranjan wrote:
> Hi Will, Joerg
> 
> On 2020-04-21 00:03, Sai Prakash Ranjan wrote:
> > This series allows DRM, Modem devices to set a default
> > identity mapping in qcom smmu implementation.
> > 
> > Patch 1 is cleanup to support other SoCs to call into
> > QCOM specific  implementation.
> > Patch 2 sets the default identity domain for DRM devices.
> > Patch 3 implements def_domain_type callback for arm-smmu.
> > Patch 4 sets the default identity domain for modem device.
> > Patch 5-6 adds the iommus property for mss pil.
> > 
> > This is based on Joerg's tree:
> >  -
> > https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/log/?h=iommu-probe-device-v2
> > 
> > v4:
> >  * Updated commit msg for mss pil requesting direct mapping
> > 
> > v3:
> >  * Use arm_smmu_master_cfg to get impl instead of long way as per Robin.
> >  * Use def_domain_type name for the callback in arm_smmu_imp as per
> > Robin
> > 
> > Jordan Crouse (1):
> >   iommu/arm-smmu: Allow client devices to select direct mapping
> > 
> > Sai Prakash Ranjan (2):
> >   iommu: arm-smmu-impl: Convert to a generic reset implementation
> >   iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back
> > 
> > Sibi Sankar (3):
> >   iommu/arm-smmu-qcom: Request direct mapping for modem device
> >   dt-bindings: remoteproc: qcom: Add iommus property
> >   arm64: dts: qcom: sdm845-cheza: Add iommus property
> > 
> >  .../bindings/remoteproc/qcom,q6v5.txt         |  3 ++
> >  arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi    |  5 +++
> >  drivers/iommu/arm-smmu-impl.c                 |  8 ++--
> >  drivers/iommu/arm-smmu-qcom.c                 | 37 +++++++++++++++++--
> >  drivers/iommu/arm-smmu.c                      | 12 ++++++
> >  drivers/iommu/arm-smmu.h                      |  1 +
> >  6 files changed, 60 insertions(+), 6 deletions(-)
> 
> This series is reviewed by Robin.
> Any chance this series can make it to 5.8?

I'm planning to queue smmu stuff next week, been busy with arm64 stuff
so far, sorry.

Will

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping
  2020-05-07 10:31   ` Will Deacon
@ 2020-05-07 11:08     ` Sai Prakash Ranjan
  0 siblings, 0 replies; 14+ messages in thread
From: Sai Prakash Ranjan @ 2020-05-07 11:08 UTC (permalink / raw)
  To: Will Deacon
  Cc: Robin Murphy, Joerg Roedel, Sibi Sankar, Bjorn Andersson,
	Jordan Crouse, Rob Clark, jroedel, Stephen Boyd, iommu,
	linux-arm-kernel, linux-kernel, linux-arm-msm, Matthias Kaehlcke,
	Evan Green, linux-arm-msm-owner

Hi Will,

On 2020-05-07 16:01, Will Deacon wrote:
> On Thu, May 07, 2020 at 03:58:06PM +0530, Sai Prakash Ranjan wrote:
>> Hi Will, Joerg
>> 
>> On 2020-04-21 00:03, Sai Prakash Ranjan wrote:
>> > This series allows DRM, Modem devices to set a default
>> > identity mapping in qcom smmu implementation.
>> >
>> > Patch 1 is cleanup to support other SoCs to call into
>> > QCOM specific  implementation.
>> > Patch 2 sets the default identity domain for DRM devices.
>> > Patch 3 implements def_domain_type callback for arm-smmu.
>> > Patch 4 sets the default identity domain for modem device.
>> > Patch 5-6 adds the iommus property for mss pil.
>> >
>> > This is based on Joerg's tree:
>> >  -
>> > https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/log/?h=iommu-probe-device-v2
>> >
>> > v4:
>> >  * Updated commit msg for mss pil requesting direct mapping
>> >
>> > v3:
>> >  * Use arm_smmu_master_cfg to get impl instead of long way as per Robin.
>> >  * Use def_domain_type name for the callback in arm_smmu_imp as per
>> > Robin
>> >
>> > Jordan Crouse (1):
>> >   iommu/arm-smmu: Allow client devices to select direct mapping
>> >
>> > Sai Prakash Ranjan (2):
>> >   iommu: arm-smmu-impl: Convert to a generic reset implementation
>> >   iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back
>> >
>> > Sibi Sankar (3):
>> >   iommu/arm-smmu-qcom: Request direct mapping for modem device
>> >   dt-bindings: remoteproc: qcom: Add iommus property
>> >   arm64: dts: qcom: sdm845-cheza: Add iommus property
>> >
>> >  .../bindings/remoteproc/qcom,q6v5.txt         |  3 ++
>> >  arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi    |  5 +++
>> >  drivers/iommu/arm-smmu-impl.c                 |  8 ++--
>> >  drivers/iommu/arm-smmu-qcom.c                 | 37 +++++++++++++++++--
>> >  drivers/iommu/arm-smmu.c                      | 12 ++++++
>> >  drivers/iommu/arm-smmu.h                      |  1 +
>> >  6 files changed, 60 insertions(+), 6 deletions(-)
>> 
>> This series is reviewed by Robin.
>> Any chance this series can make it to 5.8?
> 
> I'm planning to queue smmu stuff next week, been busy with arm64 stuff
> so far, sorry.
> 

No problem at all, thought of reminding once just in case.

Thanks
Sai

-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
member
of Code Aurora Forum, hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device
  2020-04-20 18:33 ` [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device Sai Prakash Ranjan
@ 2020-05-07 13:02   ` Will Deacon
  2020-05-07 14:14     ` Sibi Sankar
  0 siblings, 1 reply; 14+ messages in thread
From: Will Deacon @ 2020-05-07 13:02 UTC (permalink / raw)
  To: Sai Prakash Ranjan
  Cc: Robin Murphy, Joerg Roedel, Sibi Sankar, Bjorn Andersson,
	Jordan Crouse, Rob Clark, Stephen Boyd, iommu, linux-arm-kernel,
	linux-kernel, linux-arm-msm, Matthias Kaehlcke, Evan Green

On Tue, Apr 21, 2020 at 12:03:52AM +0530, Sai Prakash Ranjan wrote:
> From: Sibi Sankar <sibis@codeaurora.org>
> 
> The Q6 modem sub-system has direct access to DDR through memnoc.
> Also SMMU is not expected to provide access control/translation
> for these SIDs (sandboxing of the modem is achieved through XPUs
> engaged using SMC calls). So request direct mapping for modem on
> platforms which don't have TrustZone.

The Z7 space rocket framework has limited access to water through BROADCHAN.
Also, this commit message really sucks. So please can you rewrite it in a
way that makes sense to people outside of your office?

Will

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping
  2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
                   ` (6 preceding siblings ...)
  2020-05-07 10:28 ` [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
@ 2020-05-07 14:04 ` Will Deacon
  7 siblings, 0 replies; 14+ messages in thread
From: Will Deacon @ 2020-05-07 14:04 UTC (permalink / raw)
  To: Sai Prakash Ranjan, Sibi Sankar, Joerg Roedel, Bjorn Andersson,
	Jordan Crouse, Rob Clark, Robin Murphy
  Cc: catalin.marinas, Will Deacon, Evan Green, linux-arm-kernel,
	Matthias Kaehlcke, linux-arm-msm, iommu, linux-kernel,
	Stephen Boyd

On Tue, 21 Apr 2020 00:03:48 +0530, Sai Prakash Ranjan wrote:
> This series allows DRM, Modem devices to set a default
> identity mapping in qcom smmu implementation.
> 
> Patch 1 is cleanup to support other SoCs to call into
> QCOM specific  implementation.
> Patch 2 sets the default identity domain for DRM devices.
> Patch 3 implements def_domain_type callback for arm-smmu.
> Patch 4 sets the default identity domain for modem device.
> Patch 5-6 adds the iommus property for mss pil.
> 
> [...]

Applied to will (for-joerg/arm-smmu/updates), thanks!

[1/6] iommu: arm-smmu-impl: Convert to a generic reset implementation
      https://git.kernel.org/will/c/64510ede3684
[2/6] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back
      https://git.kernel.org/will/c/232c5ae8a361
[3/6] iommu/arm-smmu: Allow client devices to select direct mapping
      https://git.kernel.org/will/c/0e764a01015d
[4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device
      (not applied)
[5/6] dt-bindings: remoteproc: qcom: Add iommus property
      https://git.kernel.org/will/c/23cf515c6042
[6/6] arm64: dts: qcom: sdm845-cheza: Add iommus property
      https://git.kernel.org/will/c/68aee4af5f62

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device
  2020-05-07 13:02   ` Will Deacon
@ 2020-05-07 14:14     ` Sibi Sankar
  2020-05-07 14:18       ` Will Deacon
  0 siblings, 1 reply; 14+ messages in thread
From: Sibi Sankar @ 2020-05-07 14:14 UTC (permalink / raw)
  To: Will Deacon
  Cc: Sai Prakash Ranjan, Robin Murphy, Joerg Roedel, Bjorn Andersson,
	Jordan Crouse, Rob Clark, Stephen Boyd, iommu, linux-arm-kernel,
	linux-kernel, linux-arm-msm, Matthias Kaehlcke, Evan Green,
	linux-kernel-owner

Hey WIll,

On 2020-05-07 18:32, Will Deacon wrote:
> On Tue, Apr 21, 2020 at 12:03:52AM +0530, Sai Prakash Ranjan wrote:
>> From: Sibi Sankar <sibis@codeaurora.org>
>> 
>> The Q6 modem sub-system has direct access to DDR through memnoc.
>> Also SMMU is not expected to provide access control/translation
>> for these SIDs (sandboxing of the modem is achieved through XPUs
>> engaged using SMC calls). So request direct mapping for modem on
>> platforms which don't have TrustZone.
> 
> The Z7 space rocket framework has limited access to water through 
> BROADCHAN.
> Also, this commit message really sucks. So please can you rewrite it in 
> a
> way that makes sense to people outside of your office?

lol, sure I'll re-word ^^ tday

> 
> Will

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device
  2020-05-07 14:14     ` Sibi Sankar
@ 2020-05-07 14:18       ` Will Deacon
  0 siblings, 0 replies; 14+ messages in thread
From: Will Deacon @ 2020-05-07 14:18 UTC (permalink / raw)
  To: Sibi Sankar
  Cc: Sai Prakash Ranjan, Robin Murphy, Joerg Roedel, Bjorn Andersson,
	Jordan Crouse, Rob Clark, Stephen Boyd, iommu, linux-arm-kernel,
	linux-kernel, linux-arm-msm, Matthias Kaehlcke, Evan Green,
	linux-kernel-owner

On Thu, May 07, 2020 at 07:44:01PM +0530, Sibi Sankar wrote:
> On 2020-05-07 18:32, Will Deacon wrote:
> > On Tue, Apr 21, 2020 at 12:03:52AM +0530, Sai Prakash Ranjan wrote:
> > > From: Sibi Sankar <sibis@codeaurora.org>
> > > 
> > > The Q6 modem sub-system has direct access to DDR through memnoc.
> > > Also SMMU is not expected to provide access control/translation
> > > for these SIDs (sandboxing of the modem is achieved through XPUs
> > > engaged using SMC calls). So request direct mapping for modem on
> > > platforms which don't have TrustZone.
> > 
> > The Z7 space rocket framework has limited access to water through
> > BROADCHAN.
> > Also, this commit message really sucks. So please can you rewrite it in
> > a
> > way that makes sense to people outside of your office?
> 
> lol, sure I'll re-word ^^ tday

Thanks :)

WIll

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-05-07 14:18 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-20 18:33 [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
2020-04-20 18:33 ` [PATCHv4 1/6] iommu: arm-smmu-impl: Convert to a generic reset implementation Sai Prakash Ranjan
2020-04-20 18:33 ` [PATCHv4 2/6] iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back Sai Prakash Ranjan
2020-04-20 18:33 ` [PATCHv4 3/6] iommu/arm-smmu: Allow client devices to select direct mapping Sai Prakash Ranjan
2020-04-20 18:33 ` [PATCHv4 4/6] iommu/arm-smmu-qcom: Request direct mapping for modem device Sai Prakash Ranjan
2020-05-07 13:02   ` Will Deacon
2020-05-07 14:14     ` Sibi Sankar
2020-05-07 14:18       ` Will Deacon
2020-04-20 18:33 ` [PATCHv4 5/6] dt-bindings: remoteproc: qcom: Add iommus property Sai Prakash Ranjan
2020-04-20 18:33 ` [PATCHv4 6/6] arm64: dts: qcom: sdm845-cheza: " Sai Prakash Ranjan
2020-05-07 10:28 ` [PATCHv4 0/6] iommu/arm-smmu: Allow client devices to select identity mapping Sai Prakash Ranjan
2020-05-07 10:31   ` Will Deacon
2020-05-07 11:08     ` Sai Prakash Ranjan
2020-05-07 14:04 ` Will Deacon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).