[lkml]   [2022]   [Aug]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 0/5] clk/qcom: Support gdsc collapse polling using 'reset' inteface
On 8/3/2022 12:02 AM, Rob Clark wrote:
> On Tue, Aug 2, 2022 at 12:02 AM Dmitry Baryshkov
> <> wrote:
>> On 30/07/2022 12:17, Akhil P Oommen wrote:
>>> Some clients like adreno gpu driver would like to ensure that its gdsc
>>> is collapsed at hardware during a gpu reset sequence. This is because it
>>> has a votable gdsc which could be ON due to a vote from another subsystem
>>> like tz, hyp etc or due to an internal hardware signal.
>> If this is votable, do we have any guarantee that the gdsc will collapse
>> at all? How can we proceed if it did not collapse?
> Other potential votes should be transient. But I guess we eventually
> need to timeout and give up. At which point we are no worse off than
> before.
> But hmm, we aren't using RBBM_SW_RESET_CMD for sw reset like we have
> on previous generations? That does seem a bit odd. Looks like kgsl
> does use it.
> BR,
> -R
Like Rob mentioned there could be transient votes from other
clients/subsystem. It could be even stuck ON when hardware is in bad
shape in some very rare cases. For the worst case scenario, I have added
a timeout (500msec) in the gdsc reset op.

I have added the Soft reset in [1]. But this resets only the core gpu
blocks, not everything. For eg. GMU.

[1] [PATCH v3 7/8] drm/msm/a6xx: Improve gpu recovery sequence

>>> To allow
>>> this, gpucc driver can expose an interface to the client driver using
>>> reset framework. Using this the client driver can trigger a polling within
>>> the gdsc driver.
>> Trigger the polling made me think initially that we will actually
>> trigger something in the HW. Instead the client uses reset framework to
>> poll for the gdsc to be reset.
Yes. I should replace 'trigger' with 'start' here.

>>> This series is rebased on top of linus's master branch.
>>> Related discussion:
>>> Akhil P Oommen (5):
>>> dt-bindings: clk: qcom: Support gpu cx gdsc reset
>>> clk: qcom: Allow custom reset ops
>>> clk: qcom: gpucc-sc7280: Add cx collapse reset support
>>> clk: qcom: gdsc: Add a reset op to poll gdsc collapse
>>> arm64: dts: qcom: sc7280: Add Reset support for gpu
>>> arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 +++
>>> drivers/clk/qcom/gdsc.c | 23 +++++++++++++++++++----
>>> drivers/clk/qcom/gdsc.h | 7 +++++++
>>> drivers/clk/qcom/gpucc-sc7280.c | 6 ++++++
>>> drivers/clk/qcom/reset.c | 6 ++++++
>>> drivers/clk/qcom/reset.h | 2 ++
>>> include/dt-bindings/clock/qcom,gpucc-sc7280.h | 3 +++
>>> 7 files changed, 46 insertions(+), 4 deletions(-)
>> --
>> With best wishes
>> Dmitry

 \ /
  Last update: 2022-08-03 12:02    [W:0.095 / U:2.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site