drivers: qcom: rpmh: avoid sending sleep/wake sets immediately
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>
This commit is contained in:
parent
f58b0f9d9d
commit
7300241926
|
@ -192,9 +192,8 @@ static int __rpmh_write(const struct device *dev, enum rpmh_state state,
|
||||||
WARN_ON(irqs_disabled());
|
WARN_ON(irqs_disabled());
|
||||||
ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg);
|
ret = rpmh_rsc_send_data(ctrlr_to_drv(ctrlr), &rpm_msg->msg);
|
||||||
} else {
|
} else {
|
||||||
ret = rpmh_rsc_write_ctrl_data(ctrlr_to_drv(ctrlr),
|
|
||||||
&rpm_msg->msg);
|
|
||||||
/* Clean up our call by spoofing tx_done */
|
/* Clean up our call by spoofing tx_done */
|
||||||
|
ret = 0;
|
||||||
rpmh_tx_done(&rpm_msg->msg, ret);
|
rpmh_tx_done(&rpm_msg->msg, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue