* Claude review: dt-bindings: display/msm: gpu: Document Adreno X2-185
2026-05-01 17:10 ` [PATCH v2 1/4] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
@ 2026-05-04 23:19 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-04 23:19 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good.**
This patch adds a single compatible string entry:
```
- qcom,adreno-43051401
+ - qcom,adreno-44070001
```
The compatible string `qcom,adreno-44070001` follows the established naming convention of `qcom,adreno-XXYYYZZZ` where the hex value encodes the chip/core/major/minor IDs. It is placed in sorted order after the existing A430 family entries.
One minor note: the commit message says "Adreno X2-185" but the cover letter says "Adreno X2-85". The subject line also says "X2-185". It would be good to confirm which marketing name is correct — the cover letter and the commit messages disagree. If the cover letter's "X2-85" is the correct name, the commit message subject should be updated.
No other concerns.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: dt-bindings: display/msm: gpu: Document Adreno X2-185
2026-05-12 19:21 ` [PATCH v4 2/6] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
@ 2026-05-16 2:51 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 2:51 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Adds binding constraints for `qcom,adreno-44070001`:
- Restricts `reg` to exactly 2 entries (`kgsl_3d0_reg_memory`, `cx_mem`)
- Adds the compatible to the A6xx+ list that defines clocks in the GMU node
This correctly follows the existing pattern for A8xx chips in the binding. The 2-entry reg constraint (no separate `cx_dbgc`) aligns with the cover letter's note that cx_dbgc is now absorbed into the `kgsl_3d0_reg_memory` range. No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: dt-bindings: display/msm: gpu: Document Adreno X2-185
2026-05-11 20:07 ` [PATCH v3 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
@ 2026-05-16 4:42 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:42 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Change:** Adds `qcom,adreno-44070001` to the GPU DT binding with constraints for exactly 2 reg entries (`kgsl_3d0_reg_memory` and `cx_mem`).
The compatible string matches the chip ID in `a6xx_catalog.c:2113`. The reg constraint of exactly 2 entries (no `cx_dbgc`) is consistent with the cover letter's explanation that cx_dbgc is now part of kgsl_3d0_reg_memory range.
The patch also adds the compatible to the "Starting with A6xx, clocks are defined in GMU node" block, which correctly disables `clocks`/`clock-names` at the GPU node level.
**Observation:** The subject says "Adreno X2-185" but the cover letter says "Adreno X2-85". Minor inconsistency in the marketing name -- the actual chip ID (44070001) is consistent throughout. This may just be the official full name vs. shorthand.
**Verdict:** Looks correct.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v5 0/5] Devicetree support for Glymur GPU
@ 2026-05-22 10:11 Akhil P Oommen
2026-05-22 10:11 ` [PATCH v5 1/5] drm/msm/a8xx: Fix RSCC offset Akhil P Oommen
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Akhil P Oommen @ 2026-05-22 10:11 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rob Clark, Sean Paul, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Will Deacon, Robin Murphy, Joerg Roedel
Cc: linux-arm-msm, devicetree, linux-kernel, dri-devel, freedreno,
linux-arm-kernel, iommu, Akhil P Oommen, Rajendra Nayak,
Konrad Dybcio, Dmitry Baryshkov, Manaf Meethalavalappu Pallikunhi
This series adds the necessary Device Tree bits to enable GPU support
on the Glymur-based CRD devices. The Adreno X2-85 GPU present in Glymur
chipsets is based on the new Adreno A8x family of GPUs. It features a new
slice architecture with 4 slices, significantly higher bandwidth
throughput compared to mobile counterparts, raytracing support, and the
highest GPU Fmax seen so far on an Adreno GPU (1850 Mhz), among other
improvements.
This series includes patches that updates DT schema, add GPU SMMU &
GPU/GMU support. Keen-eyed readers may notice that the zap shader node
is missing. This is intentional: The Glymur-based laptop platforms
generally allow booting Linux at EL2 (yay!), which means the zap firmware
is not required here.
There is an update to the gxclkctl/drm drivers to properly support the IFPC
feature across all A8x GPUs. That series [1] is necessary to properly
support Glymur GPU:
[1] https://lore.kernel.org/lkml/20260427-gfx-clk-fixes-v2-0-797e54b3d464@oss.qualcomm.com/
Just FYI, on top of the linux-next, I had to pick below series [2] to boot
the device properly. But it is unrelated to GPU or this series:
[2] https://lore.kernel.org/all/20260331-qref_vote-v1-0-3fd7fbf87864@oss.qualcomm.com/
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Changes in v5:
- Relax contraints for reg-names property (Krzysztof)
- Drop the smmu binding doc patch as it got picked up
- Link to v4: https://lore.kernel.org/r/20260513-glymur-gpu-dt-v4-0-f83832c3bc9a@oss.qualcomm.com
Changes in v4:
- Add a new patch for passive cooling support
- Link to v3: https://lore.kernel.org/r/20260512-glymur-gpu-dt-v3-0-84232dc21c03@oss.qualcomm.com
Changes in v3:
- Add a new patch to fix RSCC base vaddr in drm-msm
- Remove interconnect property from adreno smmu dt and the binding doc
- Add a contrait in GPU binding doc to limit the reg entries for Glymur
(Krzysztof)
- Link to v2: https://lore.kernel.org/r/20260501-glymur-gpu-dt-v2-0-2f128b5596bb@oss.qualcomm.com
Changes in v2:
- Keep GPU/GMU enabled by default and drop the enablement patch (Konrad)
- Drop zap shader node from DT
- A new patch to update GPU SMMU dt schema.
- Adjust reg range in dt nodes to avoid overlap.
- Removed cx_dbgc range as it is already stable across chipsets. This
region is now part of kgsl_3d0_reg_memory range.
- Link to v1: https://lore.kernel.org/r/20260405-glymur-gpu-dt-v1-0-2135eb11c562@oss.qualcomm.com
---
Akhil P Oommen (3):
drm/msm/a8xx: Fix RSCC offset
dt-bindings: display/msm: gpu: Document Adreno X2-185
arm64: dts: qcom: Add GPU support for Glymur
Manaf Meethalavalappu Pallikunhi (1):
arm64: dts: qcom: glymur: Add GPU cooling
Rajendra Nayak (1):
arm64: dts: qcom: glymur: Add GPU smmu node
.../devicetree/bindings/display/msm/gpu.yaml | 16 +
arch/arm64/boot/dts/qcom/glymur.dtsi | 461 ++++++++++++++++++---
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 7 +-
3 files changed, 427 insertions(+), 57 deletions(-)
---
base-commit: c9bd03db3e792a99e9789fde20e91898e3a29e8a
change-id: 20260226-glymur-gpu-dt-339e5092606b
prerequisite-message-id: <20260410-glymur_mmcc_dt_config_v2-v3-0-acce9d106e72@oss.qualcomm.com>
prerequisite-patch-id: f7ab29f2f0241b6536d3b0c0593f0baa0e435221
prerequisite-patch-id: 56c830b7718129323b006e492aed9822d7c30079
Best regards,
--
Akhil P Oommen <akhilpo@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v5 1/5] drm/msm/a8xx: Fix RSCC offset
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
@ 2026-05-22 10:11 ` Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:11 ` [PATCH v5 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Akhil P Oommen @ 2026-05-22 10:11 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rob Clark, Sean Paul, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Will Deacon, Robin Murphy, Joerg Roedel
Cc: linux-arm-msm, devicetree, linux-kernel, dri-devel, freedreno,
linux-arm-kernel, iommu, Akhil P Oommen
In A8xx, the RSCC block is part of GPU's register space. Update the
virtual base address of rscc to point to the correct address.
Fixes: 50e8a557d8d3 ("drm/msm/a8xx: Add support for A8x GMU")
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 1b44b9e21ad8..cab4c46c6cf2 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -2357,7 +2357,12 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node)
goto err_mmio;
}
} else if (adreno_is_a8xx(adreno_gpu)) {
- gmu->rscc = gmu->mmio + 0x19000;
+ /*
+ * On a8xx , RSCC lives at GPU base + 0x50000, which falls
+ * inside the GPU's kgsl_3d0_reg_memory range rather than the
+ * GMU's.
+ */
+ gmu->rscc = gpu->mmio + 0x50000;
} else {
gmu->rscc = gmu->mmio + 0x23000;
}
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v5 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
2026-05-22 10:11 ` [PATCH v5 1/5] drm/msm/a8xx: Fix RSCC offset Akhil P Oommen
@ 2026-05-22 10:11 ` Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:11 ` [PATCH v5 3/5] arm64: dts: qcom: glymur: Add GPU smmu node Akhil P Oommen
` (3 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Akhil P Oommen @ 2026-05-22 10:11 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rob Clark, Sean Paul, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Will Deacon, Robin Murphy, Joerg Roedel
Cc: linux-arm-msm, devicetree, linux-kernel, dri-devel, freedreno,
linux-arm-kernel, iommu, Akhil P Oommen
Adreno X2-185 GPU found in Glymur chipsets belongs to the A8x family.
It features a new slice architecture with 4 slices, significantly higher
bandwidth throughput compared to mobile counterparts, raytracing support,
and the highest GPU Fmax seen so far on an Adreno GPU (1850 Mhz), among
other improvements. Update the dt bindings documentation to describe this
GPU.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Documentation/devicetree/bindings/display/msm/gpu.yaml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index 04b2328903ca..77caacd0fb3f 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -411,6 +411,21 @@ allOf:
- clocks
- clock-names
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,adreno-44070001
+ then:
+ properties:
+ reg:
+ minItems: 2
+ maxItems: 2
+
+ reg-names:
+ minItems: 2
+ maxItems: 2
+
- if:
properties:
compatible:
@@ -434,6 +449,7 @@ allOf:
- qcom,adreno-43050a01
- qcom,adreno-43050c01
- qcom,adreno-43051401
+ - qcom,adreno-44070001
then: # Starting with A6xx, the clocks are usually defined in the GMU node
properties:
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v5 3/5] arm64: dts: qcom: glymur: Add GPU smmu node
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
2026-05-22 10:11 ` [PATCH v5 1/5] drm/msm/a8xx: Fix RSCC offset Akhil P Oommen
2026-05-22 10:11 ` [PATCH v5 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
@ 2026-05-22 10:11 ` Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:12 ` [PATCH v5 4/5] arm64: dts: qcom: Add GPU support for Glymur Akhil P Oommen
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Akhil P Oommen @ 2026-05-22 10:11 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rob Clark, Sean Paul, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Will Deacon, Robin Murphy, Joerg Roedel
Cc: linux-arm-msm, devicetree, linux-kernel, dri-devel, freedreno,
linux-arm-kernel, iommu, Akhil P Oommen, Rajendra Nayak,
Konrad Dybcio, Dmitry Baryshkov
From: Rajendra Nayak <rajendra.nayak@oss.qualcomm.com>
Add the nodes to describe the GPU SMMU node.
Signed-off-by: Rajendra Nayak <rajendra.nayak@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 38 ++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index ed9aac42fcbf..5e76a0d53f01 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -3729,6 +3729,44 @@ gpucc: clock-controller@3d90000 {
#power-domain-cells = <1>;
};
+ adreno_smmu: iommu@3da0000 {
+ compatible = "qcom,glymur-smmu-500", "qcom,adreno-smmu",
+ "qcom,smmu-500", "arm,mmu-500";
+ reg = <0x0 0x03da0000 0x0 0x40000>;
+ #iommu-cells = <2>;
+ #global-interrupts = <1>;
+ interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 574 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 575 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 576 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 577 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 660 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 662 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 665 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 666 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 667 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 670 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 700 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
+ clock-names = "hlos";
+ power-domains = <&gpucc GPU_CC_CX_GDSC>;
+ dma-coherent;
+ };
+
ipcc: mailbox@3e04000 {
compatible = "qcom,glymur-ipcc", "qcom,ipcc";
reg = <0x0 0x03e04000 0x0 0x1000>;
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v5 4/5] arm64: dts: qcom: Add GPU support for Glymur
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
` (2 preceding siblings ...)
2026-05-22 10:11 ` [PATCH v5 3/5] arm64: dts: qcom: glymur: Add GPU smmu node Akhil P Oommen
@ 2026-05-22 10:12 ` Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:12 ` [PATCH v5 5/5] arm64: dts: qcom: glymur: Add GPU cooling Akhil P Oommen
2026-05-25 8:58 ` Claude review: Devicetree support for Glymur GPU Claude Code Review Bot
5 siblings, 1 reply; 15+ messages in thread
From: Akhil P Oommen @ 2026-05-22 10:12 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rob Clark, Sean Paul, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Will Deacon, Robin Murphy, Joerg Roedel
Cc: linux-arm-msm, devicetree, linux-kernel, dri-devel, freedreno,
linux-arm-kernel, iommu, Akhil P Oommen, Konrad Dybcio
The Adreno X2 series GPU present in Glymur SoC belongs to the A8x
family. It is a new HW IP with architectural improvements as well
as different set of hw configs like GMEM, num SPs, Caches sizes etc.
Add the GPU and GMU nodes to describe this hardware.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 183 +++++++++++++++++++++++++++++++++++
1 file changed, 183 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 5e76a0d53f01..01a2e32e503b 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -3701,6 +3701,129 @@ hsc_noc: interconnect@2000000 {
#interconnect-cells = <2>;
};
+ gpu: gpu@3d00000 {
+ compatible = "qcom,adreno-44070001", "qcom,adreno";
+ reg = <0x0 0x03d00000 0x0 0x6c000>,
+ <0x0 0x03d9e000 0x0 0x2000>;
+ reg-names = "kgsl_3d0_reg_memory",
+ "cx_mem";
+
+ interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
+
+ iommus = <&adreno_smmu 0 0x0>,
+ <&adreno_smmu 1 0x0>;
+
+ operating-points-v2 = <&gpu_opp_table>;
+
+ qcom,gmu = <&gmu>;
+ #cooling-cells = <2>;
+
+ interconnects = <&hsc_noc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "gfx-mem";
+
+ gpu_opp_table: opp-table {
+ compatible = "operating-points-v2-adreno",
+ "operating-points-v2";
+
+ opp-310000000 {
+ opp-hz = /bits/ 64 <310000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ opp-peak-kBps = <2136719>;
+ opp-supported-hw = <0xf>;
+ /* ACD is disabled */
+ };
+
+ opp-410000000 {
+ opp-hz = /bits/ 64 <410000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ opp-peak-kBps = <6074219>;
+ opp-supported-hw = <0xf>;
+ /* ACD is disabled */
+ };
+
+ opp-572000000 {
+ opp-hz = /bits/ 64 <572000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ opp-peak-kBps = <12449219>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0xe02d5ffd>;
+ };
+
+ opp-760000000 {
+ opp-hz = /bits/ 64 <760000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ opp-peak-kBps = <12449219>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0xc0285ffd>;
+ };
+
+ opp-820000000 {
+ opp-hz = /bits/ 64 <820000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
+ opp-peak-kBps = <16500000>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0xa82e5ffd>;
+ };
+
+ opp-915000000 {
+ opp-hz = /bits/ 64 <915000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ opp-peak-kBps = <16500000>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0x882d5ffd>;
+ };
+
+ opp-1070000000 {
+ opp-hz = /bits/ 64 <1070000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+ opp-peak-kBps = <16500000>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0x882b5ffd>;
+ };
+
+ opp-1185000000 {
+ opp-hz = /bits/ 64 <1185000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
+ opp-peak-kBps = <16500000>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0x882a5ffd>;
+ };
+
+ opp-1350000000 {
+ opp-hz = /bits/ 64 <1350000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+ opp-peak-kBps = <18597657>;
+ opp-supported-hw = <0xf>;
+ qcom,opp-acd-level = <0x882a5ffd>;
+ };
+
+ opp-1550000000 {
+ opp-hz = /bits/ 64 <1550000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L3>;
+ opp-peak-kBps = <18597657>;
+ opp-supported-hw = <0x7>;
+ qcom,opp-acd-level = <0xa8295ffd>;
+ };
+
+ opp-1700000000 {
+ opp-hz = /bits/ 64 <1700000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L4>;
+ opp-peak-kBps = <18597657>;
+ opp-supported-hw = <0x7>;
+ qcom,opp-acd-level = <0x88295ffd>;
+ };
+
+ opp-1850000000 {
+ opp-hz = /bits/ 64 <1850000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L5>;
+ opp-peak-kBps = <18597657>;
+ opp-supported-hw = <0x3>;
+ qcom,opp-acd-level = <0x88285ffd>;
+ };
+ };
+ };
+
gxclkctl: clock-controller@3d64000 {
compatible = "qcom,glymur-gxclkctl";
reg = <0x0 0x03d64000 0x0 0x6000>;
@@ -3712,6 +3835,66 @@ gxclkctl: clock-controller@3d64000 {
#power-domain-cells = <1>;
};
+ gmu: gmu@3d6c000 {
+ compatible = "qcom,adreno-gmu-x285.1", "qcom,adreno-gmu";
+
+ reg = <0x0 0x03d6c000 0x0 0x32000>;
+ reg-names = "gmu";
+
+ interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "hfi",
+ "gmu";
+
+ clocks = <&gpucc GPU_CC_AHB_CLK>,
+ <&gpucc GPU_CC_CX_GMU_CLK>,
+ <&gpucc GPU_CC_CXO_CLK>,
+ <&gcc GCC_GPU_GEMNOC_GFX_CLK>,
+ <&gpucc GPU_CC_HUB_CX_INT_CLK>,
+ <&gpucc GPU_CC_RSCC_HUB_AON_CLK>;
+ clock-names = "ahb",
+ "gmu",
+ "cxo",
+ "memnoc",
+ "hub",
+ "rscc";
+
+ power-domains = <&gpucc GPU_CC_CX_GDSC>,
+ <&gxclkctl GX_CLKCTL_GX_GDSC>;
+ power-domain-names = "cx",
+ "gx";
+
+ iommus = <&adreno_smmu 5 0x0>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ operating-points-v2 = <&gmu_opp_table>;
+
+ gmu_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-575000000 {
+ opp-hz = /bits/ 64 <575000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ };
+
+ opp-700000000 {
+ opp-hz = /bits/ 64 <700000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ };
+
+ opp-725000000 {
+ opp-hz = /bits/ 64 <725000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ };
+
+ opp-750000000 {
+ opp-hz = /bits/ 64 <750000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ };
+ };
+ };
+
gpucc: clock-controller@3d90000 {
compatible = "qcom,glymur-gpucc";
reg = <0x0 0x03d90000 0x0 0x9800>;
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v5 5/5] arm64: dts: qcom: glymur: Add GPU cooling
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
` (3 preceding siblings ...)
2026-05-22 10:12 ` [PATCH v5 4/5] arm64: dts: qcom: Add GPU support for Glymur Akhil P Oommen
@ 2026-05-22 10:12 ` Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-25 8:58 ` Claude review: Devicetree support for Glymur GPU Claude Code Review Bot
5 siblings, 1 reply; 15+ messages in thread
From: Akhil P Oommen @ 2026-05-22 10:12 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rob Clark, Sean Paul, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Will Deacon, Robin Murphy, Joerg Roedel
Cc: linux-arm-msm, devicetree, linux-kernel, dri-devel, freedreno,
linux-arm-kernel, iommu, Akhil P Oommen,
Manaf Meethalavalappu Pallikunhi
From: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@oss.qualcomm.com>
The GPU does not throttle its speed automatically when it
reaches high temperatures. Set up GPU cooling by throttling
the GPU speed when it reaches 95°C.
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 240 +++++++++++++++++++++++++++--------
1 file changed, 184 insertions(+), 56 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 01a2e32e503b..e109fb5b35a4 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -22,6 +22,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/spmi/spmi.h>
+#include <dt-bindings/thermal/thermal.h>
#include "glymur-ipcc.h"
@@ -7149,13 +7150,22 @@ aoss-7-critical {
};
thermal_gpu_0_0: gpu-0-0-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 1>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu00_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu00_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-0-0-critical {
@@ -7164,16 +7174,26 @@ gpu-0-0-critical {
type = "critical";
};
};
+
};
thermal_gpu_0_1: gpu-0-1-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 2>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu01_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu01_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-0-1-critical {
@@ -7185,13 +7205,22 @@ gpu-0-1-critical {
};
thermal_gpu_0_2: gpu-0-2-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 3>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu02_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu02_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-0-2-critical {
@@ -7203,13 +7232,22 @@ gpu-0-2-critical {
};
thermal_gpu_1_0: gpu-1-0-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 4>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu10_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu10_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-1-0-critical {
@@ -7221,13 +7259,22 @@ gpu-1-0-critical {
};
thermal_gpu_1_1: gpu-1-1-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 5>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu11_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu11_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-1-1-critical {
@@ -7239,13 +7286,22 @@ gpu-1-1-critical {
};
thermal_gpu_1_2: gpu-1-2-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 6>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu12_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu12_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-1-2-critical {
@@ -7257,13 +7313,22 @@ gpu-1-2-critical {
};
thermal_gpu_2_0: gpu-2-0-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 7>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu20_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu20_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-2-0-critical {
@@ -7275,13 +7340,22 @@ gpu-2-0-critical {
};
thermal_gpu_2_1: gpu-2-1-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 8>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu21_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu21_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-2-1-critical {
@@ -7293,13 +7367,22 @@ gpu-2-1-critical {
};
thermal_gpu_2_2: gpu-2-2-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 9>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu22_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu22_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-2-2-critical {
@@ -7311,13 +7394,22 @@ gpu-2-2-critical {
};
thermal_gpu_3_0: gpu-3-0-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 10>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu30_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu30_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-3-0-critical {
@@ -7329,13 +7421,22 @@ gpu-3-0-critical {
};
thermal_gpu_3_1: gpu-3-1-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 11>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu31_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu31_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-3-1-critical {
@@ -7347,13 +7448,22 @@ gpu-3-1-critical {
};
thermal_gpu_3_2: gpu-3-2-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 12>;
+ cooling-maps {
+ map0 {
+ trip = <&gpu32_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpu32_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpu-3-2-critical {
@@ -7365,13 +7475,22 @@ gpu-3-2-critical {
};
thermal_gpuss_0: gpuss-0-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 13>;
+ cooling-maps {
+ map0 {
+ trip = <&gpuss0_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpuss0_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpuss-0-critical {
@@ -7383,13 +7502,22 @@ gpuss-0-critical {
};
thermal_gpuss_1: gpuss-1-thermal {
+ polling-delay-passive = <100>;
+
thermal-sensors = <&tsens7 14>;
+ cooling-maps {
+ map0 {
+ trip = <&gpuss1_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+
trips {
- trip-point0 {
- temperature = <90000>;
- hysteresis = <5000>;
- type = "hot";
+ gpuss1_alert0: trip-point0 {
+ temperature = <95000>;
+ hysteresis = <1000>;
+ type = "passive";
};
gpuss-1-critical {
--
2.51.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Claude review: Devicetree support for Glymur GPU
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
` (4 preceding siblings ...)
2026-05-22 10:12 ` [PATCH v5 5/5] arm64: dts: qcom: glymur: Add GPU cooling Akhil P Oommen
@ 2026-05-25 8:58 ` Claude Code Review Bot
5 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 8:58 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Devicetree support for Glymur GPU
Author: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Patches: 6
Reviewed: 2026-05-25T18:58:49.890953
---
This is a well-structured 5-patch series adding GPU devicetree support for the Qualcomm Glymur SoC (Adreno X2-185, A8x family). The series includes a driver bugfix for RSCC base address on A8xx, DT binding documentation, SMMU/GPU/GMU DT nodes, and thermal cooling support. The patches are logically ordered with the driver fix first, bindings second, and DT nodes last. The series is at v5 and has existing Reviewed-by tags on patches 3 and 4. Overall quality is good with only minor issues.
No major correctness or functional issues found.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: drm/msm/a8xx: Fix RSCC offset
2026-05-22 10:11 ` [PATCH v5 1/5] drm/msm/a8xx: Fix RSCC offset Akhil P Oommen
@ 2026-05-25 8:58 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 8:58 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Summary:** Changes the RSCC base address from `gmu->mmio + 0x19000` to `gpu->mmio + 0x50000` for A8xx GPUs.
This fix correctly changes both the base pointer and the offset. On A8xx the RSCC block lives in the GPU register space rather than the GMU's, so using `gpu->mmio` instead of `gmu->mmio` is the right thing to do. Verified that `gpu` (a `struct msm_gpu *`) is in scope in `a6xx_gmu_init()` (line 2236 of the current tree) and that `gpu->mmio` is initialized by `adreno_gpu_init()` before `a6xx_gmu_init()` is called.
The offset 0x50000 falls within the GPU's `kgsl_3d0_reg_memory` range (size 0x6c000 per patch 4), so the access is within bounds.
Has an appropriate `Fixes:` tag.
**Minor nit:** Extra space in the comment:
```c
+ * On a8xx , RSCC lives at GPU base + 0x50000, which falls
```
Should be `On a8xx,` (no space before comma).
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: dt-bindings: display/msm: gpu: Document Adreno X2-185
2026-05-22 10:11 ` [PATCH v5 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
@ 2026-05-25 8:58 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 8:58 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Summary:** Adds DT binding constraints for `qcom,adreno-44070001` — limits reg/reg-names to exactly 2 items, and adds this compatible to the list of GPUs that define clocks in the GMU node rather than the GPU node.
The constraints are correct:
- 2 reg entries (`kgsl_3d0_reg_memory` and `cx_mem`) match what patch 4 provides, correctly omitting `cx_dbgc` since the cover letter notes it's within the kgsl_3d0_reg_memory range on this SoC.
- Adding to the "clocks: false" list is appropriate since A8xx GPUs define clocks on the GMU node.
The `reg-names` constraint only specifies `minItems`/`maxItems` without listing the actual names. This is fine because the base schema (line 59-64 of gpu.yaml) already defines the ordered items, and the min/max here simply restricts which subset is valid. The v5 changelog notes this was relaxed per reviewer feedback from Krzysztof.
Looks good, no issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: arm64: dts: qcom: glymur: Add GPU smmu node
2026-05-22 10:11 ` [PATCH v5 3/5] arm64: dts: qcom: glymur: Add GPU smmu node Akhil P Oommen
@ 2026-05-25 8:58 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 8:58 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Summary:** Adds the Adreno SMMU node at `0x3da0000` with 1 global interrupt and 25 context bank interrupts.
The node structure follows the standard `qcom,adreno-smmu` pattern:
- Compatible string chain: `"qcom,glymur-smmu-500", "qcom,adreno-smmu", "qcom,smmu-500", "arm,mmu-500"` — appropriate SoC-specific to generic fallback chain.
- Uses `GPU_CC_GPU_SMMU_VOTE_CLK` and `GPU_CC_CX_GDSC` for clock/power.
- `dma-coherent` is expected for a laptop/CRD platform.
Already has Reviewed-by from Konrad Dybcio and Dmitry Baryshkov.
No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: arm64: dts: qcom: Add GPU support for Glymur
2026-05-22 10:12 ` [PATCH v5 4/5] arm64: dts: qcom: Add GPU support for Glymur Akhil P Oommen
@ 2026-05-25 8:58 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 8:58 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Summary:** Adds the GPU and GMU DT nodes with OPP tables, interconnects, and IOMMU references.
The GPU node at `0x3d00000` (size `0x6c000`) and GMU at `0x3d6c000` (size `0x32000`) are contiguous and non-overlapping:
- GPU: `0x3d00000` – `0x3d6bfff`
- GMU: `0x3d6c000` – `0x3d9dfff`
- cx_mem: `0x3d9e000` – `0x3d9ffff`
The RSCC at `gpu_base + 0x50000 = 0x3d50000` falls within the GPU kgsl_3d0_reg_memory range, consistent with patch 1.
The GPU OPP table has 12 entries ranging from 310 MHz to 1850 MHz (the cover letter's claimed max Fmax). The higher OPPs (1550+ MHz) use `opp-supported-hw = <0x7>` and `<0x3>` to restrict to specific speedbins — this is standard practice.
The GMU OPP table has 4 entries (575–750 MHz), which is reasonable.
**Observation:** The GMU register range (`0x3d6c000`, size `0x32000`, ending at `0x3d9dfff`) overlaps with `gpucc` at `0x3d90000` (size `0x9800`). This is likely intentional — the GMU driver only accesses its own registers within this range, and the clock controller has a separate ioremap. This pattern appears in other Qualcomm SoCs. Mentioned for completeness only.
Already has Reviewed-by from Konrad Dybcio.
No blocking issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
* Claude review: arm64: dts: qcom: glymur: Add GPU cooling
2026-05-22 10:12 ` [PATCH v5 5/5] arm64: dts: qcom: glymur: Add GPU cooling Akhil P Oommen
@ 2026-05-25 8:58 ` Claude Code Review Bot
0 siblings, 0 replies; 15+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 8:58 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Summary:** Converts all 14 GPU thermal zones from stub "hot" trip points at 90°C to active "passive" cooling at 95°C with 1°C hysteresis and 100ms polling, all referencing the GPU device as a cooling device.
The changes are mechanically consistent across all 14 zones:
- Adds `polling-delay-passive = <100>` for 100ms polling during thermal mitigation.
- Adds `cooling-maps` referencing `<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>`.
- Changes trip type from `"hot"` to `"passive"` to enable kernel-driven frequency throttling.
- Temperature raised from 90°C to 95°C, hysteresis reduced from 5°C to 1°C.
- Adds `#include <dt-bindings/thermal/thermal.h>` for `THERMAL_NO_LIMIT`.
- Critical trip points remain unchanged at 115°C.
The `cooling-maps` nodes are placed before `trips` in each thermal zone. The DT binding for thermal zones doesn't mandate ordering, so this is fine, though it's slightly unconventional (most existing DTs put `trips` first). Not a blocker.
No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2026-05-25 8:58 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-22 10:11 [PATCH v5 0/5] Devicetree support for Glymur GPU Akhil P Oommen
2026-05-22 10:11 ` [PATCH v5 1/5] drm/msm/a8xx: Fix RSCC offset Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:11 ` [PATCH v5 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:11 ` [PATCH v5 3/5] arm64: dts: qcom: glymur: Add GPU smmu node Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:12 ` [PATCH v5 4/5] arm64: dts: qcom: Add GPU support for Glymur Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-22 10:12 ` [PATCH v5 5/5] arm64: dts: qcom: glymur: Add GPU cooling Akhil P Oommen
2026-05-25 8:58 ` Claude review: " Claude Code Review Bot
2026-05-25 8:58 ` Claude review: Devicetree support for Glymur GPU Claude Code Review Bot
-- strict thread matches above, loose matches on Subject: below --
2026-05-12 19:21 [PATCH v4 0/6] " Akhil P Oommen
2026-05-12 19:21 ` [PATCH v4 2/6] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
2026-05-16 2:51 ` Claude review: " Claude Code Review Bot
2026-05-11 20:06 [PATCH v3 0/5] Devicetree support for Glymur GPU Akhil P Oommen
2026-05-11 20:07 ` [PATCH v3 2/5] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
2026-05-16 4:42 ` Claude review: " Claude Code Review Bot
2026-05-01 17:10 [PATCH v2 0/4] Devicetree support for Glymur GPU Akhil P Oommen
2026-05-01 17:10 ` [PATCH v2 1/4] dt-bindings: display/msm: gpu: Document Adreno X2-185 Akhil P Oommen
2026-05-04 23:19 ` Claude review: " Claude Code Review Bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox