- 22 7月, 2018 4 次提交
-
-
由 Lina Iyer 提交于
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: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Platform drivers that want to send a request but do not want to block until the RPMH request completes have now a new API - rpmh_write_async(). The API allocates memory and send the requests and returns the control back to the platform driver. The tx_done callback from the controller is handled in the context of the controller's thread and frees the allocated memory. This API allows RPMH requests from atomic contexts as well. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Active state requests are sent immediately to the RSC controller, while sleep and wake state requests are cached in this driver to avoid taxing the RSC controller repeatedly. The cached values will be sent to the controller when the rpmh_flush() is called. Generally, flushing is a system PM activity and may be called from the system PM drivers when the system is entering suspend or deeper sleep modes during cpuidle. Also allow invalidating the cached requests, so they may be re-populated again. Signed-off-by: NLina Iyer <ilina@codeaurora.org> [rplsssn: remove unneeded semicolon, address line over 80chars error] Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Reviewed-by: NEvan Green <evgreen@chromium.org> Reviewed-by: NMatthias Kaehlcke <mka@chromium.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-
由 Lina Iyer 提交于
Sending RPMH requests and waiting for response from the controller through a callback is common functionality across all platform drivers. To simplify drivers, add a library functions to create RPMH client and send resource state requests. rpmh_write() is a synchronous blocking call that can be used to send active state requests. Signed-off-by: NLina Iyer <ilina@codeaurora.org> Signed-off-by: NRaju P.L.S.S.S.N <rplsssn@codeaurora.org> Signed-off-by: NAndy Gross <andy.gross@linaro.org>
-