2022-08-18 04:35:37

by Akhil P Oommen

[permalink] [raw]
Subject: [PATCH v2 0/5] clk/qcom: Support gdsc collapse polling using 'reset' inteface


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 v2:
- Return error when a particular custom reset op is not implemented. (Dmitry)

Akhil P Oommen (5):
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
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 | 10 ++++++++++
drivers/clk/qcom/reset.c | 27 +++++++++++++++++++++++++++
drivers/clk/qcom/reset.h | 8 ++++++++
include/dt-bindings/clock/qcom,gpucc-sc7280.h | 3 +++
7 files changed, 77 insertions(+), 4 deletions(-)

--
2.7.4


2022-08-18 05:05:18

by Akhil P Oommen

[permalink] [raw]
Subject: [PATCH v2 5/5] arm64: dts: qcom: sc7280: Add Reset support for gpu

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 <[email protected]>
---

(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