devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface
@ 2022-08-28 19:21 Akhil P Oommen
  2022-08-28 19:21 ` [PATCH v5 1/6] dt-bindings: clk: qcom: Support gpu cx gdsc reset Akhil P Oommen
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Akhil P Oommen @ 2022-08-28 19:21 UTC (permalink / raw)
  To: freedreno, dri-devel, linux-arm-msm, Rob Clark, Bjorn Andersson,
	Stephen Boyd, Dmitry Baryshkov
  Cc: krzysztof.kozlowski, Douglas Anderson, Akhil P Oommen,
	Abhinav Kumar, Andy Gross, Daniel Vetter, David Airlie,
	Konrad Dybcio, Krzysztof Kozlowski, Michael Turquette,
	Rob Herring, Sean Paul, Stephen Boyd, devicetree, linux-clk,
	linux-kernel


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. 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.

This series is rebased on top of linus's master branch.

Related discussion: https://patchwork.freedesktop.org/patch/493144/

Changes in v5:
- Nit: Remove a duplicate blank line (Krzysztof)

Changes in v4:
- Update gpu dt-binding schema
- Typo fix in commit text

Changes in v3:
- Use pointer to const for "struct qcom_reset_ops" in qcom_reset_map (Krzysztof)

Changes in v2:
- Return error when a particular custom reset op is not implemented. (Dmitry)

Akhil P Oommen (6):
  dt-bindings: clk: qcom: Support gpu cx gdsc reset
  clk: qcom: Allow custom reset ops
  clk: qcom: gdsc: Add a reset op to poll gdsc collapse
  clk: qcom: gpucc-sc7280: Add cx collapse reset support
  dt-bindings: drm/msm/gpu: Add optional resets
  arm64: dts: qcom: sc7280: Add Reset support for gpu

 .../devicetree/bindings/display/msm/gpu.yaml       |  6 +++++
 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                    | 10 ++++++++
 drivers/clk/qcom/reset.c                           | 27 ++++++++++++++++++++++
 drivers/clk/qcom/reset.h                           |  8 +++++++
 include/dt-bindings/clock/qcom,gpucc-sc7280.h      |  3 +++
 8 files changed, 83 insertions(+), 4 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v5 1/6] dt-bindings: clk: qcom: Support gpu cx gdsc reset
  2022-08-28 19:21 [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Akhil P Oommen
@ 2022-08-28 19:21 ` Akhil P Oommen
  2022-08-28 19:21 ` [PATCH v5 5/6] dt-bindings: drm/msm/gpu: Add optional resets Akhil P Oommen
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Akhil P Oommen @ 2022-08-28 19:21 UTC (permalink / raw)
  To: freedreno, dri-devel, linux-arm-msm, Rob Clark, Bjorn Andersson,
	Stephen Boyd, Dmitry Baryshkov
  Cc: krzysztof.kozlowski, Douglas Anderson, Akhil P Oommen, Andy Gross,
	Konrad Dybcio, Krzysztof Kozlowski, Michael Turquette,
	Rob Herring, Stephen Boyd, devicetree, linux-clk, linux-kernel

Add necessary definitions in gpucc bindings to ensure gpu cx gdsc collapse
through 'reset' framework for SC7280.

Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---

(no changes since v1)

 include/dt-bindings/clock/qcom,gpucc-sc7280.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/dt-bindings/clock/qcom,gpucc-sc7280.h b/include/dt-bindings/clock/qcom,gpucc-sc7280.h
index 669b23b..843a31b 100644
--- a/include/dt-bindings/clock/qcom,gpucc-sc7280.h
+++ b/include/dt-bindings/clock/qcom,gpucc-sc7280.h
@@ -32,4 +32,7 @@
 #define GPU_CC_CX_GDSC				0
 #define GPU_CC_GX_GDSC				1
 
+/* GPU_CC reset IDs */
+#define GPU_CX_COLLAPSE				0
+
 #endif
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v5 5/6] dt-bindings: drm/msm/gpu: Add optional resets
  2022-08-28 19:21 [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Akhil P Oommen
  2022-08-28 19:21 ` [PATCH v5 1/6] dt-bindings: clk: qcom: Support gpu cx gdsc reset Akhil P Oommen
