1 From 8c73af6e8d78c66cfef0f551b00d375ec0b67ff3 Mon Sep 17 00:00:00 2001
2 From: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
3 Date: Sat, 30 Jan 2021 10:50:09 +0530
4 Subject: [PATCH] remoteproc: qcom: Update regmap offsets for halt register
6 Fixed issue in reading halt-regs parameter from device-tree.
8 Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
9 Signed-off-by: Sricharan R <sricharan@codeaurora.org>
11 drivers/remoteproc/qcom_q6v5_wcss.c | 22 ++++++++++++++--------
12 1 file changed, 14 insertions(+), 8 deletions(-)
14 --- a/drivers/remoteproc/qcom_q6v5_wcss.c
15 +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
17 #define TCSR_WCSS_CLK_MASK 0x1F
18 #define TCSR_WCSS_CLK_ENABLE 0x14
20 -#define MAX_HALT_REG 3
21 +#define MAX_HALT_REG 4
23 #define WCNSS_PAS_ID 6
25 @@ -154,6 +154,7 @@ struct wcss_data {
27 bool aon_reset_required;
28 bool wcss_q6_reset_required;
29 + bool bcr_reset_required;
31 const char *sysmon_name;
33 @@ -875,10 +876,13 @@ static int q6v5_wcss_init_reset(struct q
37 - wcss->wcss_q6_bcr_reset = devm_reset_control_get_exclusive(dev, "wcss_q6_bcr_reset");
38 - if (IS_ERR(wcss->wcss_q6_bcr_reset)) {
39 - dev_err(wcss->dev, "unable to acquire wcss_q6_bcr_reset\n");
40 - return PTR_ERR(wcss->wcss_q6_bcr_reset);
41 + if (desc->bcr_reset_required) {
42 + wcss->wcss_q6_bcr_reset = devm_reset_control_get_exclusive(dev,
43 + "wcss_q6_bcr_reset");
44 + if (IS_ERR(wcss->wcss_q6_bcr_reset)) {
45 + dev_err(wcss->dev, "unable to acquire wcss_q6_bcr_reset\n");
46 + return PTR_ERR(wcss->wcss_q6_bcr_reset);
51 @@ -929,9 +933,9 @@ static int q6v5_wcss_init_mmio(struct q6
55 - wcss->halt_q6 = halt_reg[0];
56 - wcss->halt_wcss = halt_reg[1];
57 - wcss->halt_nc = halt_reg[2];
58 + wcss->halt_q6 = halt_reg[1];
59 + wcss->halt_wcss = halt_reg[2];
60 + wcss->halt_nc = halt_reg[3];
64 @@ -1178,6 +1182,7 @@ static const struct wcss_data wcss_ipq80
65 .crash_reason_smem = WCSS_CRASH_REASON,
66 .aon_reset_required = true,
67 .wcss_q6_reset_required = true,
68 + .bcr_reset_required = false,
70 .ops = &q6v5_wcss_ipq8074_ops,
71 .requires_force_stop = true,
72 @@ -1192,6 +1197,7 @@ static const struct wcss_data wcss_qcs40
73 .version = WCSS_QCS404,
74 .aon_reset_required = false,
75 .wcss_q6_reset_required = false,
76 + .bcr_reset_required = true,
78 .sysmon_name = "wcnss",