devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil
@ 2024-06-21 11:46 Gokul Sriram Palanisamy
  2024-06-21 11:46 ` [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock Gokul Sriram Palanisamy
                   ` (9 more replies)
  0 siblings, 10 replies; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

IPQ8074 needs support for secure pil as well.
Also, currently only unified firmware is supported.
IPQ8074 supports split firmware for q6 and m3, so
adding support for that.

changes since v8:
 - Rebased on top of Linux 6.10-rc4

Gokul Sriram Palanisamy (8):
  remoteproc: qcom: Add PRNG proxy clock
  remoteproc: qcom: Add secure PIL support
  remoteproc: qcom: Add support for split q6 + m3 wlan firmware
  remoteproc: qcom: Add ssr subdevice identifier
  remoteproc: qcom: Update regmap offsets for halt register
  dt-bindings: clock: qcom: Add reset for WCSSAON
  clk: qcom: Add WCSSAON reset
  arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC

 arch/arm64/boot/dts/qcom/ipq8074.dtsi        |  80 +++++++++
 drivers/clk/qcom/gcc-ipq8074.c               |   1 +
 drivers/remoteproc/qcom_q6v5_wcss.c          | 162 +++++++++++++++----
 include/dt-bindings/clock/qcom,gcc-ipq8074.h |   1 +
 4 files changed, 212 insertions(+), 32 deletions(-)

-- 
2.34.1


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

