* [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* 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
* [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