Message ID | 1711034642-22860-3-git-send-email-quic_mojha@quicinc.com |
---|---|
State | Accepted |
Commit | 398a4c58f3f29ac3ff4d777dc91fe40a07bbca8c |
Headers | show |
Series | [v2,1/4] firmware: qcom: scm: Remove log reporting memory allocation failure | expand |
On 21.03.2024 16:24, Mukesh Ojha wrote: > QCOM_SCM_BOOT_SET_DLOAD_MODE scm command is applicable for very > older SoCs where this command is supported from firmware and > for newer SoCs, dload mode tcsr registers is used for setting > the download mode. This is a bit of a spaghetti sentence, but I get what you're saying. And the patch looks good! Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad
diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c index d9153204cba3..e238ebe21099 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -495,17 +495,14 @@ static int __qcom_scm_set_dload_mode(struct device *dev, bool enable) static void qcom_scm_set_download_mode(bool enable) { - bool avail; int ret = 0; - avail = __qcom_scm_is_call_available(__scm->dev, - QCOM_SCM_SVC_BOOT, - QCOM_SCM_BOOT_SET_DLOAD_MODE); - if (avail) { - ret = __qcom_scm_set_dload_mode(__scm->dev, enable); - } else if (__scm->dload_mode_addr) { + if (__scm->dload_mode_addr) { ret = qcom_scm_io_writel(__scm->dload_mode_addr, - enable ? QCOM_SCM_BOOT_SET_DLOAD_MODE : 0); + enable ? QCOM_SCM_BOOT_SET_DLOAD_MODE : 0); + } else if (__qcom_scm_is_call_available(__scm->dev, QCOM_SCM_SVC_BOOT, + QCOM_SCM_BOOT_SET_DLOAD_MODE)) { + ret = __qcom_scm_set_dload_mode(__scm->dev, enable); } else { dev_err(__scm->dev, "No available mechanism for setting download mode\n");