* [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 15:09   ` Krzysztof Kozlowski
  2024-06-21 21:08   ` Dmitry Baryshkov
  2024-06-21 11:46 ` [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support Gokul Sriram Palanisamy
                   ` (8 subsequent siblings)
  9 siblings, 2 replies; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

PRNG clock is needed by the secure PIL, support for the same
is added in subsequent patches.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
 drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
 1 file changed, 47 insertions(+), 18 deletions(-)

diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index 94f68c919ee6..366b19cbd994 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -91,19 +91,6 @@ enum {
 	WCSS_QCS404,
 };
 
-struct wcss_data {
-	const char *firmware_name;
-	unsigned int crash_reason_smem;
-	u32 version;
-	bool aon_reset_required;
-	bool wcss_q6_reset_required;
-	const char *ssr_name;
-	const char *sysmon_name;
-	int ssctl_id;
-	const struct rproc_ops *ops;
-	bool requires_force_stop;
-};
-
 struct q6v5_wcss {
 	struct device *dev;
 
@@ -128,6 +115,7 @@ struct q6v5_wcss {
 	struct clk *qdsp6ss_xo_cbcr;
 	struct clk *qdsp6ss_core_gfmux;
 	struct clk *lcc_bcr_sleep;
+	struct clk *prng_clk;
 	struct regulator *cx_supply;
 	struct qcom_sysmon *sysmon;
 
@@ -151,6 +139,21 @@ struct q6v5_wcss {
 	struct qcom_rproc_ssr ssr_subdev;
 };
 
+struct wcss_data {
+	int (*init_clock)(struct q6v5_wcss *wcss);
+	int (*init_regulator)(struct q6v5_wcss *wcss);
+	const char *firmware_name;
+	unsigned int crash_reason_smem;
+	u32 version;
+	bool aon_reset_required;
+	bool wcss_q6_reset_required;
+	const char *ssr_name;
+	const char *sysmon_name;
+	int ssctl_id;
+	const struct rproc_ops *ops;
+	bool requires_force_stop;
+};
+
 static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
 {
 	int ret;
@@ -240,6 +243,12 @@ static int q6v5_wcss_start(struct rproc *rproc)
 	struct q6v5_wcss *wcss = rproc->priv;
 	int ret;
 
+	ret = clk_prepare_enable(wcss->prng_clk);
+	if (ret) {
+		dev_err(wcss->dev, "prng clock enable failed\n");
+		return ret;
+	}
+
 	qcom_q6v5_prepare(&wcss->q6v5);
 
 	/* Release Q6 and WCSS reset */
@@ -733,6 +742,7 @@ static int q6v5_wcss_stop(struct rproc *rproc)
 			return ret;
 	}
 
+	clk_disable_unprepare(wcss->prng_clk);
 	qcom_q6v5_unprepare(&wcss->q6v5);
 
 	return 0;
@@ -899,7 +909,21 @@ static int q6v5_alloc_memory_region(struct q6v5_wcss *wcss)
 	return 0;
 }
 
-static int q6v5_wcss_init_clock(struct q6v5_wcss *wcss)
+static int ipq8074_init_clock(struct q6v5_wcss *wcss)
+{
+	int ret;
+
+	wcss->prng_clk = devm_clk_get(wcss->dev, "prng");
+	if (IS_ERR(wcss->prng_clk)) {
+		ret = PTR_ERR(wcss->prng_clk);
+		if (ret != -EPROBE_DEFER)
+			dev_err(wcss->dev, "Failed to get prng clock\n");
+		return ret;
+	}
+	return 0;
+}
+
+static int qcs404_init_clock(struct q6v5_wcss *wcss)
 {
 	int ret;
 
@@ -989,7 +1013,7 @@ static int q6v5_wcss_init_clock(struct q6v5_wcss *wcss)
 	return 0;
 }
 
-static int q6v5_wcss_init_regulator(struct q6v5_wcss *wcss)
+static int qcs404_init_regulator(struct q6v5_wcss *wcss)
 {
 	wcss->cx_supply = devm_regulator_get(wcss->dev, "cx");
 	if (IS_ERR(wcss->cx_supply))
@@ -1033,12 +1057,14 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	if (wcss->version == WCSS_QCS404) {
-		ret = q6v5_wcss_init_clock(wcss);
+	if (desc->init_clock) {
+		ret = desc->init_clock(wcss);
 		if (ret)
 			return ret;
+	}
 
-		ret = q6v5_wcss_init_regulator(wcss);
+	if (desc->init_regulator) {
+		ret = desc->init_regulator(wcss);
 		if (ret)
 			return ret;
 	}
@@ -1078,6 +1104,7 @@ static void q6v5_wcss_remove(struct platform_device *pdev)
 }
 
 static const struct wcss_data wcss_ipq8074_res_init = {
+	.init_clock = ipq8074_init_clock,
 	.firmware_name = "IPQ8074/q6_fw.mdt",
 	.crash_reason_smem = WCSS_CRASH_REASON,
 	.aon_reset_required = true,
@@ -1087,6 +1114,8 @@ static const struct wcss_data wcss_ipq8074_res_init = {
 };
 
 static const struct wcss_data wcss_qcs404_res_init = {
+	.init_clock = qcs404_init_clock,
+	.init_regulator = qcs404_init_regulator,
 	.crash_reason_smem = WCSS_CRASH_REASON,
 	.firmware_name = "wcnss.mdt",
 	.version = WCSS_QCS404,
-- 
2.34.1


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

* [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
  2024-06-21 11:46 ` [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 21:17   ` Dmitry Baryshkov
  2024-06-21 11:46 ` [PATCH v9 3/8] remoteproc: qcom: Add support for split q6 + m3 wlan firmware Gokul Sriram Palanisamy
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

IPQ8074 uses secure PIL. Hence, adding the support for the same.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
 drivers/remoteproc/qcom_q6v5_wcss.c | 43 +++++++++++++++++++++++++++--
 1 file changed, 40 insertions(+), 3 deletions(-)

diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index 366b19cbd994..e45e79d80238 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -18,6 +18,7 @@
 #include <linux/regulator/consumer.h>
 #include <linux/reset.h>
 #include <linux/soc/qcom/mdt_loader.h>
+#include <linux/firmware/qcom/qcom_scm.h>
 #include "qcom_common.h"
 #include "qcom_pil_info.h"
 #include "qcom_q6v5.h"
@@ -86,6 +87,9 @@
 #define TCSR_WCSS_CLK_ENABLE	0x14
 
 #define MAX_HALT_REG		3
+
+#define WCNSS_PAS_ID		6
+
 enum {
 	WCSS_IPQ8074,
 	WCSS_QCS404,
@@ -134,6 +138,7 @@ struct q6v5_wcss {
 	unsigned int crash_reason_smem;
 	u32 version;
 	bool requires_force_stop;
+	bool need_mem_protection;
 
 	struct qcom_rproc_glink glink_subdev;
 	struct qcom_rproc_ssr ssr_subdev;
@@ -152,6 +157,7 @@ struct wcss_data {
 	int ssctl_id;
 	const struct rproc_ops *ops;
 	bool requires_force_stop;
+	bool need_mem_protection;
 };
 
 static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
@@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc *rproc)
 
 	qcom_q6v5_prepare(&wcss->q6v5);
 
+	if (wcss->need_mem_protection) {
+		ret = qcom_scm_pas_auth_and_reset(WCNSS_PAS_ID);
+		if (ret) {
+			dev_err(wcss->dev, "wcss_reset failed\n");
+			return ret;
+		}
+		goto wait_for_reset;
+	}
+
 	/* Release Q6 and WCSS reset */
 	ret = reset_control_deassert(wcss->wcss_reset);
 	if (ret) {
@@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc *rproc)
 	if (ret)
 		goto wcss_q6_reset;
 
+wait_for_reset:
 	ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
 	if (ret == -ETIMEDOUT)
 		dev_err(wcss->dev, "start timed out\n");
@@ -718,6 +734,15 @@ static int q6v5_wcss_stop(struct rproc *rproc)
 	struct q6v5_wcss *wcss = rproc->priv;
 	int ret;
 
+	if (wcss->need_mem_protection) {
+		ret = qcom_scm_pas_shutdown(WCNSS_PAS_ID);
+		if (ret) {
+			dev_err(wcss->dev, "not able to shutdown\n");
+			return ret;
+		}
+		goto pas_done;
+	}
+
 	/* WCSS powerdown */
 	if (wcss->requires_force_stop) {
 		ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL);
@@ -742,6 +767,7 @@ static int q6v5_wcss_stop(struct rproc *rproc)
 			return ret;
 	}
 
+pas_done:
 	clk_disable_unprepare(wcss->prng_clk);
 	qcom_q6v5_unprepare(&wcss->q6v5);
 
@@ -765,9 +791,15 @@ static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
 	struct q6v5_wcss *wcss = rproc->priv;
 	int ret;
 
-	ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
-				    0, wcss->mem_region, wcss->mem_phys,
-				    wcss->mem_size, &wcss->mem_reloc);
+	if (wcss->need_mem_protection)
+		ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware,
+				    WCNSS_PAS_ID, wcss->mem_region,
+				    wcss->mem_phys, wcss->mem_size,
+				    &wcss->mem_reloc);
+	else
+		ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
+					    0, wcss->mem_region, wcss->mem_phys,
+					    wcss->mem_size, &wcss->mem_reloc);
 	if (ret)
 		return ret;
 
@@ -1035,6 +1067,9 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
 	if (!desc)
 		return -EINVAL;
 
+	if (desc->need_mem_protection && !qcom_scm_is_available())
+		return -EPROBE_DEFER;
+
 	rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
 				 desc->firmware_name, sizeof(*wcss));
 	if (!rproc) {
@@ -1048,6 +1083,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
 
 	wcss->version = desc->version;
 	wcss->requires_force_stop = desc->requires_force_stop;
+	wcss->need_mem_protection = desc->need_mem_protection;
 
 	ret = q6v5_wcss_init_mmio(wcss, pdev);
 	if (ret)
@@ -1111,6 +1147,7 @@ static const struct wcss_data wcss_ipq8074_res_init = {
 	.wcss_q6_reset_required = true,
 	.ops = &q6v5_wcss_ipq8074_ops,
 	.requires_force_stop = true,
+	.need_mem_protection = true,
 };
 
 static const struct wcss_data wcss_qcs404_res_init = {
-- 
2.34.1


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

* [PATCH v9 3/8] remoteproc: qcom: Add support for split q6 + m3 wlan firmware
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
  2024-06-21 11:46 ` [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock Gokul Sriram Palanisamy
  2024-06-21 11:46 ` [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-27 11:11   ` Dmitry Baryshkov
  2024-06-21 11:46 ` [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier Gokul Sriram Palanisamy
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

IPQ8074 supports split firmware for q6 and m3 as well.
So add support for loading the m3 firmware before q6.
Now the drivers works fine for both split and unified
firmwares.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
 drivers/remoteproc/qcom_q6v5_wcss.c | 33 +++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)

diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index e45e79d80238..d8b79765d5c6 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -139,6 +139,7 @@ struct q6v5_wcss {
 	u32 version;
 	bool requires_force_stop;
 	bool need_mem_protection;
+	const char *m3_firmware_name;
 
 	struct qcom_rproc_glink glink_subdev;
 	struct qcom_rproc_ssr ssr_subdev;
@@ -147,7 +148,8 @@ struct q6v5_wcss {
 struct wcss_data {
 	int (*init_clock)(struct q6v5_wcss *wcss);
 	int (*init_regulator)(struct q6v5_wcss *wcss);
-	const char *firmware_name;
+	const char *q6_firmware_name;
+	const char *m3_firmware_name;
 	unsigned int crash_reason_smem;
 	u32 version;
 	bool aon_reset_required;
@@ -789,8 +791,29 @@ static void *q6v5_wcss_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *i
 static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
 {
 	struct q6v5_wcss *wcss = rproc->priv;
+	const struct firmware *m3_fw;
 	int ret;
 
+	if (wcss->m3_firmware_name) {
+		ret = request_firmware(&m3_fw, wcss->m3_firmware_name,
+				       wcss->dev);
+		if (ret)
+			goto skip_m3;
+
+		ret = qcom_mdt_load_no_init(wcss->dev, m3_fw,
+					    wcss->m3_firmware_name, 0,
+					    wcss->mem_region, wcss->mem_phys,
+					    wcss->mem_size, &wcss->mem_reloc);
+
+		release_firmware(m3_fw);
+
+		if (ret) {
+			dev_err(wcss->dev, "can't load m3_fw.bXX\n");
+			return ret;
+		}
+	}
+
+skip_m3:
 	if (wcss->need_mem_protection)
 		ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware,
 				    WCNSS_PAS_ID, wcss->mem_region,
@@ -1071,7 +1094,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
 		return -EPROBE_DEFER;
 
 	rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
-				 desc->firmware_name, sizeof(*wcss));
+				 desc->q6_firmware_name, sizeof(*wcss));
 	if (!rproc) {
 		dev_err(&pdev->dev, "failed to allocate rproc\n");
 		return -ENOMEM;
@@ -1084,6 +1107,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
 	wcss->version = desc->version;
 	wcss->requires_force_stop = desc->requires_force_stop;
 	wcss->need_mem_protection = desc->need_mem_protection;
+	wcss->m3_firmware_name = desc->m3_firmware_name;
 
 	ret = q6v5_wcss_init_mmio(wcss, pdev);
 	if (ret)
@@ -1141,7 +1165,8 @@ static void q6v5_wcss_remove(struct platform_device *pdev)
 
 static const struct wcss_data wcss_ipq8074_res_init = {
 	.init_clock = ipq8074_init_clock,
-	.firmware_name = "IPQ8074/q6_fw.mdt",
+	.q6_firmware_name = "IPQ8074/q6_fw.mdt",
+	.m3_firmware_name = "IPQ8074/m3_fw.mdt",
 	.crash_reason_smem = WCSS_CRASH_REASON,
 	.aon_reset_required = true,
 	.wcss_q6_reset_required = true,
@@ -1154,7 +1179,7 @@ static const struct wcss_data wcss_qcs404_res_init = {
 	.init_clock = qcs404_init_clock,
 	.init_regulator = qcs404_init_regulator,
 	.crash_reason_smem = WCSS_CRASH_REASON,
-	.firmware_name = "wcnss.mdt",
+	.q6_firmware_name = "wcnss.mdt",
 	.version = WCSS_QCS404,
 	.aon_reset_required = false,
 	.wcss_q6_reset_required = false,
-- 
2.34.1


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

* [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (2 preceding siblings ...)
  2024-06-21 11:46 ` [PATCH v9 3/8] remoteproc: qcom: Add support for split q6 + m3 wlan firmware Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 15:10   ` Krzysztof Kozlowski
  2024-06-21 21:23   ` Dmitry Baryshkov
  2024-06-21 11:46 ` [PATCH v9 5/8] remoteproc: qcom: Update regmap offsets for halt register Gokul Sriram Palanisamy
                   ` (5 subsequent siblings)
  9 siblings, 2 replies; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

Add name for ssr subdevice on IPQ8074 SoC.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
 drivers/remoteproc/qcom_q6v5_wcss.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index d8b79765d5c6..06936ca1d079 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -1170,6 +1170,7 @@ static const struct wcss_data wcss_ipq8074_res_init = {
 	.crash_reason_smem = WCSS_CRASH_REASON,
 	.aon_reset_required = true,
 	.wcss_q6_reset_required = true,
+	.ssr_name = "q6wcss",
 	.ops = &q6v5_wcss_ipq8074_ops,
 	.requires_force_stop = true,
 	.need_mem_protection = true,
-- 
2.34.1


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

* [PATCH v9 5/8] remoteproc: qcom: Update regmap offsets for halt register
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (3 preceding siblings ...)
  2024-06-21 11:46 ` [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 15:11   ` Krzysztof Kozlowski
  2024-06-21 11:46 ` [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON Gokul Sriram Palanisamy
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

Fixed issue in reading halt-regs parameter from device-tree.

Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
 drivers/remoteproc/qcom_q6v5_wcss.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index 06936ca1d079..87b78eb15b86 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -86,7 +86,7 @@
 #define TCSR_WCSS_CLK_MASK	0x1F
 #define TCSR_WCSS_CLK_ENABLE	0x14
 
-#define MAX_HALT_REG		3
+#define MAX_HALT_REG		4
 
 #define WCNSS_PAS_ID		6
 
@@ -154,6 +154,7 @@ struct wcss_data {
 	u32 version;
 	bool aon_reset_required;
 	bool wcss_q6_reset_required;
+	bool bcr_reset_required;
 	const char *ssr_name;
 	const char *sysmon_name;
 	int ssctl_id;
@@ -875,10 +876,13 @@ static int q6v5_wcss_init_reset(struct q6v5_wcss *wcss,
 		}
 	}
 
-	wcss->wcss_q6_bcr_reset = devm_reset_control_get_exclusive(dev, "wcss_q6_bcr_reset");
-	if (IS_ERR(wcss->wcss_q6_bcr_reset)) {
-		dev_err(wcss->dev, "unable to acquire wcss_q6_bcr_reset\n");
-		return PTR_ERR(wcss->wcss_q6_bcr_reset);
+	if (desc->bcr_reset_required) {
+		wcss->wcss_q6_bcr_reset = devm_reset_control_get_exclusive(dev,
+									   "wcss_q6_bcr_reset");
+		if (IS_ERR(wcss->wcss_q6_bcr_reset)) {
+			dev_err(wcss->dev, "unable to acquire wcss_q6_bcr_reset\n");
+			return PTR_ERR(wcss->wcss_q6_bcr_reset);
+		}
 	}
 
 	return 0;
@@ -928,9 +932,9 @@ static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss,
 		return -EINVAL;
 	}
 
-	wcss->halt_q6 = halt_reg[0];
-	wcss->halt_wcss = halt_reg[1];
-	wcss->halt_nc = halt_reg[2];
+	wcss->halt_q6 = halt_reg[1];
+	wcss->halt_wcss = halt_reg[2];
+	wcss->halt_nc = halt_reg[3];
 
 	return 0;
 }
@@ -1170,6 +1174,7 @@ static const struct wcss_data wcss_ipq8074_res_init = {
 	.crash_reason_smem = WCSS_CRASH_REASON,
 	.aon_reset_required = true,
 	.wcss_q6_reset_required = true,
+	.bcr_reset_required = false,
 	.ssr_name = "q6wcss",
 	.ops = &q6v5_wcss_ipq8074_ops,
 	.requires_force_stop = true,
@@ -1184,6 +1189,7 @@ static const struct wcss_data wcss_qcs404_res_init = {
 	.version = WCSS_QCS404,
 	.aon_reset_required = false,
 	.wcss_q6_reset_required = false,
+	.bcr_reset_required = true,
 	.ssr_name = "mpss",
 	.sysmon_name = "wcnss",
 	.ssctl_id = 0x12,
-- 
2.34.1


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

* [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (4 preceding siblings ...)
  2024-06-21 11:46 ` [PATCH v9 5/8] remoteproc: qcom: Update regmap offsets for halt register Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 15:12   ` Krzysztof Kozlowski
  2024-06-21 16:17   ` Kathiravan Thirumoorthy
  2024-06-21 11:46 ` [PATCH v9 7/8] clk: qcom: Add WCSSAON reset Gokul Sriram Palanisamy
                   ` (3 subsequent siblings)
  9 siblings, 2 replies; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

Add binding for WCSSAON reset required for Q6v5 reset on IPQ8074 SoC.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
---
 include/dt-bindings/clock/qcom,gcc-ipq8074.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/dt-bindings/clock/qcom,gcc-ipq8074.h b/include/dt-bindings/clock/qcom,gcc-ipq8074.h
index f9ea55811104..e47cbf7394aa 100644
--- a/include/dt-bindings/clock/qcom,gcc-ipq8074.h
+++ b/include/dt-bindings/clock/qcom,gcc-ipq8074.h
@@ -381,6 +381,7 @@
 #define GCC_NSSPORT4_RESET			143
 #define GCC_NSSPORT5_RESET			144
 #define GCC_NSSPORT6_RESET			145
+#define GCC_WCSSAON_RESET			146
 
 #define USB0_GDSC				0
 #define USB1_GDSC				1
-- 
2.34.1


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

* [PATCH v9 7/8] clk: qcom: Add WCSSAON reset
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (5 preceding siblings ...)
  2024-06-21 11:46 ` [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 16:14   ` Kathiravan Thirumoorthy
  2024-06-21 21:28   ` Dmitry Baryshkov
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

Add WCSSAON reset required for Q6v5 on IPQ8074 SoC.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
---
 drivers/clk/qcom/gcc-ipq8074.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c
index 32fd01ef469a..d382d16b9c10 100644
--- a/drivers/clk/qcom/gcc-ipq8074.c
+++ b/drivers/clk/qcom/gcc-ipq8074.c
@@ -4712,6 +4712,7 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = {
 	[GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = BIT(27) | GENMASK(9, 8) },
 	[GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = BIT(28) | GENMASK(11, 10) },
 	[GCC_NSSPORT6_RESET] = { .reg = 0x68014, .bitmask = BIT(29) | GENMASK(13, 12) },
+	[GCC_WCSSAON_RESET] = { 0x59010, 0 },
 };
 
 static struct gdsc *gcc_ipq8074_gdscs[] = {
-- 
2.34.1


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

* [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (6 preceding siblings ...)
  2024-06-21 11:46 ` [PATCH v9 7/8] clk: qcom: Add WCSSAON reset Gokul Sriram Palanisamy
@ 2024-06-21 11:46 ` Gokul Sriram Palanisamy
  2024-06-21 15:14   ` Krzysztof Kozlowski
                     ` (4 more replies)
  2024-06-21 21:22 ` [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Dmitry Baryshkov
  2024-06-21 21:24 ` Dmitry Baryshkov
  9 siblings, 5 replies; 37+ messages in thread
From: Gokul Sriram Palanisamy @ 2024-06-21 11:46 UTC (permalink / raw)
  To: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan
  Cc: gokulsri

Enable remoteproc WCSS PIL driver with glink. Also,
configure shared memory and enables smp2p required for IPC.

Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
 arch/arm64/boot/dts/qcom/ipq8074.dtsi | 80 +++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index 92682d3c9478..b98766cce0d6 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -108,6 +108,12 @@ memory@4ac00000 {
 			reg = <0x0 0x4ac00000 0x0 0x400000>;
 			no-map;
 		};
+
+		q6_region: memory@4b000000 {
+			no-map;
+			reg = <0x0 0x4b000000 0x0 0x5f00000>;
+		};
+
 	};
 
 	firmware {
@@ -117,6 +123,30 @@ scm {
 		};
 	};
 
+	wcss: smp2p-wcss {
+		compatible = "qcom,smp2p";
+		qcom,smem = <435>, <428>;
+
+		interrupt-parent = <&intc>;
+		interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>;
+
+		mboxes = <&apcs_glb 9>;
+
+		qcom,local-pid = <0>;
+		qcom,remote-pid = <1>;
+
+		wcss_smp2p_out: master-kernel {
+			qcom,entry-name = "master-kernel";
+			#qcom,smem-state-cells = <1>;
+		};
+
+		wcss_smp2p_in: slave-kernel {
+			qcom,entry-name = "slave-kernel";
+			interrupt-controller;
+			#interrupt-cells = <2>;
+		};
+	};
+
 	soc: soc@0 {
 		#address-cells = <1>;
 		#size-cells = <1>;
@@ -824,6 +854,56 @@ frame@b128000 {
 			};
 		};
 
+		q6v5_wcss: remoteproc@cd00000 {
+			compatible = "qcom,ipq8074-wcss-pil";
+			reg = <0x0cd00000 0x4040>,
+			      <0x004ab000 0x20>;
+			reg-names = "qdsp6",
+				    "rmb";
+			qca,auto-restart;
+			qca,extended-intc;
+			interrupts-extended = <&intc 0 325 1>,
+					      <&wcss_smp2p_in 0 0>,
+					      <&wcss_smp2p_in 1 0>,
+					      <&wcss_smp2p_in 2 0>,
+					      <&wcss_smp2p_in 3 0>;
+			interrupt-names = "wdog",
+					  "fatal",
+					  "ready",
+					  "handover",
+					  "stop-ack";
+
+			resets = <&gcc GCC_WCSSAON_RESET>,
+				 <&gcc GCC_WCSS_BCR>,
+				 <&gcc GCC_WCSS_Q6_BCR>;
+
+			reset-names = "wcss_aon_reset",
+				      "wcss_reset",
+				      "wcss_q6_reset";
+
+			clocks = <&gcc GCC_PRNG_AHB_CLK>;
+			clock-names = "prng";
+
+			qcom,halt-regs = <&tcsr 0xa000 0xd000 0xe000>;
+
+			qcom,smem-states = <&wcss_smp2p_out 0>,
+					   <&wcss_smp2p_out 1>;
+			qcom,smem-state-names = "shutdown",
+						"stop";
+
+			memory-region = <&q6_region>;
+
+			glink-edge {
+				interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>;
+				qcom,remote-pid = <1>;
+				mboxes = <&apcs_glb 8>;
+
+				rpm_requests {
+					qcom,glink-channels = "rpm_requests";
+				};
+			};
+		};
+
 		pcie1: pcie@10000000 {
 			compatible = "qcom,pcie-ipq8074";
 			reg = <0x10000000 0xf1d>,
-- 
2.34.1


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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-21 11:46 ` [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock Gokul Sriram Palanisamy
@ 2024-06-21 15:09   ` Krzysztof Kozlowski
  2024-06-25  4:25     ` Gokul Sriram P
  2024-06-21 21:08   ` Dmitry Baryshkov
  1 sibling, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-21 15:09 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri

On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
>  
> -static int q6v5_wcss_init_clock(struct q6v5_wcss *wcss)
> +static int ipq8074_init_clock(struct q6v5_wcss *wcss)
> +{
> +	int ret;
> +
> +	wcss->prng_clk = devm_clk_get(wcss->dev, "prng");

Missing binding.

Best regards,
Krzysztof


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

* Re: [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier
  2024-06-21 11:46 ` [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier Gokul Sriram Palanisamy
@ 2024-06-21 15:10   ` Krzysztof Kozlowski
       [not found]     ` <8adae0a7-d496-4c9f-ab0c-f162c06e90c4@quicinc.com>
  2024-06-21 21:23   ` Dmitry Baryshkov
  1 sibling, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-21 15:10 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri

On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
> Add name for ssr subdevice on IPQ8074 SoC.

Why?

> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>

Three people developed that single line?

Something is really odd with your DCO chain.


Best regards,
Krzysztof


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

* Re: [PATCH v9 5/8] remoteproc: qcom: Update regmap offsets for halt register
  2024-06-21 11:46 ` [PATCH v9 5/8] remoteproc: qcom: Update regmap offsets for halt register Gokul Sriram Palanisamy
@ 2024-06-21 15:11   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-21 15:11 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri

On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
> Fixed issue in reading halt-regs parameter from device-tree.

What issue?

That's a terrible commit msg. Explain what is the problem, how can it be
reproduced.

> 
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> ---
>  drivers/remoteproc/qcom_q6v5_wcss.c | 22 ++++++++++++++--------
>  1 file changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
> index 06936ca1d079..87b78eb15b86 100644
> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
> @@ -86,7 +86,7 @@
>  #define TCSR_WCSS_CLK_MASK	0x1F
>  #define TCSR_WCSS_CLK_ENABLE	0x14
>  
> -#define MAX_HALT_REG		3
> +#define MAX_HALT_REG		4

? That's confusing and looks unrelated.


Best regards,
Krzysztof


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

* Re: [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON
  2024-06-21 11:46 ` [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON Gokul Sriram Palanisamy
@ 2024-06-21 15:12   ` Krzysztof Kozlowski
  2024-06-21 16:17   ` Kathiravan Thirumoorthy
  1 sibling, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-21 15:12 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri

On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
> Add binding for WCSSAON reset required for Q6v5 reset on IPQ8074 SoC.
> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>

Again, three people contributed to this one define?

Best regards,
Krzysztof


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

* Re: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
@ 2024-06-21 15:14   ` Krzysztof Kozlowski
  2024-06-21 16:09   ` Kathiravan Thirumoorthy
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-21 15:14 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri

On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
> Enable remoteproc WCSS PIL driver with glink. Also,
> configure shared memory and enables smp2p required for IPC.
> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/ipq8074.dtsi | 80 +++++++++++++++++++++++++++
>  1 file changed, 80 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> index 92682d3c9478..b98766cce0d6 100644
> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> @@ -108,6 +108,12 @@ memory@4ac00000 {
>  			reg = <0x0 0x4ac00000 0x0 0x400000>;
>  			no-map;
>  		};
> +
> +		q6_region: memory@4b000000 {
> +			no-map;
> +			reg = <0x0 0x4b000000 0x0 0x5f00000>;
> +		};
> +
>  	};
>  
>  	firmware {
> @@ -117,6 +123,30 @@ scm {
>  		};
>  	};
>  
> +	wcss: smp2p-wcss {
> +		compatible = "qcom,smp2p";
> +		qcom,smem = <435>, <428>;
> +
> +		interrupt-parent = <&intc>;
> +		interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>;
> +
> +		mboxes = <&apcs_glb 9>;
> +
> +		qcom,local-pid = <0>;
> +		qcom,remote-pid = <1>;
> +
> +		wcss_smp2p_out: master-kernel {
> +			qcom,entry-name = "master-kernel";
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		wcss_smp2p_in: slave-kernel {
> +			qcom,entry-name = "slave-kernel";
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +	};
> +
>  	soc: soc@0 {
>  		#address-cells = <1>;
>  		#size-cells = <1>;
> @@ -824,6 +854,56 @@ frame@b128000 {
>  			};
>  		};
>  
> +		q6v5_wcss: remoteproc@cd00000 {
> +			compatible = "qcom,ipq8074-wcss-pil";
> +			reg = <0x0cd00000 0x4040>,
> +			      <0x004ab000 0x20>;
> +			reg-names = "qdsp6",
> +				    "rmb";
> +			qca,auto-restart;
> +			qca,extended-intc;
> +			interrupts-extended = <&intc 0 325 1>,
> +					      <&wcss_smp2p_in 0 0>,
> +					      <&wcss_smp2p_in 1 0>,
> +					      <&wcss_smp2p_in 2 0>,
> +					      <&wcss_smp2p_in 3 0>;
> +			interrupt-names = "wdog",
> +					  "fatal",
> +					  "ready",
> +					  "handover",
> +					  "stop-ack";
> +
> +			resets = <&gcc GCC_WCSSAON_RESET>,
> +				 <&gcc GCC_WCSS_BCR>,
> +				 <&gcc GCC_WCSS_Q6_BCR>;
> +
> +			reset-names = "wcss_aon_reset",
> +				      "wcss_reset",
> +				      "wcss_q6_reset";
> +
> +			clocks = <&gcc GCC_PRNG_AHB_CLK>;
> +			clock-names = "prng";

That's not what your binding is saying. Convert the binding to DT schema
and then validate this DTS.


Best regards,
Krzysztof


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

* Re: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
  2024-06-21 15:14   ` Krzysztof Kozlowski
@ 2024-06-21 16:09   ` Kathiravan Thirumoorthy
  2024-06-27 12:42   ` kernel test robot
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 37+ messages in thread
From: Kathiravan Thirumoorthy @ 2024-06-21 16:09 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri



On 6/21/2024 5:16 PM, Gokul Sriram Palanisamy wrote:
> Enable remoteproc WCSS PIL driver with glink. Also,
> configure shared memory and enables smp2p required for IPC.
> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> ---
>   arch/arm64/boot/dts/qcom/ipq8074.dtsi | 80 +++++++++++++++++++++++++++
>   1 file changed, 80 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> index 92682d3c9478..b98766cce0d6 100644
> --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
> @@ -108,6 +108,12 @@ memory@4ac00000 {
>   			reg = <0x0 0x4ac00000 0x0 0x400000>;
>   			no-map;
>   		};
> +
> +		q6_region: memory@4b000000 {
> +			no-map;

move the no-map after reg, to align with other entries.

> +			reg = <0x0 0x4b000000 0x0 0x5f00000>;
> +		};
> +
>   	};
>   
>   	firmware {
> @@ -117,6 +123,30 @@ scm {
>   		};
>   	};
>   

...

>   
> +		q6v5_wcss: remoteproc@cd00000 {
> +			compatible = "qcom,ipq8074-wcss-pil";
> +			reg = <0x0cd00000 0x4040>,
> +			      <0x004ab000 0x20>;
> +			reg-names = "qdsp6",
> +				    "rmb";
> +			qca,auto-restart;
> +			qca,extended-intc;
> +			interrupts-extended = <&intc 0 325 1>,


Use macros instead of open coding.

> +					      <&wcss_smp2p_in 0 0>,
> +					      <&wcss_smp2p_in 1 0>,
> +					      <&wcss_smp2p_in 2 0>,
> +					      <&wcss_smp2p_in 3 0>;
> +			interrupt-names = "wdog",
> +					  "fatal",
> +					  "ready",
> +					  "handover",
> +					  "stop-ack";
> +
> +			resets = <&gcc GCC_WCSSAON_RESET>,
> +				 <&gcc GCC_WCSS_BCR>,
> +				 <&gcc GCC_WCSS_Q6_BCR>;
> +
> +			reset-names = "wcss_aon_reset",
> +				      "wcss_reset",
> +				      "wcss_q6_reset";
> +
> +			clocks = <&gcc GCC_PRNG_AHB_CLK>;
> +			clock-names = "prng";
> +
> +			qcom,halt-regs = <&tcsr 0xa000 0xd000 0xe000>;
> +
> +			qcom,smem-states = <&wcss_smp2p_out 0>,
> +					   <&wcss_smp2p_out 1>;
> +			qcom,smem-state-names = "shutdown",
> +						"stop";
> +
> +			memory-region = <&q6_region>;
> +
> +			glink-edge {
> +				interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>;
> +				qcom,remote-pid = <1>;
> +				mboxes = <&apcs_glb 8>;
> +
> +				rpm_requests {
> +					qcom,glink-channels = "rpm_requests";
> +				};
> +			};
> +		};
> +
>   		pcie1: pcie@10000000 {
>   			compatible = "qcom,pcie-ipq8074";
>   			reg = <0x10000000 0xf1d>,

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

* Re: [PATCH v9 7/8] clk: qcom: Add WCSSAON reset
  2024-06-21 11:46 ` [PATCH v9 7/8] clk: qcom: Add WCSSAON reset Gokul Sriram Palanisamy
@ 2024-06-21 16:14   ` Kathiravan Thirumoorthy
  2024-06-21 21:28   ` Dmitry Baryshkov
  1 sibling, 0 replies; 37+ messages in thread
From: Kathiravan Thirumoorthy @ 2024-06-21 16:14 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri



On 6/21/2024 5:16 PM, Gokul Sriram Palanisamy wrote:
> Add WCSSAON reset required for Q6v5 on IPQ8074 SoC.

Commit title can be written as "clk: qcom: ipq8074: Add WCSSAON reset" ?

With that,

Reviewed-by: Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>

> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> Acked-by: Stephen Boyd <sboyd@kernel.org>
> ---
>   drivers/clk/qcom/gcc-ipq8074.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c
> index 32fd01ef469a..d382d16b9c10 100644
> --- a/drivers/clk/qcom/gcc-ipq8074.c
> +++ b/drivers/clk/qcom/gcc-ipq8074.c
> @@ -4712,6 +4712,7 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = {
>   	[GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = BIT(27) | GENMASK(9, 8) },
>   	[GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = BIT(28) | GENMASK(11, 10) },
>   	[GCC_NSSPORT6_RESET] = { .reg = 0x68014, .bitmask = BIT(29) | GENMASK(13, 12) },
> +	[GCC_WCSSAON_RESET] = { 0x59010, 0 },
>   };
>   
>   static struct gdsc *gcc_ipq8074_gdscs[] = {

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

* Re: [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON
  2024-06-21 11:46 ` [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON Gokul Sriram Palanisamy
  2024-06-21 15:12   ` Krzysztof Kozlowski
@ 2024-06-21 16:17   ` Kathiravan Thirumoorthy
  1 sibling, 0 replies; 37+ messages in thread
From: Kathiravan Thirumoorthy @ 2024-06-21 16:17 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri



On 6/21/2024 5:16 PM, Gokul Sriram Palanisamy wrote:
> Add binding for WCSSAON reset required for Q6v5 reset on IPQ8074 SoC.

Can we include ipq8074 in the title? "dt-bindings: clock: qcom: ipq8074: 
Add reset for WCSSAON"


> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> Acked-by: Rob Herring <robh@kernel.org>
> Acked-by: Stephen Boyd <sboyd@kernel.org>
> ---
>   include/dt-bindings/clock/qcom,gcc-ipq8074.h | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/include/dt-bindings/clock/qcom,gcc-ipq8074.h b/include/dt-bindings/clock/qcom,gcc-ipq8074.h
> index f9ea55811104..e47cbf7394aa 100644
> --- a/include/dt-bindings/clock/qcom,gcc-ipq8074.h
> +++ b/include/dt-bindings/clock/qcom,gcc-ipq8074.h
> @@ -381,6 +381,7 @@
>   #define GCC_NSSPORT4_RESET			143
>   #define GCC_NSSPORT5_RESET			144
>   #define GCC_NSSPORT6_RESET			145
> +#define GCC_WCSSAON_RESET			146
>   
>   #define USB0_GDSC				0
>   #define USB1_GDSC				1

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-21 11:46 ` [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock Gokul Sriram Palanisamy
  2024-06-21 15:09   ` Krzysztof Kozlowski
@ 2024-06-21 21:08   ` Dmitry Baryshkov
  2024-06-25  5:33     ` Gokul Sriram P
  1 sibling, 1 reply; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-21 21:08 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
> PRNG clock is needed by the secure PIL, support for the same
> is added in subsequent patches.

Which 'same'?
What is 'secure PIL'?

> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> ---
>  drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
>  1 file changed, 47 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
> index 94f68c919ee6..366b19cbd994 100644
> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
> @@ -91,19 +91,6 @@ enum {
>  	WCSS_QCS404,
>  };
>  
> -struct wcss_data {
> -	const char *firmware_name;
> -	unsigned int crash_reason_smem;
> -	u32 version;
> -	bool aon_reset_required;
> -	bool wcss_q6_reset_required;
> -	const char *ssr_name;
> -	const char *sysmon_name;
> -	int ssctl_id;
> -	const struct rproc_ops *ops;
> -	bool requires_force_stop;
> -};
> -
>  struct q6v5_wcss {
>  	struct device *dev;
>  
> @@ -128,6 +115,7 @@ struct q6v5_wcss {
>  	struct clk *qdsp6ss_xo_cbcr;
>  	struct clk *qdsp6ss_core_gfmux;
>  	struct clk *lcc_bcr_sleep;
> +	struct clk *prng_clk;
>  	struct regulator *cx_supply;
>  	struct qcom_sysmon *sysmon;
>  
> @@ -151,6 +139,21 @@ struct q6v5_wcss {
>  	struct qcom_rproc_ssr ssr_subdev;
>  };
>  
> +struct wcss_data {
> +	int (*init_clock)(struct q6v5_wcss *wcss);
> +	int (*init_regulator)(struct q6v5_wcss *wcss);
> +	const char *firmware_name;
> +	unsigned int crash_reason_smem;
> +	u32 version;
> +	bool aon_reset_required;
> +	bool wcss_q6_reset_required;
> +	const char *ssr_name;
> +	const char *sysmon_name;
> +	int ssctl_id;
> +	const struct rproc_ops *ops;
> +	bool requires_force_stop;
> +};

Move this back and use forward-declaration of struct q6v5_wcss.

> +
>  static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
>  {
>  	int ret;

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support
  2024-06-21 11:46 ` [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support Gokul Sriram Palanisamy
@ 2024-06-21 21:17   ` Dmitry Baryshkov
  2024-06-25  5:36     ` Gokul Sriram P
  0 siblings, 1 reply; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-21 21:17 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:53PM GMT, Gokul Sriram Palanisamy wrote:
> IPQ8074 uses secure PIL. Hence, adding the support for the same.

See Documentation/process/submitting-patches.rst

> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> ---
>  drivers/remoteproc/qcom_q6v5_wcss.c | 43 +++++++++++++++++++++++++++--
>  1 file changed, 40 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
> index 366b19cbd994..e45e79d80238 100644
> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
> @@ -18,6 +18,7 @@
>  #include <linux/regulator/consumer.h>
>  #include <linux/reset.h>
>  #include <linux/soc/qcom/mdt_loader.h>
> +#include <linux/firmware/qcom/qcom_scm.h>
>  #include "qcom_common.h"
>  #include "qcom_pil_info.h"
>  #include "qcom_q6v5.h"
> @@ -86,6 +87,9 @@
>  #define TCSR_WCSS_CLK_ENABLE	0x14
>  
>  #define MAX_HALT_REG		3
> +
> +#define WCNSS_PAS_ID		6
> +
>  enum {
>  	WCSS_IPQ8074,
>  	WCSS_QCS404,
> @@ -134,6 +138,7 @@ struct q6v5_wcss {
>  	unsigned int crash_reason_smem;
>  	u32 version;
>  	bool requires_force_stop;
> +	bool need_mem_protection;

needs

>  
>  	struct qcom_rproc_glink glink_subdev;
>  	struct qcom_rproc_ssr ssr_subdev;
> @@ -152,6 +157,7 @@ struct wcss_data {
>  	int ssctl_id;
>  	const struct rproc_ops *ops;
>  	bool requires_force_stop;
> +	bool need_mem_protection;

needs

>  };
>  
>  static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
> @@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc *rproc)
>  
>  	qcom_q6v5_prepare(&wcss->q6v5);
>  
> +	if (wcss->need_mem_protection) {
> +		ret = qcom_scm_pas_auth_and_reset(WCNSS_PAS_ID);
> +		if (ret) {
> +			dev_err(wcss->dev, "wcss_reset failed\n");
> +			return ret;
> +		}
> +		goto wait_for_reset;
> +	}

Use if/else instead of a goto.

> +
>  	/* Release Q6 and WCSS reset */
>  	ret = reset_control_deassert(wcss->wcss_reset);
>  	if (ret) {
> @@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc *rproc)
>  	if (ret)
>  		goto wcss_q6_reset;
>  
> +wait_for_reset:

This is more like wait_for_start

>  	ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
>  	if (ret == -ETIMEDOUT)
>  		dev_err(wcss->dev, "start timed out\n");
> @@ -718,6 +734,15 @@ static int q6v5_wcss_stop(struct rproc *rproc)
>  	struct q6v5_wcss *wcss = rproc->priv;
>  	int ret;
>  
> +	if (wcss->need_mem_protection) {
> +		ret = qcom_scm_pas_shutdown(WCNSS_PAS_ID);
> +		if (ret) {
> +			dev_err(wcss->dev, "not able to shutdown\n");
> +			return ret;
> +		}
> +		goto pas_done;
> +	}

if/else. Or abstract this to functions.

> +
>  	/* WCSS powerdown */
>  	if (wcss->requires_force_stop) {
>  		ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL);
> @@ -742,6 +767,7 @@ static int q6v5_wcss_stop(struct rproc *rproc)
>  			return ret;
>  	}
>  
> +pas_done:
>  	clk_disable_unprepare(wcss->prng_clk);
>  	qcom_q6v5_unprepare(&wcss->q6v5);
>  
> @@ -765,9 +791,15 @@ static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
>  	struct q6v5_wcss *wcss = rproc->priv;
>  	int ret;
>  
> -	ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
> -				    0, wcss->mem_region, wcss->mem_phys,
> -				    wcss->mem_size, &wcss->mem_reloc);
> +	if (wcss->need_mem_protection)
> +		ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware,
> +				    WCNSS_PAS_ID, wcss->mem_region,
> +				    wcss->mem_phys, wcss->mem_size,
> +				    &wcss->mem_reloc);
> +	else
> +		ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
> +					    0, wcss->mem_region, wcss->mem_phys,
> +					    wcss->mem_size, &wcss->mem_reloc);
>  	if (ret)
>  		return ret;
>  
> @@ -1035,6 +1067,9 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
>  	if (!desc)
>  		return -EINVAL;
>  
> +	if (desc->need_mem_protection && !qcom_scm_is_available())
> +		return -EPROBE_DEFER;
> +
>  	rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
>  				 desc->firmware_name, sizeof(*wcss));
>  	if (!rproc) {
> @@ -1048,6 +1083,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
>  
>  	wcss->version = desc->version;
>  	wcss->requires_force_stop = desc->requires_force_stop;
> +	wcss->need_mem_protection = desc->need_mem_protection;
>  
>  	ret = q6v5_wcss_init_mmio(wcss, pdev);
>  	if (ret)
> @@ -1111,6 +1147,7 @@ static const struct wcss_data wcss_ipq8074_res_init = {
>  	.wcss_q6_reset_required = true,
>  	.ops = &q6v5_wcss_ipq8074_ops,
>  	.requires_force_stop = true,
> +	.need_mem_protection = true,
>  };
>  
>  static const struct wcss_data wcss_qcs404_res_init = {
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (7 preceding siblings ...)
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
@ 2024-06-21 21:22 ` Dmitry Baryshkov
  2024-06-21 21:24 ` Dmitry Baryshkov
  9 siblings, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-21 21:22 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:51PM GMT, Gokul Sriram Palanisamy wrote:
> IPQ8074 needs support for secure pil as well.

Could you please settle on 'pil' or 'PIL'. Just use one of them.
Explain, what is secure PIL.

> Also, currently only unified firmware is supported.

What is unified firmware? What is split firmware? Why do I have so many
questions after reading the cover letter for what claims to be v9?

> IPQ8074 supports split firmware for q6 and m3, so
> adding support for that.

Ok. After reading through the first few patches. Is WCSS support on
IPQ8074 broken?

> 
> changes since v8:
>  - Rebased on top of Linux 6.10-rc4

Previous changelog has wanished?

> 
> Gokul Sriram Palanisamy (8):
>   remoteproc: qcom: Add PRNG proxy clock
>   remoteproc: qcom: Add secure PIL support
>   remoteproc: qcom: Add support for split q6 + m3 wlan firmware
>   remoteproc: qcom: Add ssr subdevice identifier
>   remoteproc: qcom: Update regmap offsets for halt register
>   dt-bindings: clock: qcom: Add reset for WCSSAON
>   clk: qcom: Add WCSSAON reset
>   arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
> 
>  arch/arm64/boot/dts/qcom/ipq8074.dtsi        |  80 +++++++++
>  drivers/clk/qcom/gcc-ipq8074.c               |   1 +
>  drivers/remoteproc/qcom_q6v5_wcss.c          | 162 +++++++++++++++----
>  include/dt-bindings/clock/qcom,gcc-ipq8074.h |   1 +
>  4 files changed, 212 insertions(+), 32 deletions(-)
> 
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier
  2024-06-21 11:46 ` [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier Gokul Sriram Palanisamy
  2024-06-21 15:10   ` Krzysztof Kozlowski
@ 2024-06-21 21:23   ` Dmitry Baryshkov
  1 sibling, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-21 21:23 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:55PM GMT, Gokul Sriram Palanisamy wrote:
> Add name for ssr subdevice on IPQ8074 SoC.

Is it SSR or ssr? Why is it necessary?

> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>

Three authors for a single-line patch?

> ---
>  drivers/remoteproc/qcom_q6v5_wcss.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
> index d8b79765d5c6..06936ca1d079 100644
> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
> @@ -1170,6 +1170,7 @@ static const struct wcss_data wcss_ipq8074_res_init = {
>  	.crash_reason_smem = WCSS_CRASH_REASON,
>  	.aon_reset_required = true,
>  	.wcss_q6_reset_required = true,
> +	.ssr_name = "q6wcss",
>  	.ops = &q6v5_wcss_ipq8074_ops,
>  	.requires_force_stop = true,
>  	.need_mem_protection = true,
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil
  2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
                   ` (8 preceding siblings ...)
  2024-06-21 21:22 ` [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Dmitry Baryshkov
@ 2024-06-21 21:24 ` Dmitry Baryshkov
  9 siblings, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-21 21:24 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:51PM GMT, Gokul Sriram Palanisamy wrote:
> IPQ8074 needs support for secure pil as well.
> Also, currently only unified firmware is supported.
> IPQ8074 supports split firmware for q6 and m3, so
> adding support for that.
> 
> changes since v8:
>  - Rebased on top of Linux 6.10-rc4

Why do you have so many dead email addresses in you To/Cc lists?

> 
> Gokul Sriram Palanisamy (8):
>   remoteproc: qcom: Add PRNG proxy clock
>   remoteproc: qcom: Add secure PIL support
>   remoteproc: qcom: Add support for split q6 + m3 wlan firmware
>   remoteproc: qcom: Add ssr subdevice identifier
>   remoteproc: qcom: Update regmap offsets for halt register
>   dt-bindings: clock: qcom: Add reset for WCSSAON
>   clk: qcom: Add WCSSAON reset
>   arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
> 
>  arch/arm64/boot/dts/qcom/ipq8074.dtsi        |  80 +++++++++
>  drivers/clk/qcom/gcc-ipq8074.c               |   1 +
>  drivers/remoteproc/qcom_q6v5_wcss.c          | 162 +++++++++++++++----
>  include/dt-bindings/clock/qcom,gcc-ipq8074.h |   1 +
>  4 files changed, 212 insertions(+), 32 deletions(-)
> 
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 7/8] clk: qcom: Add WCSSAON reset
  2024-06-21 11:46 ` [PATCH v9 7/8] clk: qcom: Add WCSSAON reset Gokul Sriram Palanisamy
  2024-06-21 16:14   ` Kathiravan Thirumoorthy
@ 2024-06-21 21:28   ` Dmitry Baryshkov
  1 sibling, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-21 21:28 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:58PM GMT, Gokul Sriram Palanisamy wrote:
> Add WCSSAON reset required for Q6v5 on IPQ8074 SoC.
> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>

Three authors for a single line?

> Acked-by: Stephen Boyd <sboyd@kernel.org>
> ---
>  drivers/clk/qcom/gcc-ipq8074.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/clk/qcom/gcc-ipq8074.c b/drivers/clk/qcom/gcc-ipq8074.c
> index 32fd01ef469a..d382d16b9c10 100644
> --- a/drivers/clk/qcom/gcc-ipq8074.c
> +++ b/drivers/clk/qcom/gcc-ipq8074.c
> @@ -4712,6 +4712,7 @@ static const struct qcom_reset_map gcc_ipq8074_resets[] = {
>  	[GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = BIT(27) | GENMASK(9, 8) },
>  	[GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = BIT(28) | GENMASK(11, 10) },
>  	[GCC_NSSPORT6_RESET] = { .reg = 0x68014, .bitmask = BIT(29) | GENMASK(13, 12) },
> +	[GCC_WCSSAON_RESET] = { 0x59010, 0 },

Do you notice that you line is pretty significantly different from the
previous lines? The time has passed since Stephen has acked this line in
2019.

>  };
>  
>  static struct gdsc *gcc_ipq8074_gdscs[] = {
> -- 
> 2.34.1
> 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-21 15:09   ` Krzysztof Kozlowski
@ 2024-06-25  4:25     ` Gokul Sriram P
  0 siblings, 0 replies; 37+ messages in thread
From: Gokul Sriram P @ 2024-06-25  4:25 UTC (permalink / raw)
  To: Krzysztof Kozlowski, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri


On 6/21/2024 8:39 PM, Krzysztof Kozlowski wrote:
> On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
>>   
>> -static int q6v5_wcss_init_clock(struct q6v5_wcss *wcss)
>> +static int ipq8074_init_clock(struct q6v5_wcss *wcss)
>> +{
>> +	int ret;
>> +
>> +	wcss->prng_clk = devm_clk_get(wcss->dev, "prng");
> Missing binding.
   Thanks. Will address and post this in new series.
> Best regards,
> Krzysztof
>

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-21 21:08   ` Dmitry Baryshkov
@ 2024-06-25  5:33     ` Gokul Sriram P
  2024-06-26 19:17       ` Dmitry Baryshkov
  0 siblings, 1 reply; 37+ messages in thread
From: Gokul Sriram P @ 2024-06-25  5:33 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri


On 6/22/2024 2:38 AM, Dmitry Baryshkov wrote:
> On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
>> PRNG clock is needed by the secure PIL, support for the same
>> is added in subsequent patches.
> Which 'same'?
> What is 'secure PIL'?
   will elaborate in the updated version.
   To answer your question, secure PIL is signed PIL image which only 
TrustZone can authenticate and load.
>> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
>> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
>> ---
>>   drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
>>   1 file changed, 47 insertions(+), 18 deletions(-)
>>
>> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
>> index 94f68c919ee6..366b19cbd994 100644
>> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
>> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
>> @@ -91,19 +91,6 @@ enum {
>>   	WCSS_QCS404,
>>   };
>>   
>> -struct wcss_data {
>> -	const char *firmware_name;
>> -	unsigned int crash_reason_smem;
>> -	u32 version;
>> -	bool aon_reset_required;
>> -	bool wcss_q6_reset_required;
>> -	const char *ssr_name;
>> -	const char *sysmon_name;
>> -	int ssctl_id;
>> -	const struct rproc_ops *ops;
>> -	bool requires_force_stop;
>> -};
>> -
>>   struct q6v5_wcss {
>>   	struct device *dev;
>>   
>> @@ -128,6 +115,7 @@ struct q6v5_wcss {
>>   	struct clk *qdsp6ss_xo_cbcr;
>>   	struct clk *qdsp6ss_core_gfmux;
>>   	struct clk *lcc_bcr_sleep;
>> +	struct clk *prng_clk;
>>   	struct regulator *cx_supply;
>>   	struct qcom_sysmon *sysmon;
>>   
>> @@ -151,6 +139,21 @@ struct q6v5_wcss {
>>   	struct qcom_rproc_ssr ssr_subdev;
>>   };
>>   
>> +struct wcss_data {
>> +	int (*init_clock)(struct q6v5_wcss *wcss);
>> +	int (*init_regulator)(struct q6v5_wcss *wcss);
>> +	const char *firmware_name;
>> +	unsigned int crash_reason_smem;
>> +	u32 version;
>> +	bool aon_reset_required;
>> +	bool wcss_q6_reset_required;
>> +	const char *ssr_name;
>> +	const char *sysmon_name;
>> +	int ssctl_id;
>> +	const struct rproc_ops *ops;
>> +	bool requires_force_stop;
>> +};
> Move this back and use forward-declaration of struct q6v5_wcss.
   sure. Will update.
>> +
>>   static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
>>   {
>>   	int ret;

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

* Re: [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support
  2024-06-21 21:17   ` Dmitry Baryshkov
@ 2024-06-25  5:36     ` Gokul Sriram P
  0 siblings, 0 replies; 37+ messages in thread
From: Gokul Sriram P @ 2024-06-25  5:36 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri


On 6/22/2024 2:47 AM, Dmitry Baryshkov wrote:
> On Fri, Jun 21, 2024 at 05:16:53PM GMT, Gokul Sriram Palanisamy wrote:
>> IPQ8074 uses secure PIL. Hence, adding the support for the same.
> See Documentation/process/submitting-patches.rst
   Thanks. Will add detailed description.
>> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
>> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
>> ---
>>   drivers/remoteproc/qcom_q6v5_wcss.c | 43 +++++++++++++++++++++++++++--
>>   1 file changed, 40 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
>> index 366b19cbd994..e45e79d80238 100644
>> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
>> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
>> @@ -18,6 +18,7 @@
>>   #include <linux/regulator/consumer.h>
>>   #include <linux/reset.h>
>>   #include <linux/soc/qcom/mdt_loader.h>
>> +#include <linux/firmware/qcom/qcom_scm.h>
>>   #include "qcom_common.h"
>>   #include "qcom_pil_info.h"
>>   #include "qcom_q6v5.h"
>> @@ -86,6 +87,9 @@
>>   #define TCSR_WCSS_CLK_ENABLE	0x14
>>   
>>   #define MAX_HALT_REG		3
>> +
>> +#define WCNSS_PAS_ID		6
>> +
>>   enum {
>>   	WCSS_IPQ8074,
>>   	WCSS_QCS404,
>> @@ -134,6 +138,7 @@ struct q6v5_wcss {
>>   	unsigned int crash_reason_smem;
>>   	u32 version;
>>   	bool requires_force_stop;
>> +	bool need_mem_protection;
> needs
>
>>   
>>   	struct qcom_rproc_glink glink_subdev;
>>   	struct qcom_rproc_ssr ssr_subdev;
>> @@ -152,6 +157,7 @@ struct wcss_data {
>>   	int ssctl_id;
>>   	const struct rproc_ops *ops;
>>   	bool requires_force_stop;
>> +	bool need_mem_protection;
> needs
   Thanks. Will update.
>>   };
>>   
>>   static int q6v5_wcss_reset(struct q6v5_wcss *wcss)
>> @@ -251,6 +257,15 @@ static int q6v5_wcss_start(struct rproc *rproc)
>>   
>>   	qcom_q6v5_prepare(&wcss->q6v5);
>>   
>> +	if (wcss->need_mem_protection) {
>> +		ret = qcom_scm_pas_auth_and_reset(WCNSS_PAS_ID);
>> +		if (ret) {
>> +			dev_err(wcss->dev, "wcss_reset failed\n");
>> +			return ret;
>> +		}
>> +		goto wait_for_reset;
>> +	}
> Use if/else instead of a goto.

   sure. Will update.

>
>> +
>>   	/* Release Q6 and WCSS reset */
>>   	ret = reset_control_deassert(wcss->wcss_reset);
>>   	if (ret) {
>> @@ -285,6 +300,7 @@ static int q6v5_wcss_start(struct rproc *rproc)
>>   	if (ret)
>>   		goto wcss_q6_reset;
>>   
>> +wait_for_reset:
> This is more like wait_for_start
   yes, this looks more appropriate. Will update. Thanks.
>>   	ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
>>   	if (ret == -ETIMEDOUT)
>>   		dev_err(wcss->dev, "start timed out\n");
>> @@ -718,6 +734,15 @@ static int q6v5_wcss_stop(struct rproc *rproc)
>>   	struct q6v5_wcss *wcss = rproc->priv;
>>   	int ret;
>>   
>> +	if (wcss->need_mem_protection) {
>> +		ret = qcom_scm_pas_shutdown(WCNSS_PAS_ID);
>> +		if (ret) {
>> +			dev_err(wcss->dev, "not able to shutdown\n");
>> +			return ret;
>> +		}
>> +		goto pas_done;
>> +	}
> if/else. Or abstract this to functions.
   sure. Will update appropriately.
>> +
>>   	/* WCSS powerdown */
>>   	if (wcss->requires_force_stop) {
>>   		ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL);
>> @@ -742,6 +767,7 @@ static int q6v5_wcss_stop(struct rproc *rproc)
>>   			return ret;
>>   	}
>>   
>> +pas_done:
>>   	clk_disable_unprepare(wcss->prng_clk);
>>   	qcom_q6v5_unprepare(&wcss->q6v5);
>>   
>> @@ -765,9 +791,15 @@ static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
>>   	struct q6v5_wcss *wcss = rproc->priv;
>>   	int ret;
>>   
>> -	ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
>> -				    0, wcss->mem_region, wcss->mem_phys,
>> -				    wcss->mem_size, &wcss->mem_reloc);
>> +	if (wcss->need_mem_protection)
>> +		ret = qcom_mdt_load(wcss->dev, fw, rproc->firmware,
>> +				    WCNSS_PAS_ID, wcss->mem_region,
>> +				    wcss->mem_phys, wcss->mem_size,
>> +				    &wcss->mem_reloc);
>> +	else
>> +		ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
>> +					    0, wcss->mem_region, wcss->mem_phys,
>> +					    wcss->mem_size, &wcss->mem_reloc);
>>   	if (ret)
>>   		return ret;
>>   
>> @@ -1035,6 +1067,9 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
>>   	if (!desc)
>>   		return -EINVAL;
>>   
>> +	if (desc->need_mem_protection && !qcom_scm_is_available())
>> +		return -EPROBE_DEFER;
>> +
>>   	rproc = devm_rproc_alloc(&pdev->dev, pdev->name, desc->ops,
>>   				 desc->firmware_name, sizeof(*wcss));
>>   	if (!rproc) {
>> @@ -1048,6 +1083,7 @@ static int q6v5_wcss_probe(struct platform_device *pdev)
>>   
>>   	wcss->version = desc->version;
>>   	wcss->requires_force_stop = desc->requires_force_stop;
>> +	wcss->need_mem_protection = desc->need_mem_protection;
>>   
>>   	ret = q6v5_wcss_init_mmio(wcss, pdev);
>>   	if (ret)
>> @@ -1111,6 +1147,7 @@ static const struct wcss_data wcss_ipq8074_res_init = {
>>   	.wcss_q6_reset_required = true,
>>   	.ops = &q6v5_wcss_ipq8074_ops,
>>   	.requires_force_stop = true,
>> +	.need_mem_protection = true,
>>   };
>>   
>>   static const struct wcss_data wcss_qcs404_res_init = {
>> -- 
>> 2.34.1
>>

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

* Re: [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier
       [not found]     ` <8adae0a7-d496-4c9f-ab0c-f162c06e90c4@quicinc.com>
@ 2024-06-25  7:04       ` Krzysztof Kozlowski
  2024-06-25  7:13         ` Dmitry Baryshkov
  0 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-25  7:04 UTC (permalink / raw)
  To: Gokul Sriram P, sboyd, andersson, bjorn.andersson, david.brown,
	devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: gokulsri

On 25/06/2024 08:28, Gokul Sriram P wrote:
> 
> On 6/21/2024 8:40 PM, Krzysztof Kozlowski wrote:
>> On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
>>> Add name for ssr subdevice on IPQ8074 SoC.
>> Why?
>    Oops! Missed the change. Will add and update.
>>> Signed-off-by: Nikhil Prakash V<quic_nprakash@quicinc.com>
>>> Signed-off-by: Sricharan R<quic_srichara@quicinc.com>
>>> Signed-off-by: Gokul Sriram Palanisamy<quic_gokulsri@quicinc.com>
>> Three people developed that single line?
>>
>> Something is really odd with your DCO chain.
>   The change was originally authored by Nikhil and reviewed by 
> Sricharan. I'm just submitting the change to upstream so retained their 
> names.
>>

Then your DCO chain is not correct. Please carefully read submitting
patches, especially documents about authorship, DCO, reviewed tags.

Best regards,
Krzysztof


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

* Re: [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier
  2024-06-25  7:04       ` Krzysztof Kozlowski
@ 2024-06-25  7:13         ` Dmitry Baryshkov
  0 siblings, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-25  7:13 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Gokul Sriram P, sboyd, andersson, bjorn.andersson, david.brown,
	devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan, gokulsri

On Tue, Jun 25, 2024 at 09:04:17AM GMT, Krzysztof Kozlowski wrote:
> On 25/06/2024 08:28, Gokul Sriram P wrote:
> > 
> > On 6/21/2024 8:40 PM, Krzysztof Kozlowski wrote:
> >> On 21/06/2024 13:46, Gokul Sriram Palanisamy wrote:
> >>> Add name for ssr subdevice on IPQ8074 SoC.
> >> Why?
> >    Oops! Missed the change. Will add and update.
> >>> Signed-off-by: Nikhil Prakash V<quic_nprakash@quicinc.com>
> >>> Signed-off-by: Sricharan R<quic_srichara@quicinc.com>
> >>> Signed-off-by: Gokul Sriram Palanisamy<quic_gokulsri@quicinc.com>
> >> Three people developed that single line?
> >>
> >> Something is really odd with your DCO chain.
> >   The change was originally authored by Nikhil and reviewed by 
> > Sricharan. I'm just submitting the change to upstream so retained their 
> > names.
> >>
> 
> Then your DCO chain is not correct. Please carefully read submitting
> patches, especially documents about authorship, DCO, reviewed tags.

Also there should be From: Nikhil header before the patch.

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-25  5:33     ` Gokul Sriram P
@ 2024-06-26 19:17       ` Dmitry Baryshkov
  2024-06-27 10:01         ` Gokul Sriram P
  0 siblings, 1 reply; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-26 19:17 UTC (permalink / raw)
  To: Gokul Sriram P
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Tue, Jun 25, 2024 at 11:03:30AM GMT, Gokul Sriram P wrote:
> 
> On 6/22/2024 2:38 AM, Dmitry Baryshkov wrote:
> > On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
> > > PRNG clock is needed by the secure PIL, support for the same
> > > is added in subsequent patches.
> > Which 'same'?
> > What is 'secure PIL'?
>   will elaborate in the updated version.
>   To answer your question, secure PIL is signed PIL image which only
> TrustZone can authenticate and load.

Fine. So, the current driver can not load WCSS firmware on IPQ8074, is
that correct? Or was there some kind of firmware interface change? The
driver was added in 2018, so I can only hope that at that point it
worked. Could you please explain, what happened?

> > > Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> > > Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> > > Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> > > ---
> > >   drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
> > >   1 file changed, 47 insertions(+), 18 deletions(-)


-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-26 19:17       ` Dmitry Baryshkov
@ 2024-06-27 10:01         ` Gokul Sriram P
  2024-06-27 11:08           ` Dmitry Baryshkov
  0 siblings, 1 reply; 37+ messages in thread
From: Gokul Sriram P @ 2024-06-27 10:01 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri


On 6/27/2024 12:47 AM, Dmitry Baryshkov wrote:
> On Tue, Jun 25, 2024 at 11:03:30AM GMT, Gokul Sriram P wrote:
>> On 6/22/2024 2:38 AM, Dmitry Baryshkov wrote:
>>> On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
>>>> PRNG clock is needed by the secure PIL, support for the same
>>>> is added in subsequent patches.
>>> Which 'same'?
>>> What is 'secure PIL'?
>>    will elaborate in the updated version.
>>    To answer your question, secure PIL is signed PIL image which only
>> TrustZone can authenticate and load.
> Fine. So, the current driver can not load WCSS firmware on IPQ8074, is
> that correct? Or was there some kind of firmware interface change? The
> driver was added in 2018, so I can only hope that at that point it
> worked. Could you please explain, what happened?
The existing wcss driver can load unsigned PIL images without the 
involvement of TrustZone. That works even now.
With the current change, we are trying to add signed PIL as an option 
based on "wcss->need_mem_protection" if set. For signed PIL alone, we 
send a PAS request to TrustZone to authenticate and load.
I also just noticed that Bjorn had suggested to submit a new driver for 
the PAS based IPQ WCSS instead of overloading this driver. Will also 
address that and post a new driver in updated revision.

Regards,
Gokul
>>>> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
>>>> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
>>>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
>>>> ---
>>>>    drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
>>>>    1 file changed, 47 insertions(+), 18 deletions(-)
>

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-27 10:01         ` Gokul Sriram P
@ 2024-06-27 11:08           ` Dmitry Baryshkov
  2024-06-27 11:29             ` Gokul Sriram P
  0 siblings, 1 reply; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-27 11:08 UTC (permalink / raw)
  To: Gokul Sriram P
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Thu, Jun 27, 2024 at 03:31:01PM GMT, Gokul Sriram P wrote:
> 
> On 6/27/2024 12:47 AM, Dmitry Baryshkov wrote:
> > On Tue, Jun 25, 2024 at 11:03:30AM GMT, Gokul Sriram P wrote:
> > > On 6/22/2024 2:38 AM, Dmitry Baryshkov wrote:
> > > > On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
> > > > > PRNG clock is needed by the secure PIL, support for the same
> > > > > is added in subsequent patches.
> > > > Which 'same'?
> > > > What is 'secure PIL'?
> > >    will elaborate in the updated version.
> > >    To answer your question, secure PIL is signed PIL image which only
> > > TrustZone can authenticate and load.
> > Fine. So, the current driver can not load WCSS firmware on IPQ8074, is
> > that correct? Or was there some kind of firmware interface change? The
> > driver was added in 2018, so I can only hope that at that point it
> > worked. Could you please explain, what happened?
> The existing wcss driver can load unsigned PIL images without the
> involvement of TrustZone. That works even now.
> With the current change, we are trying to add signed PIL as an option based
> on "wcss->need_mem_protection" if set. For signed PIL alone, we send a PAS
> request to TrustZone to authenticate and load.

I see that you are enabling it unconditionally for IPQ8074. How is it
going to work?

> I also just noticed that Bjorn had suggested to submit a new driver for the
> PAS based IPQ WCSS instead of overloading this driver. Will also address
> that and post a new driver in updated revision.
> 
> Regards,
> Gokul
> > > > > Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> > > > > Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> > > > > Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> > > > > ---
> > > > >    drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
> > > > >    1 file changed, 47 insertions(+), 18 deletions(-)
> > 

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 3/8] remoteproc: qcom: Add support for split q6 + m3 wlan firmware
  2024-06-21 11:46 ` [PATCH v9 3/8] remoteproc: qcom: Add support for split q6 + m3 wlan firmware Gokul Sriram Palanisamy
@ 2024-06-27 11:11   ` Dmitry Baryshkov
  0 siblings, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-27 11:11 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Fri, Jun 21, 2024 at 05:16:54PM GMT, Gokul Sriram Palanisamy wrote:
> IPQ8074 supports split firmware for q6 and m3 as well.
> So add support for loading the m3 firmware before q6.
> Now the drivers works fine for both split and unified
> firmwares.

Right now linux-firmware ships both q6 and m3 firmware files. The driver
loads just the q6 firmware. Is it enough for the hardware to get working
WiFi?

> 
> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>

Who is the original author of the patch?

> ---
>  drivers/remoteproc/qcom_q6v5_wcss.c | 33 +++++++++++++++++++++++++----
>  1 file changed, 29 insertions(+), 4 deletions(-)
> 


-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-27 11:08           ` Dmitry Baryshkov
@ 2024-06-27 11:29             ` Gokul Sriram P
  2024-06-27 13:35               ` Dmitry Baryshkov
  0 siblings, 1 reply; 37+ messages in thread
From: Gokul Sriram P @ 2024-06-27 11:29 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri


On 6/27/2024 4:38 PM, Dmitry Baryshkov wrote:
> On Thu, Jun 27, 2024 at 03:31:01PM GMT, Gokul Sriram P wrote:
>> On 6/27/2024 12:47 AM, Dmitry Baryshkov wrote:
>>> On Tue, Jun 25, 2024 at 11:03:30AM GMT, Gokul Sriram P wrote:
>>>> On 6/22/2024 2:38 AM, Dmitry Baryshkov wrote:
>>>>> On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
>>>>>> PRNG clock is needed by the secure PIL, support for the same
>>>>>> is added in subsequent patches.
>>>>> Which 'same'?
>>>>> What is 'secure PIL'?
>>>>     will elaborate in the updated version.
>>>>     To answer your question, secure PIL is signed PIL image which only
>>>> TrustZone can authenticate and load.
>>> Fine. So, the current driver can not load WCSS firmware on IPQ8074, is
>>> that correct? Or was there some kind of firmware interface change? The
>>> driver was added in 2018, so I can only hope that at that point it
>>> worked. Could you please explain, what happened?
>> The existing wcss driver can load unsigned PIL images without the
>> involvement of TrustZone. That works even now.
>> With the current change, we are trying to add signed PIL as an option based
>> on "wcss->need_mem_protection" if set. For signed PIL alone, we send a PAS
>> request to TrustZone to authenticate and load.
> I see that you are enabling it unconditionally for IPQ8074. How is it
> going to work?

Correct Dmitry. In this change, it is forcing secure PIL. With a 
separate driver for secure PIL, this will be sorted right?

Regards,

Gokul

>> I also just noticed that Bjorn had suggested to submit a new driver for the
>> PAS based IPQ WCSS instead of overloading this driver. Will also address
>> that and post a new driver in updated revision.
>>
>> Regards,
>> Gokul
>>>>>> Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
>>>>>> Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
>>>>>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
>>>>>> ---
>>>>>>     drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
>>>>>>     1 file changed, 47 insertions(+), 18 deletions(-)

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

* Re: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
  2024-06-21 15:14   ` Krzysztof Kozlowski
  2024-06-21 16:09   ` Kathiravan Thirumoorthy
@ 2024-06-27 12:42   ` kernel test robot
  2024-06-28  2:47   ` kernel test robot
  2024-06-28 21:12   ` kernel test robot
  4 siblings, 0 replies; 37+ messages in thread
From: kernel test robot @ 2024-06-27 12:42 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: oe-kbuild-all, gokulsri

Hi Gokul,

kernel test robot noticed the following build warnings:

[auto build test WARNING on remoteproc/rproc-next]
[also build test WARNING on clk/clk-next robh/for-next linus/master v6.10-rc5 next-20240626]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Gokul-Sriram-Palanisamy/remoteproc-qcom-Add-PRNG-proxy-clock/20240625-162317
base:   git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link:    https://lore.kernel.org/r/20240621114659.2958170-9-quic_gokulsri%40quicinc.com
patch subject: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
config: arm64-randconfig-051-20240627 (https://download.01.org/0day-ci/archive/20240627/202406272012.krpg0wbC-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project ad79a14c9e5ec4a369eed4adf567c22cc029863f)
dtschema version: 2024.6.dev1+g833054f
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240627/202406272012.krpg0wbC-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406272012.krpg0wbC-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@59000: 'vdda-pll-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@59000: 'vdda-phy-dpdm-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdd-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdda-pll-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdda-phy-dpdm-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
>> arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']
--
>> arch/arm64/boot/dts/qcom/ipq8074-hk10-c1.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']
--
>> arch/arm64/boot/dts/qcom/ipq8074-hk10-c2.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock
  2024-06-27 11:29             ` Gokul Sriram P
@ 2024-06-27 13:35               ` Dmitry Baryshkov
  0 siblings, 0 replies; 37+ messages in thread
From: Dmitry Baryshkov @ 2024-06-27 13:35 UTC (permalink / raw)
  To: Gokul Sriram P
  Cc: sboyd, andersson, bjorn.andersson, david.brown, devicetree,
	jassisinghbrar, linux-arm-msm, linux-clk, linux-kernel,
	linux-remoteproc, mark.rutland, mturquette, ohad, robh, sricharan,
	gokulsri

On Thu, Jun 27, 2024 at 04:59:38PM GMT, Gokul Sriram P wrote:
> 
> On 6/27/2024 4:38 PM, Dmitry Baryshkov wrote:
> > On Thu, Jun 27, 2024 at 03:31:01PM GMT, Gokul Sriram P wrote:
> > > On 6/27/2024 12:47 AM, Dmitry Baryshkov wrote:
> > > > On Tue, Jun 25, 2024 at 11:03:30AM GMT, Gokul Sriram P wrote:
> > > > > On 6/22/2024 2:38 AM, Dmitry Baryshkov wrote:
> > > > > > On Fri, Jun 21, 2024 at 05:16:52PM GMT, Gokul Sriram Palanisamy wrote:
> > > > > > > PRNG clock is needed by the secure PIL, support for the same
> > > > > > > is added in subsequent patches.
> > > > > > Which 'same'?
> > > > > > What is 'secure PIL'?
> > > > >     will elaborate in the updated version.
> > > > >     To answer your question, secure PIL is signed PIL image which only
> > > > > TrustZone can authenticate and load.
> > > > Fine. So, the current driver can not load WCSS firmware on IPQ8074, is
> > > > that correct? Or was there some kind of firmware interface change? The
> > > > driver was added in 2018, so I can only hope that at that point it
> > > > worked. Could you please explain, what happened?
> > > The existing wcss driver can load unsigned PIL images without the
> > > involvement of TrustZone. That works even now.
> > > With the current change, we are trying to add signed PIL as an option based
> > > on "wcss->need_mem_protection" if set. For signed PIL alone, we send a PAS
> > > request to TrustZone to authenticate and load.
> > I see that you are enabling it unconditionally for IPQ8074. How is it
> > going to work?
> 
> Correct Dmitry. In this change, it is forcing secure PIL. With a separate
> driver for secure PIL, this will be sorted right?

That depends. How will the running system decide, which driver to use?
It can not be a compile-time decision.

> 
> Regards,
> 
> Gokul
> 
> > > I also just noticed that Bjorn had suggested to submit a new driver for the
> > > PAS based IPQ WCSS instead of overloading this driver. Will also address
> > > that and post a new driver in updated revision.
> > > 
> > > Regards,
> > > Gokul
> > > > > > > Signed-off-by: Nikhil Prakash V <quic_nprakash@quicinc.com>
> > > > > > > Signed-off-by: Sricharan R <quic_srichara@quicinc.com>
> > > > > > > Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> > > > > > > ---
> > > > > > >     drivers/remoteproc/qcom_q6v5_wcss.c | 65 +++++++++++++++++++++--------
> > > > > > >     1 file changed, 47 insertions(+), 18 deletions(-)

-- 
With best wishes
Dmitry

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

* Re: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
                     ` (2 preceding siblings ...)
  2024-06-27 12:42   ` kernel test robot
@ 2024-06-28  2:47   ` kernel test robot
  2024-06-28 21:12   ` kernel test robot
  4 siblings, 0 replies; 37+ messages in thread
From: kernel test robot @ 2024-06-28  2:47 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: oe-kbuild-all, gokulsri

Hi Gokul,

kernel test robot noticed the following build warnings:

[auto build test WARNING on remoteproc/rproc-next]
[also build test WARNING on clk/clk-next robh/for-next linus/master v6.10-rc5 next-20240627]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Gokul-Sriram-Palanisamy/remoteproc-qcom-Add-PRNG-proxy-clock/20240625-162317
base:   git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link:    https://lore.kernel.org/r/20240621114659.2958170-9-quic_gokulsri%40quicinc.com
patch subject: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
config: arm64-randconfig-051-20240627 (https://download.01.org/0day-ci/archive/20240628/202406281044.3vIaThJc-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project ad79a14c9e5ec4a369eed4adf567c22cc029863f)
dtschema version: 2024.6.dev2+g3b69bad
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240628/202406281044.3vIaThJc-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406281044.3vIaThJc-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@59000: 'vdda-pll-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@59000: 'vdda-phy-dpdm-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdd-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdda-pll-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdda-phy-dpdm-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
>> arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']
--
>> arch/arm64/boot/dts/qcom/ipq8074-hk10-c1.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']
--
>> arch/arm64/boot/dts/qcom/ipq8074-hk10-c2.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
  2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
                     ` (3 preceding siblings ...)
  2024-06-28  2:47   ` kernel test robot
@ 2024-06-28 21:12   ` kernel test robot
  4 siblings, 0 replies; 37+ messages in thread
From: kernel test robot @ 2024-06-28 21:12 UTC (permalink / raw)
  To: Gokul Sriram Palanisamy, sboyd, andersson, bjorn.andersson,
	david.brown, devicetree, jassisinghbrar, linux-arm-msm, linux-clk,
	linux-kernel, linux-remoteproc, mark.rutland, mturquette, ohad,
	robh, sricharan
  Cc: oe-kbuild-all, gokulsri

Hi Gokul,

kernel test robot noticed the following build warnings:

[auto build test WARNING on remoteproc/rproc-next]
[also build test WARNING on clk/clk-next robh/for-next linus/master v6.10-rc5 next-20240627]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Gokul-Sriram-Palanisamy/remoteproc-qcom-Add-PRNG-proxy-clock/20240625-162317
base:   git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link:    https://lore.kernel.org/r/20240621114659.2958170-9-quic_gokulsri%40quicinc.com
patch subject: [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC
config: arm64-randconfig-051-20240627 (https://download.01.org/0day-ci/archive/20240629/202406290444.4W2Fba5X-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project ad79a14c9e5ec4a369eed4adf567c22cc029863f)
dtschema version: 2024.6.dev3+g650bf2d
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240629/202406290444.4W2Fba5X-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406290444.4W2Fba5X-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@59000: 'vdda-pll-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@59000: 'vdda-phy-dpdm-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdd-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdda-pll-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
   arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: phy@79000: 'vdda-phy-dpdm-supply' is a required property
   	from schema $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
>> arch/arm64/boot/dts/qcom/ipq8074-hk01.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']
--
>> arch/arm64/boot/dts/qcom/ipq8074-hk10-c1.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']
--
>> arch/arm64/boot/dts/qcom/ipq8074-hk10-c2.dtb: /soc@0/remoteproc@cd00000: failed to match any schema with compatible: ['qcom,ipq8074-wcss-pil']

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

end of thread, other threads:[~2024-06-28 21:13 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-21 11:46 [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Gokul Sriram Palanisamy
2024-06-21 11:46 ` [PATCH v9 1/8] remoteproc: qcom: Add PRNG proxy clock Gokul Sriram Palanisamy
2024-06-21 15:09   ` Krzysztof Kozlowski
2024-06-25  4:25     ` Gokul Sriram P
2024-06-21 21:08   ` Dmitry Baryshkov
2024-06-25  5:33     ` Gokul Sriram P
2024-06-26 19:17       ` Dmitry Baryshkov
2024-06-27 10:01         ` Gokul Sriram P
2024-06-27 11:08           ` Dmitry Baryshkov
2024-06-27 11:29             ` Gokul Sriram P
2024-06-27 13:35               ` Dmitry Baryshkov
2024-06-21 11:46 ` [PATCH v9 2/8] remoteproc: qcom: Add secure PIL support Gokul Sriram Palanisamy
2024-06-21 21:17   ` Dmitry Baryshkov
2024-06-25  5:36     ` Gokul Sriram P
2024-06-21 11:46 ` [PATCH v9 3/8] remoteproc: qcom: Add support for split q6 + m3 wlan firmware Gokul Sriram Palanisamy
2024-06-27 11:11   ` Dmitry Baryshkov
2024-06-21 11:46 ` [PATCH v9 4/8] remoteproc: qcom: Add ssr subdevice identifier Gokul Sriram Palanisamy
2024-06-21 15:10   ` Krzysztof Kozlowski
     [not found]     ` <8adae0a7-d496-4c9f-ab0c-f162c06e90c4@quicinc.com>
2024-06-25  7:04       ` Krzysztof Kozlowski
2024-06-25  7:13         ` Dmitry Baryshkov
2024-06-21 21:23   ` Dmitry Baryshkov
2024-06-21 11:46 ` [PATCH v9 5/8] remoteproc: qcom: Update regmap offsets for halt register Gokul Sriram Palanisamy
2024-06-21 15:11   ` Krzysztof Kozlowski
2024-06-21 11:46 ` [PATCH v9 6/8] dt-bindings: clock: qcom: Add reset for WCSSAON Gokul Sriram Palanisamy
2024-06-21 15:12   ` Krzysztof Kozlowski
2024-06-21 16:17   ` Kathiravan Thirumoorthy
2024-06-21 11:46 ` [PATCH v9 7/8] clk: qcom: Add WCSSAON reset Gokul Sriram Palanisamy
2024-06-21 16:14   ` Kathiravan Thirumoorthy
2024-06-21 21:28   ` Dmitry Baryshkov
2024-06-21 11:46 ` [PATCH v9 8/8] arm64: dts: qcom: Enable Q6v5 WCSS for ipq8074 SoC Gokul Sriram Palanisamy
2024-06-21 15:14   ` Krzysztof Kozlowski
2024-06-21 16:09   ` Kathiravan Thirumoorthy
2024-06-27 12:42   ` kernel test robot
2024-06-28  2:47   ` kernel test robot
2024-06-28 21:12   ` kernel test robot
2024-06-21 21:22 ` [PATCH v9 0/8] remoteproc: qcom: q6v5-wcss: Add support for secure pil Dmitry Baryshkov
2024-06-21 21:24 ` Dmitry Baryshkov

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).