drivers: qcom: rpmh: add support for batch RPMH request
authorLina Iyer <ilina@codeaurora.org>
Wed, 20 Jun 2018 13:27:06 +0000 (18:57 +0530)
committerAndy Gross <andy.gross@linaro.org>
Sat, 21 Jul 2018 18:33:36 +0000 (13:33 -0500)
commitc8790cb6da58d3fa09dfa707aa486fe6769c23bc
tree4d0f9977301a4fd5964f07a589c2dc2e1f067f93
parent564b5e24ccd4c840a7f84dfd952e5715dd9b3966
drivers: qcom: rpmh: add support for batch RPMH request

Platform drivers need make a lot of resource state requests at the same
time, say, at the start or end of an usecase. It can be quite
inefficient to send each request separately. Instead they can give the
RPMH library a batch of requests to be sent and wait on the whole
transaction to be complete.

rpmh_write_batch() is a blocking call that can be used to send multiple
RPMH command sets. Each RPMH command set is set asynchronously and the
API blocks until all the command sets are complete and receive their
tx_done callbacks.

Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
drivers/soc/qcom/rpmh-internal.h
drivers/soc/qcom/rpmh-rsc.c
drivers/soc/qcom/rpmh.c
include/soc/qcom/rpmh.h