@ 2022-08-28 19:21 ` Akhil P Oommen
  2022-08-30 10:02   ` Krzysztof Kozlowski
  2022-08-28 19:21 ` [PATCH v5 6/6] arm64: dts: qcom: sc7280: Add Reset support for gpu Akhil P Oommen
  2022-08-29 22:30 ` [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Stephen Boyd
  3 siblings, 1 reply; 6+ messages in thread
From: Akhil P Oommen @ 2022-08-28 19:21 UTC (permalink / raw)
  To: freedreno, dri-devel, linux-arm-msm, Rob Clark, Bjorn Andersson,
	Stephen Boyd, Dmitry Baryshkov
  Cc: krzysztof.kozlowski, Douglas Anderson, Akhil P Oommen,
	Abhinav Kumar, Daniel Vetter, David Airlie, Krzysztof Kozlowski,
	Rob Herring, Sean Paul, devicetree, linux-kernel

Add an optional reference to GPUCC reset which can be used to ensure cx
gdsc collapse during gpu recovery.

Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Acked-by: Rob Herring <robh@kernel.org>
---

Changes in v5:
- Nit: Remove a duplicate blank line (Krzysztof)

Changes in v4:
- New patch in v4

 Documentation/devicetree/bindings/display/msm/gpu.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index 3397bc3..408ed97 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -109,6 +109,12 @@ properties:
       For GMU attached devices a phandle to the GMU device that will
       control the power for the GPU.
 
+  resets:
+    maxItems: 1
+
+  reset-names:
+    items:
+      - const: cx_collapse
 
 required:
   - compatible
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v5 6/6] arm64: dts: qcom: sc7280: Add Reset support for gpu
  2022-08-28 19:21 [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Akhil P Oommen
  2022-08-28 19:21 ` [PATCH v5 1/6] dt-bindings: clk: qcom: Support gpu cx gdsc reset Akhil P Oommen
  2022-08-28 19:21 ` [PATCH v5 5/6] dt-bindings: drm/msm/gpu: Add optional resets Akhil P Oommen
@ 2022-08-28 19:21 ` Akhil P Oommen
  2022-08-29 22:30 ` [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Stephen Boyd
  3 siblings, 0 replies; 6+ messages in thread
From: Akhil P Oommen @ 2022-08-28 19:21 UTC (permalink / raw)
  To: freedreno, dri-devel, linux-arm-msm, Rob Clark, Bjorn Andersson,
	Stephen Boyd, Dmitry Baryshkov
  Cc: krzysztof.kozlowski, Douglas Anderson, Akhil P Oommen, Andy Gross,
	Konrad Dybcio, Krzysztof Kozlowski, Rob Herring, devicetree,
	linux-kernel

Add support for Reset using GPUCC driver for GPU. This helps to ensure
that GPU state is reset by making sure that CX head switch is collapsed.

Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
---

(no changes since v1)

 arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index e66fc67..f5257d6 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -2243,6 +2243,9 @@
 			nvmem-cells = <&gpu_speed_bin>;
 			nvmem-cell-names = "speed_bin";
 
+			resets = <&gpucc GPU_CX_COLLAPSE>;
+			reset-names = "cx_collapse";
+
 			gpu_opp_table: opp-table {
 				compatible = "operating-points-v2";
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface
  2022-08-28 19:21 [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Akhil P Oommen
                   ` (2 preceding siblings ...)
  2022-08-28 19:21 ` [PATCH v5 6/6] arm64: dts: qcom: sc7280: Add Reset support for gpu Akhil P Oommen
@ 2022-08-29 22:30 ` Stephen Boyd
  3 siblings, 0 replies; 6+ messages in thread
From: Stephen Boyd @ 2022-08-29 22:30 UTC (permalink / raw)
  To: Akhil P Oommen, Bjorn Andersson, Dmitry Baryshkov, Rob Clark,
	dri-devel, freedreno, linux-arm-msm, Philipp Zabel
  Cc: krzysztof.kozlowski, Douglas Anderson, Akhil P Oommen,
	Abhinav Kumar, Andy Gross, Daniel Vetter, David Airlie,
	Konrad Dybcio, Krzysztof Kozlowski, Michael Turquette,
	Rob Herring, Sean Paul, Stephen Boyd, devicetree, linux-clk,
	linux-kernel

+Philipp

Quoting Akhil P Oommen (2022-08-28 12:21:13)
> 
> 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. 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.

Please include the reset maintainer on reset related patches.

-Stephen

> 
> This series is rebased on top of linus's master branch.
> 
> Related discussion: https://patchwork.freedesktop.org/patch/493144/
> 
> Changes in v5:
> - Nit: Remove a duplicate blank line (Krzysztof)
> 
> Changes in v4:
> - Update gpu dt-binding schema
> - Typo fix in commit text
> 
> Changes in v3:
> - Use pointer to const for "struct qcom_reset_ops" in qcom_reset_map (Krzysztof)
> 
> Changes in v2:
> - Return error when a particular custom reset op is not implemented. (Dmitry)
> 
> Akhil P Oommen (6):
>   dt-bindings: clk: qcom: Support gpu cx gdsc reset
>   clk: qcom: Allow custom reset ops
>   clk: qcom: gdsc: Add a reset op to poll gdsc collapse
>   clk: qcom: gpucc-sc7280: Add cx collapse reset support
>   dt-bindings: drm/msm/gpu: Add optional resets
>   arm64: dts: qcom: sc7280: Add Reset support for gpu
> 
>  .../devicetree/bindings/display/msm/gpu.yaml       |  6 +++++
>  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                    | 10 ++++++++
>  drivers/clk/qcom/reset.c                           | 27 ++++++++++++++++++++++
>  drivers/clk/qcom/reset.h                           |  8 +++++++
>  include/dt-bindings/clock/qcom,gpucc-sc7280.h      |  3 +++
>  8 files changed, 83 insertions(+), 4 deletions(-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 5/6] dt-bindings: drm/msm/gpu: Add optional resets
  2022-08-28 19:21 ` [PATCH v5 5/6] dt-bindings: drm/msm/gpu: Add optional resets Akhil P Oommen
@ 2022-08-30 10:02   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2022-08-30 10:02 UTC (permalink / raw)
  To: Akhil P Oommen, freedreno, dri-devel, linux-arm-msm, Rob Clark,
	Bjorn Andersson, Stephen Boyd, Dmitry Baryshkov
  Cc: Douglas Anderson, Abhinav Kumar, Daniel Vetter, David Airlie,
	Krzysztof Kozlowski, Rob Herring, Sean Paul, devicetree,
	linux-kernel

On 28/08/2022 22:21, Akhil P Oommen wrote:
> Add an optional reference to GPUCC reset which can be used to ensure cx
> gdsc collapse during gpu recovery.
> 
> Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
> Acked-by: Rob Herring <robh@kernel.org>
> ---
> 
> Changes in v5:
> - Nit: Remove a duplicate blank line (Krzysztof)

FWIW:

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-30 10:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-28 19:21 [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Akhil P Oommen
2022-08-28 19:21 ` [PATCH v5 1/6] dt-bindings: clk: qcom: Support gpu cx gdsc reset Akhil P Oommen
2022-08-28 19:21 ` [PATCH v5 5/6] dt-bindings: drm/msm/gpu: Add optional resets Akhil P Oommen
2022-08-30 10:02   ` Krzysztof Kozlowski
2022-08-28 19:21 ` [PATCH v5 6/6] arm64: dts: qcom: sc7280: Add Reset support for gpu Akhil P Oommen
2022-08-29 22:30 ` [PATCH v5 0/6] clk/qcom: Support gdsc collapse polling using 'reset' interface Stephen Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).