On 11/29/25 3:18 PM, Bjorn Andersson wrote:
On Fri, Nov 28, 2025 at 07:32:05PM -0600, Alexandru Gagniuc wrote:
The "qcom,halt-regs" consists of a phandle reference followed by th
three offsets within syscon for halt registers. Thus, we need to
request 4 integers from of_property_read_variable_u32_array(), with
the halt_reg ofsets at indexes 1, 2, and 3. Offset 0 is the phandle.
With MAX_HALT_REG at 3, of_property_read_variable_u32_array() returns
-EOVERFLOW, causing .probe() to fail.
Increase MAX_HALT_REG to 4, and update the indexes accordingly.
Good catch, thanks
Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for
QCS404")
Hi Bjorn,
I noticed that v1 of this series is included in the pull for v6.19 [1],
even though there is a v2 [2] with some of your and Konrad's feedback
included. I wanted to check if this is your intention. I am okay to go
with v1, and am happy to submit any further improvements after the merge
window.
Alex
[1]
https://lore.kernel.org/linux-remoteproc/[email protected]/T/#u
[2]
lore.kernel.org/linux-remoteproc/[email protected]/#r>
Regards,
Bjorn
Signed-off-by: Alexandru Gagniuc <[email protected]>
---
drivers/remoteproc/qcom_q6v5_wcss.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c
b/drivers/remoteproc/qcom_q6v5_wcss.c
index 07c88623f5978..23ec87827d4f8 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -85,7 +85,7 @@
#define TCSR_WCSS_CLK_MASK 0x1F
#define TCSR_WCSS_CLK_ENABLE 0x14
-#define MAX_HALT_REG 3
+#define MAX_HALT_REG 4
enum {
WCSS_IPQ8074,
WCSS_QCS404,
@@ -864,9 +864,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;
}
--
2.45.1