Re: [PATCH v2 08/18] firmware: qcom_scm-64: Remove qcom_scm_call_do_smccc

Stephen Boyd
2019-11-15T23:45:21Z

Quoting Elliot Berman (2019-11-12 13:22:44)
> Remove thin wrapper to qcom_scm_call_do_smccc because it doesn't do
> enough of anything interesting to dedicate its own function.
>
> Signed-off-by: Elliot Berman <eberman@codeaurora.org>
> ---

I don't see the need for this patch. The function was split out in a
patch earlier this year because it was too nested in the calling
function.

> drivers/firmware/qcom_scm-64.c | 46 ++++++++++++++++++------------------------
> 1 file changed, 20 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/firmware/qcom_scm-64.c b/drivers/firmware/qcom_scm-64.c
> index f0a5f24..4131093 100644
> --- a/drivers/firmware/qcom_scm-64.c
> +++ b/drivers/firmware/qcom_scm-64.c
> @@ -90,31 +90,6 @@ static void __qcom_scm_call_do_quirk(const struct qcom_scm_desc *desc,
> } while (res->a0 == QCOM_SCM_INTERRUPTED);
> }
>
> -static void qcom_scm_call_do_smccc(const struct qcom_scm_desc *desc,
> - struct arm_smccc_res *res, u64 x5, bool atomic)
> -{
> - int retry_count = 0;

Maybe this can be unsigned given that it's a counter that only
increments.

> -
> - if (atomic) {
> - __qcom_scm_call_do_quirk(desc, res, x5, ARM_SMCCC_FAST_CALL);
> - return;
> - }
> -
> - do {
> - mutex_lock(&qcom_scm_lock);
> -
> - __qcom_scm_call_do_quirk(desc, res, x5, ARM_SMCCC_STD_CALL);
> -
> - mutex_unlock(&qcom_scm_lock);
> -
> - if (res->a0 == QCOM_SCM_V2_EBUSY) {
> - if (retry_count++ > QCOM_SCM_EBUSY_MAX_RETRY)
> - break;
> - msleep(QCOM_SCM_EBUSY_WAIT_MS);
> - }
> - } while (res->a0 == QCOM_SCM_V2_EBUSY);
> -}
> -
> static int ___qcom_scm_call_smccc(struct device *dev,
> struct qcom_scm_desc *desc, bool atomic)
> {