[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAD=FV=WbvfbU4G2H1a1LrG=fwASn3wscHwOymvO1uJwU8aH70Q@mail.gmail.com>
Date: Thu, 7 Jan 2021 08:01:17 -0800
From: Doug Anderson <dianders@...omium.org>
To: Maulik Shah <mkshah@...eaurora.org>
Cc: Bjorn Andersson <bjorn.andersson@...aro.org>,
Andy Gross <agross@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
Lina Iyer <ilina@...eaurora.org>,
Srinivas Rao L <lsrao@...eaurora.org>
Subject: Re: [PATCH v3] soc: qcom: rpmh: Remove serialization of TCS commands
Hi,
On Thu, Jan 7, 2021 at 12:39 AM Maulik Shah <mkshah@...eaurora.org> wrote:
>
> From: Lina Iyer <ilina@...eaurora.org>
>
> 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@...eaurora.org>
> Signed-off-by: Maulik Shah <mkshah@...eaurora.org>
> ---
> 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@...omium.org>
Powered by blists - more mailing lists