Message ID | 1684408823-5898-1-git-send-email-quic_mojha@quicinc.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Revert "firmware: qcom_scm: Clear download bit during reboot" | expand |
Hey Robert, https://lore.kernel.org/linux-arm-msm/76943268-3982-deaf-9736-429dd51e01b0@gmail.com/ Would be good if you can provide your Tested-by ? --Mukesh On 5/18/2023 4:50 PM, Mukesh Ojha wrote: > This reverts commit 781d32d1c970 as it causes regression(reboot > does not work) for target like IPQ4019 that does not support > download mode scm calls end to end. > > Fixes: 781d32d1c970 ("firmware: qcom_scm: Clear download bit during reboot") > Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> > --- > drivers/firmware/qcom_scm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c > index fde33acd46b7..a4bb9265d9c0 100644 > --- a/drivers/firmware/qcom_scm.c > +++ b/drivers/firmware/qcom_scm.c > @@ -1508,7 +1508,8 @@ static int qcom_scm_probe(struct platform_device *pdev) > static void qcom_scm_shutdown(struct platform_device *pdev) > { > /* Clean shutdown, disable download mode to allow normal restart */ > - qcom_scm_set_download_mode(false); > + if (download_mode) > + qcom_scm_set_download_mode(false); > } > > static const struct of_device_id qcom_scm_dt_match[] = {
> This reverts commit 781d32d1c970 as it causes regression(reboot > does not work) for target like IPQ4019 that does not support > download mode scm calls end to end. > > Fixes: 781d32d1c970 ("firmware: qcom_scm: Clear download bit during reboot") > Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> > --- > drivers/firmware/qcom_scm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c > index fde33acd46b7..a4bb9265d9c0 100644 > --- a/drivers/firmware/qcom_scm.c > +++ b/drivers/firmware/qcom_scm.c > @@ -1508,7 +1508,8 @@ static int qcom_scm_probe(struct platform_device *pdev) > static void qcom_scm_shutdown(struct platform_device *pdev) > { > /* Clean shutdown, disable download mode to allow normal restart */ > - qcom_scm_set_download_mode(false); > + if (download_mode) > + qcom_scm_set_download_mode(false); > } > > static const struct of_device_id qcom_scm_dt_match[] = { > Tested-by: Robert Marko <robimarko@gmail.com>
On Thu, May 18, 2023 at 04:50:23PM +0530, Mukesh Ojha wrote: > This reverts commit 781d32d1c970 as it causes regression(reboot > does not work) for target like IPQ4019 that does not support > download mode scm calls end to end. > What do you mean with "reboot does not work"? Does qcom_scm_set_download_mode() crash the board? Does the reboot always end up in download mode? Or some other form of "not work"? Regards, Bjorn > Fixes: 781d32d1c970 ("firmware: qcom_scm: Clear download bit during reboot") > Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> > --- > drivers/firmware/qcom_scm.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c > index fde33acd46b7..a4bb9265d9c0 100644 > --- a/drivers/firmware/qcom_scm.c > +++ b/drivers/firmware/qcom_scm.c > @@ -1508,7 +1508,8 @@ static int qcom_scm_probe(struct platform_device *pdev) > static void qcom_scm_shutdown(struct platform_device *pdev) > { > /* Clean shutdown, disable download mode to allow normal restart */ > - qcom_scm_set_download_mode(false); > + if (download_mode) > + qcom_scm_set_download_mode(false); > } > > static const struct of_device_id qcom_scm_dt_match[] = { > -- > 2.7.4 >
+Robert On 5/20/2023 7:42 AM, Bjorn Andersson wrote: > On Thu, May 18, 2023 at 04:50:23PM +0530, Mukesh Ojha wrote: >> This reverts commit 781d32d1c970 as it causes regression(reboot >> does not work) for target like IPQ4019 that does not support >> download mode scm calls end to end. >> > > What do you mean with "reboot does not work"? > > Does qcom_scm_set_download_mode() crash the board? Does the reboot > always end up in download mode? Or some other form of "not work"? As per the discussion here, it seems qcom_scm_set_download_mode() does not work on some legacy target like IPQ4019..may be because firmware does not have the support.. https://lore.kernel.org/lkml/76943268-3982-deaf-9736-429dd51e01b0@gmail.com/ -- Mukesh > > Regards, > Bjorn > >> Fixes: 781d32d1c970 ("firmware: qcom_scm: Clear download bit during reboot") >> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> >> --- >> drivers/firmware/qcom_scm.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c >> index fde33acd46b7..a4bb9265d9c0 100644 >> --- a/drivers/firmware/qcom_scm.c >> +++ b/drivers/firmware/qcom_scm.c >> @@ -1508,7 +1508,8 @@ static int qcom_scm_probe(struct platform_device *pdev) >> static void qcom_scm_shutdown(struct platform_device *pdev) >> { >> /* Clean shutdown, disable download mode to allow normal restart */ >> - qcom_scm_set_download_mode(false); >> + if (download_mode) >> + qcom_scm_set_download_mode(false); >> } >> >> static const struct of_device_id qcom_scm_dt_match[] = { >> -- >> 2.7.4 >>
diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c index fde33acd46b7..a4bb9265d9c0 100644 --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c @@ -1508,7 +1508,8 @@ static int qcom_scm_probe(struct platform_device *pdev) static void qcom_scm_shutdown(struct platform_device *pdev) { /* Clean shutdown, disable download mode to allow normal restart */ - qcom_scm_set_download_mode(false); + if (download_mode) + qcom_scm_set_download_mode(false); } static const struct of_device_id qcom_scm_dt_match[] = {
This reverts commit 781d32d1c970 as it causes regression(reboot does not work) for target like IPQ4019 that does not support download mode scm calls end to end. Fixes: 781d32d1c970 ("firmware: qcom_scm: Clear download bit during reboot") Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> --- drivers/firmware/qcom_scm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)