Re: [PATCH v3] soc: qcom: rpmh: Remove serialization of TCS commands

From: Doug Anderson
Date: Thu Jan 07 2021 - 11:03:49 EST


Hi,

On Thu, Jan 7, 2021 at 12:39 AM Maulik Shah <mkshah@xxxxxxxxxxxxxx> wrote:
>
> From: Lina Iyer <ilina@xxxxxxxxxxxxxx>
>
> Requests sent to RPMH can be sent as fire-n-forget or response required,
> with the latter ensuring the command has been completed by the hardware
> accelerator. Commands in a request with tcs_cmd::wait set, would ensure
> that those select commands are sent as response required, even though
> the actual TCS request may be fire-n-forget.
>
> Also, commands with .wait flag were also guaranteed to be complete
> before the following command in the TCS is sent. This means that the
> next command of the same request blocked until the current request is
> completed. This could mean waiting for a voltage to settle or series of
> NOCs be configured before the next command is sent. But drivers using
> this feature have never cared about the serialization aspect. By not
> enforcing the serialization we can allow the hardware to run in parallel
> improving the performance.
>
> Let's clarify the usage of this member in the tcs_cmd structure to mean
> only completion and not serialization. This should also improve the
> performance of bus requests where changes could happen in parallel.
> Also, CPU resume from deep idle may see benefits from certain wake
> requests.
>
> Signed-off-by: Lina Iyer <ilina@xxxxxxxxxxxxxx>
> Signed-off-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx>
> ---
> Changes in v3:
> - Update the comment in include/soc/qcom/tcs.h
> - Update to keep req->wait_for_compl as is irq handler
>
> Changes in v2:
> - Add SoB of self
> - Fix typo in comment
> - Update comment as Doug suggested
> - Remove write to RSC_DRV_CMD_WAIT_FOR_CMPL in tcs_write() and
> tcs_invalidate()
> ---
> drivers/soc/qcom/rpmh-rsc.c | 22 +++++++++-------------
> include/soc/qcom/tcs.h | 9 ++++++++-
> 2 files changed, 17 insertions(+), 14 deletions(-)

Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>