OSDN Git Service

drivers: qcom: rpmh: avoid sending sleep/wake sets immediately
authorRaju P.L.S.S.S.N <rplsssn@codeaurora.org>
Tue, 23 Oct 2018 17:29:08 +0000 (22:59 +0530)
committerAndy Gross <andy.gross@linaro.org>
Fri, 1 Feb 2019 22:08:40 +0000 (16:08 -0600)
Fix the redundant call being made to send the sleep and wake requests
immediately to the controller.

As per the patch [1], the sleep and wake request votes are cached in
rpmh controller and sent during rpmh_flush(). These requests needs to be
sent only during entry of deeper system low power modes or suspend.

[1] https://patchwork.kernel.org/patch/10477533/

Reviewed-by: Lina Iyer <ilina@codeaurora.org>
Reviewed-by: Evan Green <evgreen@chromium.org>
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
drivers/soc/qcom/rpmh.c

index c7beb68..9fb25e6 100644 (file)
@@ -192,9 +192,8 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state,
                WARN_ON(irqs_disabled());
                ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg);
        } else {
-               ret = rpmh_rsc_write_ctrl_data(ctrlr_to_drv(ctrlr),
-                               &rpm_msg->msg);
                /* Clean up our call by spoofing tx_done */
+               ret = 0;
                rpmh_tx_done(&rpm_msg->msg, ret);
        }