remoteproc: qcom_q6v5_wcss: fix parsing of qcom,halt-regs
The "qcom,halt-regs" consists of a phandle reference followed by the
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.
Fixes: 0af65b9b91 ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404")
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://lore.kernel.org/r/20251129013207.3981517-1-mr.nuke.me@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
pull/1354/merge
parent
cda5dc12eb
commit
7e81fa8d80
|
|
@ -85,7 +85,7 @@
|
||||||
#define TCSR_WCSS_CLK_MASK 0x1F
|
#define TCSR_WCSS_CLK_MASK 0x1F
|
||||||
#define TCSR_WCSS_CLK_ENABLE 0x14
|
#define TCSR_WCSS_CLK_ENABLE 0x14
|
||||||
|
|
||||||
#define MAX_HALT_REG 3
|
#define MAX_HALT_REG 4
|
||||||
enum {
|
enum {
|
||||||
WCSS_IPQ8074,
|
WCSS_IPQ8074,
|
||||||
WCSS_QCS404,
|
WCSS_QCS404,
|
||||||
|
|
@ -864,9 +864,9 @@ static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
wcss->halt_q6 = halt_reg[0];
|
wcss->halt_q6 = halt_reg[1];
|
||||||
wcss->halt_wcss = halt_reg[1];
|
wcss->halt_wcss = halt_reg[2];
|
||||||
wcss->halt_nc = halt_reg[2];
|
wcss->halt_nc = halt_reg[3];
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue