80 lines
2.4 KiB
Diff
80 lines
2.4 KiB
Diff
From 8c73af6e8d78c66cfef0f551b00d375ec0b67ff3 Mon Sep 17 00:00:00 2001
|
|
From: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|
Date: Sat, 30 Jan 2021 10:50:09 +0530
|
|
Subject: [PATCH] remoteproc: qcom: Update regmap offsets for halt register
|
|
|
|
Fixed issue in reading halt-regs parameter from device-tree.
|
|
|
|
Signed-off-by: Gokul Sriram Palanisamy <gokulsri@codeaurora.org>
|
|
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
|
|
---
|
|
drivers/remoteproc/qcom_q6v5_wcss.c | 22 ++++++++++++++--------
|
|
1 file changed, 14 insertions(+), 8 deletions(-)
|
|
|
|
--- 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 q
|
|
}
|
|
}
|
|
|
|
- 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 q6
|
|
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;
|
|
}
|
|
@@ -1176,6 +1180,7 @@ static const struct wcss_data wcss_ipq80
|
|
.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,
|
|
@@ -1190,6 +1195,7 @@ static const struct wcss_data wcss_qcs40
|
|
.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,
|