mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
remoteproc: qcom_q6v5_wcss: drop redundant wcss_q6_bcr_reset
The wcss_q6_bcr_reset used on QCS404, and wcss_q6_reset used on IPQ
are the same. "BCR reset" is redundant, and likely a mistake. Use the
documented "wcss_q6_reset" instead. Drop ".wcss_q6_reset_required"
from the descriptor, since all targets now need it.
This changes the bindings expectations, however, it actually fixes the
driver to consume the intended ones (qcom,q6v5.txt), which lists
"wcss_q6_reset" and *not* "wcss_q6_bcr_reset"
Fixes: 0af65b9b91 ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404")
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://lore.kernel.org/r/20251208223315.3540680-1-mr.nuke.me@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
parent
a9697e3588
commit
6ad61d0acd
|
|
@ -96,7 +96,6 @@ struct wcss_data {
|
|||
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;
|
||||
|
|
@ -134,7 +133,6 @@ struct q6v5_wcss {
|
|||
struct reset_control *wcss_aon_reset;
|
||||
struct reset_control *wcss_reset;
|
||||
struct reset_control *wcss_q6_reset;
|
||||
struct reset_control *wcss_q6_bcr_reset;
|
||||
|
||||
struct qcom_q6v5 q6v5;
|
||||
|
||||
|
|
@ -309,7 +307,7 @@ static int q6v5_wcss_qcs404_power_on(struct q6v5_wcss *wcss)
|
|||
return ret;
|
||||
|
||||
/* Remove reset to the WCNSS QDSP6SS */
|
||||
reset_control_deassert(wcss->wcss_q6_bcr_reset);
|
||||
reset_control_deassert(wcss->wcss_q6_reset);
|
||||
|
||||
/* Enable Q6SSTOP_AHBFABRIC_CBCR clock */
|
||||
ret = clk_prepare_enable(wcss->ahbfabric_cbcr_clk);
|
||||
|
|
@ -803,19 +801,10 @@ static int q6v5_wcss_init_reset(struct q6v5_wcss *wcss,
|
|||
return PTR_ERR(wcss->wcss_reset);
|
||||
}
|
||||
|
||||
if (desc->wcss_q6_reset_required) {
|
||||
wcss->wcss_q6_reset = devm_reset_control_get_exclusive(dev, "wcss_q6_reset");
|
||||
if (IS_ERR(wcss->wcss_q6_reset)) {
|
||||
dev_err(wcss->dev, "unable to acquire wcss_q6_reset\n");
|
||||
return PTR_ERR(wcss->wcss_q6_reset);
|
||||
}
|
||||
}
|
||||
|
||||
wcss->wcss_q6_bcr_reset = devm_reset_control_get_optional_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);
|
||||
wcss->wcss_q6_reset = devm_reset_control_get_exclusive(dev, "wcss_q6_reset");
|
||||
if (IS_ERR(wcss->wcss_q6_reset)) {
|
||||
dev_err(wcss->dev, "unable to acquire wcss_q6_reset\n");
|
||||
return PTR_ERR(wcss->wcss_q6_reset);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -1062,7 +1051,6 @@ static const struct wcss_data wcss_ipq8074_res_init = {
|
|||
.firmware_name = "IPQ8074/q6_fw.mdt",
|
||||
.crash_reason_smem = WCSS_CRASH_REASON,
|
||||
.aon_reset_required = true,
|
||||
.wcss_q6_reset_required = true,
|
||||
.ops = &q6v5_wcss_ipq8074_ops,
|
||||
.requires_force_stop = true,
|
||||
};
|
||||
|
|
@ -1072,7 +1060,6 @@ static const struct wcss_data wcss_qcs404_res_init = {
|
|||
.firmware_name = "wcnss.mdt",
|
||||
.version = WCSS_QCS404,
|
||||
.aon_reset_required = false,
|
||||
.wcss_q6_reset_required = false,
|
||||
.ssr_name = "mpss",
|
||||
.sysmon_name = "wcnss",
|
||||
.ssctl_id = 0x12,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user