* [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-15 8:41 ` Krzysztof Kozlowski
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2026-05-11 22:23 ` [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840 Akhil P Oommen
` (7 subsequent siblings)
8 siblings, 2 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Extend the sm8750's clock description section to also cover Kaanapali GPU
SMMU since it uses the same single "hlos" vote clock.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index b811ece722c9..d1330fc0178a 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -568,6 +568,7 @@ allOf:
items:
- enum:
- qcom,glymur-smmu-500
+ - qcom,kaanapali-smmu-500
- qcom,sm8750-smmu-500
- const: qcom,adreno-smmu
- const: qcom,smmu-500
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU
2026-05-11 22:23 ` [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU Akhil P Oommen
@ 2026-05-15 8:41 ` Krzysztof Kozlowski
2026-05-15 20:26 ` Akhil P Oommen
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
1 sibling, 1 reply; 33+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-15 8:41 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:15AM +0530, Akhil P Oommen wrote:
> Extend the sm8750's clock description section to also cover Kaanapali GPU
There is nothing about sm8750 in the diff. Probably you wanted to
document the constraint of clock for Kaapanali Adreno SMMU?
> SMMU since it uses the same single "hlos" vote clock.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU
2026-05-15 8:41 ` Krzysztof Kozlowski
@ 2026-05-15 20:26 ` Akhil P Oommen
0 siblings, 0 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-15 20:26 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On 5/15/2026 2:11 PM, Krzysztof Kozlowski wrote:
> On Tue, May 12, 2026 at 03:53:15AM +0530, Akhil P Oommen wrote:
>> Extend the sm8750's clock description section to also cover Kaanapali GPU
>
> There is nothing about sm8750 in the diff. Probably you wanted to
> document the constraint of clock for Kaapanali Adreno SMMU?
Before I rebased this series on top of the glymur gpu dt series, that
entry was describing just sm8750 gpu smmu's clk constraint.
If it is confusing, I can reword it in the next rev.
-Akhil.
>
>> SMMU since it uses the same single "hlos" vote clock.
>>
>> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
>> ---
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU
2026-05-11 22:23 ` [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU Akhil P Oommen
2026-05-15 8:41 ` Krzysztof Kozlowski
@ 2026-05-16 4:35 ` Claude Code Review Bot
1 sibling, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good**
This adds `qcom,kaanapali-smmu-500` to the enum list in the `if/then` block that specifies the "hlos" clock configuration. The entry is inserted in correct alphabetical order between `qcom,glymur-smmu-500` and `qcom,sm8750-smmu-500`.
```
- enum:
- qcom,glymur-smmu-500
+ - qcom,kaanapali-smmu-500
- qcom,sm8750-smmu-500
```
This correctly reuses the same clock description pattern as Glymur and SM8750, which all use a single "hlos" vote clock. No issues.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
` (6 subsequent siblings)
8 siblings, 1 reply; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Adreno 840 GPU found in Kaanapali chipsets belongs to the A8x family.
It is a new IP which features the new slice architecture with 3 slices,
raytracing support, and the highest GMEM size seen so far on a Snapdragon
mobile chipsets. 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 | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index e67cd708dda2..35c6d38dc379 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -415,7 +415,9 @@ allOf:
properties:
compatible:
contains:
- const: qcom,adreno-44070001
+ enum:
+ - qcom,adreno-44050a01
+ - qcom,adreno-44070001
then:
properties:
reg:
@@ -450,6 +452,7 @@ allOf:
- qcom,adreno-43050a01
- qcom,adreno-43050c01
- qcom,adreno-43051401
+ - qcom,adreno-44050a01
- qcom,adreno-44070001
then: # Starting with A6xx, the clocks are usually defined in the GMU node
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Claude review: dt-bindings: display/msm: gpu: Document Adreno 840
2026-05-11 22:23 ` [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840 Akhil P Oommen
@ 2026-05-16 4:35 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good**
Two changes:
1. Converts the reg-layout conditional from `const` to `enum` to include both `qcom,adreno-44050a01` (Adreno 840) and `qcom,adreno-44070001`:
```diff
- const: qcom,adreno-44070001
+ enum:
+ - qcom,adreno-44050a01
+ - qcom,adreno-44070001
```
2. Adds `qcom,adreno-44050a01` to the "clocks: false" enum list (since clocks are defined in the GMU node for A6xx+):
```diff
- qcom,adreno-43051401
+ - qcom,adreno-44050a01
- qcom,adreno-44070001
```
Both changes are correct. The new compatible string is placed in sorted order in both locations. The Adreno 840 shares the same reg layout as 44070001 and follows the same GMU-based clock pattern as other modern Adreno GPUs.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840 Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 16:51 ` Dmitry Baryshkov
` (2 more replies)
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
` (5 subsequent siblings)
8 siblings, 3 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen,
Qingqing Zhou
From: Qingqing Zhou <quic_qqzhou@quicinc.com>
Add the Adreno GPU SMMU node for kaanapali platform.
Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 41 +++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index bab654bbd6d0..26a4de9c8d45 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -2597,6 +2597,47 @@ gpucc: clock-controller@3d90000 {
#power-domain-cells = <1>;
};
+ adreno_smmu: iommu@3da0000 {
+ compatible = "qcom,kaanapali-smmu-500", "qcom,adreno-smmu",
+ "qcom,smmu-500", "arm,mmu-500";
+ reg = <0x0 0x3da0000 0x0 0x40000>;
+ #iommu-cells = <2>;
+ #global-interrupts = <1>;
+ dma-coherent;
+
+ power-domains = <&gpucc GPU_CC_CX_GDSC>;
+
+ clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
+ clock-names = "hlos";
+
+ 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>;
+ };
+
remoteproc_adsp: remoteproc@6800000 {
compatible = "qcom,kaanapali-adsp-pas", "qcom,sm8550-adsp-pas";
reg = <0x0 0x06800000 0x0 0x10000>;
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
@ 2026-05-13 16:51 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 16:51 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel, Qingqing Zhou
On Tue, May 12, 2026 at 03:53:17AM +0530, Akhil P Oommen wrote:
> From: Qingqing Zhou <quic_qqzhou@quicinc.com>
>
> Add the Adreno GPU SMMU node for kaanapali platform.
>
> Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 41 +++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index bab654bbd6d0..26a4de9c8d45 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -2597,6 +2597,47 @@ gpucc: clock-controller@3d90000 {
> #power-domain-cells = <1>;
> };
>
> + adreno_smmu: iommu@3da0000 {
> + compatible = "qcom,kaanapali-smmu-500", "qcom,adreno-smmu",
> + "qcom,smmu-500", "arm,mmu-500";
> + reg = <0x0 0x3da0000 0x0 0x40000>;
> + #iommu-cells = <2>;
> + #global-interrupts = <1>;
> + dma-coherent;
> +
> + power-domains = <&gpucc GPU_CC_CX_GDSC>;
> +
> + clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
> + clock-names = "hlos";
> +
> + interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
Please align on '<' symbol
> + <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
2026-05-13 16:51 ` Dmitry Baryshkov
@ 2026-05-14 12:36 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:36 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Qingqing Zhou
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> From: Qingqing Zhou <quic_qqzhou@quicinc.com>
>
> Add the Adreno GPU SMMU node for kaanapali platform.
>
> Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 41 +++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index bab654bbd6d0..26a4de9c8d45 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -2597,6 +2597,47 @@ gpucc: clock-controller@3d90000 {
> #power-domain-cells = <1>;
> };
>
> + adreno_smmu: iommu@3da0000 {
> + compatible = "qcom,kaanapali-smmu-500", "qcom,adreno-smmu",
> + "qcom,smmu-500", "arm,mmu-500";
The lines are misaligned, but please reshuffle this to be 1 a line
> + reg = <0x0 0x3da0000 0x0 0x40000>;
Please keep the 8-hex-digit padding for addr
> + #iommu-cells = <2>;
> + #global-interrupts = <1>;
> + dma-coherent;
> +
> + power-domains = <&gpucc GPU_CC_CX_GDSC>;
> +
> + clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
> + clock-names = "hlos";
> +
> + interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
likewise, please align the '<'s and align the property order in this node
with Glymur
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread* Claude review: arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
2026-05-13 16:51 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
@ 2026-05-16 4:35 ` Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good**
Adds the Adreno GPU SMMU node at `0x3da0000`. The node is placed after `gpucc@3d90000`, which is correct address ordering.
The node has `#global-interrupts = <1>` with the first interrupt (GIC_SPI 674) as the global fault interrupt, followed by 25 context bank interrupts. This is a reasonable count for a modern GPU SMMU.
The compatible string chain `"qcom,kaanapali-smmu-500", "qcom,adreno-smmu", "qcom,smmu-500", "arm,mmu-500"` follows the established pattern. The single "hlos" clock matches the binding added in patch 1.
Properties (`dma-coherent`, `power-domains` referencing `GPU_CC_CX_GDSC`) are consistent with other recent Qualcomm GPU SMMU nodes.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (2 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 16:52 ` Dmitry Baryshkov
` (2 more replies)
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
` (4 subsequent siblings)
8 siblings, 3 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen, Jingyi Wang
From: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Add the qfprom node and gpu related subnodes on Kaanapali SoC.
Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 26a4de9c8d45..0211fc9f8c88 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -5868,6 +5868,18 @@ rpmhpd_opp_super_turbo_no_cpr: opp-480 {
};
};
+ efuse@221c8000 {
+ compatible = "qcom,kaanapali-qfprom", "qcom,qfprom";
+ reg = <0x0 0x221c8000 0x0 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ gpu_speed_bin: gpu-speed-bin@142 {
+ reg = <0x142 0x2>;
+ bits = <3 9>;
+ };
+ };
+
nsp_noc: interconnect@260c0000 {
compatible = "qcom,kaanapali-nsp-noc";
reg = <0x0 0x260c0000 0x0 0x21280>;
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
@ 2026-05-13 16:52 ` Dmitry Baryshkov
2026-05-14 12:44 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 16:52 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel, Jingyi Wang
On Tue, May 12, 2026 at 03:53:18AM +0530, Akhil P Oommen wrote:
> From: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
>
> Add the qfprom node and gpu related subnodes on Kaanapali SoC.
QFPROM, GPU
With that fixed:
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>
> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
2026-05-13 16:52 ` Dmitry Baryshkov
@ 2026-05-14 12:44 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:44 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Jingyi Wang
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> From: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
>
> Add the qfprom node and gpu related subnodes on Kaanapali SoC.
>
> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
2026-05-13 16:52 ` Dmitry Baryshkov
2026-05-14 12:44 ` Konrad Dybcio
@ 2026-05-16 4:35 ` Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good**
Adds a qfprom/efuse node at `0x221c8000` with a `gpu-speed-bin` child for reading the GPU speed bin fuse. The node uses the conventional `efuse@` node name and the standard `"qcom,kaanapali-qfprom", "qcom,qfprom"` compatible pair.
```
+ efuse@221c8000 {
+ compatible = "qcom,kaanapali-qfprom", "qcom,qfprom";
+ reg = <0x0 0x221c8000 0x0 0x1000>;
+ ...
+ gpu_speed_bin: gpu-speed-bin@142 {
+ reg = <0x142 0x2>;
+ bits = <3 9>;
+ };
```
The speed bin is a 9-bit field starting at bit 3 of offset `0x142`. This is referenced by the GPU node in patch 5 via `nvmem-cells = <&gpu_speed_bin>`. The node is placed before `nsp_noc@260c0000`, maintaining correct address order.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (3 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 16:53 ` Dmitry Baryshkov
` (2 more replies)
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
` (3 subsequent siblings)
8 siblings, 3 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Adreno 840 present in Kaanapali SoC is the second generation GPU in
A8x family. It is based on the new slice architecture with 3 slices,
higher GMEM/caches etc.
There is some re-arrangement in the reglist to properly cover maximum
register region. Other than this, the DT description is mostly similar
to the existing chipsets except the OPP tables.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 232 ++++++++++++++++++++++++++++++++
1 file changed, 232 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 0211fc9f8c88..c57aea44218e 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -2573,6 +2573,238 @@ videocc: clock-controller@20f0000 {
#power-domain-cells = <1>;
};
+ gpu: gpu@3d00000 {
+ compatible = "qcom,adreno-44050a01", "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>;
+
+ nvmem-cells = <&gpu_speed_bin>;
+ nvmem-cell-names = "speed_bin";
+
+ interconnects = <&gem_noc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "gfx-mem";
+
+ gpu_zap_shader: zap-shader {
+ memory-region = <&gpu_microcode_mem>;
+ };
+
+ gpu_opp_table: opp-table {
+ compatible = "operating-points-v2-adreno",
+ "operating-points-v2";
+
+ opp-222000000 {
+ opp-hz = /bits/ 64 <222000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
+ opp-peak-kBps = <2136718>;
+ opp-supported-hw = <0x0f>;
+ /* ACD is disabled */
+ };
+
+ opp-282000000 {
+ opp-hz = /bits/ 64 <282000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1_1>;
+ opp-peak-kBps = <5285156>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xca2e5ffd>;
+ };
+
+ opp-342000000 {
+ opp-hz = /bits/ 64 <342000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ opp-peak-kBps = <5285156>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xe22a5ffd>;
+ };
+
+ opp-382000000 {
+ opp-hz = /bits/ 64 <382000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D0>;
+ opp-peak-kBps = <5285156>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa22c5ffd>;
+ };
+
+ opp-422000000 {
+ opp-hz = /bits/ 64 <422000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa22c5ffd>;
+ };
+
+ opp-461000000 {
+ opp-hz = /bits/ 64 <461000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L0>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xe82e5ffd>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xe82c5ffd>;
+ };
+
+ opp-539000000 {
+ opp-hz = /bits/ 64 <539000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L2>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xc82b5ffd>;
+ };
+
+ opp-578000000 {
+ opp-hz = /bits/ 64 <578000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xc02c5ffd>;
+ };
+
+ opp-646000000 {
+ opp-hz = /bits/ 64 <646000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
+ opp-peak-kBps = <8171875>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xc02c5ffd>;
+ };
+
+ opp-726000000 {
+ opp-hz = /bits/ 64 <726000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ opp-peak-kBps = <8171875>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0x882f5ffd>;
+ };
+
+ opp-826000000 {
+ opp-hz = /bits/ 64 <826000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
+ opp-peak-kBps = <12449218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa82c5ffd>;
+ };
+
+ opp-902000000 {
+ opp-hz = /bits/ 64 <902000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ opp-peak-kBps = <12449218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa82b5ffd>;
+ };
+
+ opp-967000000 {
+ opp-hz = /bits/ 64 <967000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+ opp-peak-kBps = <12449218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0x882a5ffd>;
+ };
+
+ opp-1050000000 {
+ opp-hz = /bits/ 64 <1050000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+ opp-peak-kBps = <20832031>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0x88295ffd>;
+ };
+
+ opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L3>;
+ opp-peak-kBps = <20832031>;
+ opp-supported-hw = <0x07>;
+ qcom,opp-acd-level = <0xa02e5ffd>;
+ };
+
+ opp-1300000000 {
+ opp-hz = /bits/ 64 <1300000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L4>;
+ opp-peak-kBps = <20832031>;
+ opp-supported-hw = <0x03>;
+ qcom,opp-acd-level = <0x802d5ffd>;
+ };
+ };
+ };
+
+ gmu: gmu@3d6c000 {
+ compatible = "qcom,adreno-gmu-840.1", "qcom,adreno-gmu";
+
+ reg = <0x0 0x03d6c000 0x0 0x68000>;
+ 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>;
+ clock-names = "ahb",
+ "gmu",
+ "cxo",
+ "memnoc",
+ "hub";
+
+ 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-475000000 {
+ opp-hz = /bits/ 64 <475000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ };
+
+ 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>;
+ };
+ };
+ };
+
gxclkctl: clock-controller@3d64000 {
compatible = "qcom,kaanapali-gxclkctl";
reg = <0x0 0x03d64000 0x0 0x6000>;
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
@ 2026-05-13 16:53 ` Dmitry Baryshkov
2026-05-14 12:43 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 16:53 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:19AM +0530, Akhil P Oommen wrote:
> Adreno 840 present in Kaanapali SoC is the second generation GPU in
> A8x family. It is based on the new slice architecture with 3 slices,
> higher GMEM/caches etc.
>
> There is some re-arrangement in the reglist to properly cover maximum
> register region. Other than this, the DT description is mostly similar
> to the existing chipsets except the OPP tables.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 232 ++++++++++++++++++++++++++++++++
> 1 file changed, 232 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
2026-05-13 16:53 ` Dmitry Baryshkov
@ 2026-05-14 12:43 ` Konrad Dybcio
2026-05-15 22:08 ` Akhil P Oommen
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 1 reply; 33+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:43 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> Adreno 840 present in Kaanapali SoC is the second generation GPU in
> A8x family. It is based on the new slice architecture with 3 slices,
> higher GMEM/caches etc.
>
> There is some re-arrangement in the reglist to properly cover maximum
> register region. Other than this, the DT description is mostly similar
> to the existing chipsets except the OPP tables.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
[...]
> + gpu_opp_table: opp-table {
> + compatible = "operating-points-v2-adreno",
> + "operating-points-v2";
> +
> + opp-222000000 {
> + opp-hz = /bits/ 64 <222000000>;
> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
> + opp-peak-kBps = <2136718>;
> + opp-supported-hw = <0x0f>;
> + /* ACD is disabled */
> + };
The clock plan also has a 160 MHz OPP @ LOWSVS_D3 and there's a couple of
interim OPPs that you have that aren't part of it (but maybe you have
better docs)
Otherwise lgtm but the size of the GPU region and the GMU base look
slightly confusing when I'm comparing them against the reg map
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-14 12:43 ` Konrad Dybcio
@ 2026-05-15 22:08 ` Akhil P Oommen
0 siblings, 0 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-15 22:08 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Will Deacon, Robin Murphy,
Joerg Roedel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, Rob Clark, Dmitry Baryshkov,
Abhinav Kumar, Jessica Zhang, Marijn Suijten, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter
On 5/14/2026 6:13 PM, Konrad Dybcio wrote:
> On 5/12/26 12:23 AM, Akhil P Oommen wrote:
>> Adreno 840 present in Kaanapali SoC is the second generation GPU in
>> A8x family. It is based on the new slice architecture with 3 slices,
>> higher GMEM/caches etc.
>>
>> There is some re-arrangement in the reglist to properly cover maximum
>> register region. Other than this, the DT description is mostly similar
>> to the existing chipsets except the OPP tables.
>>
>> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
>> ---
>
> [...]
>
>> + gpu_opp_table: opp-table {
>> + compatible = "operating-points-v2-adreno",
>> + "operating-points-v2";
>> +
>> + opp-222000000 {
>> + opp-hz = /bits/ 64 <222000000>;
>> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
>> + opp-peak-kBps = <2136718>;
>> + opp-supported-hw = <0x0f>;
>> + /* ACD is disabled */
>> + };
>
> The clock plan also has a 160 MHz OPP @ LOWSVS_D3 and there's a couple of
> interim OPPs that you have that aren't part of it (but maybe you have
> better docs)
I somehow assumed that the 160Mhz was a thermal-only corner. Seems it is
not. Let me revisit the OPP table again. Yeah, the doc is outdated.
Looks like there was some last minute updates to the OPP table.
Also, we should update a6xx_hfi.h to accommodate more than 16 GX levels.
-Akhil.
>
> Otherwise lgtm but the size of the GPU region and the GMU base look
> slightly confusing when I'm comparing them against the reg map
>
> Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
2026-05-13 16:53 ` Dmitry Baryshkov
2026-05-14 12:43 ` Konrad Dybcio
@ 2026-05-16 4:35 ` Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Node ordering issue**
This is the main patch adding the GPU and GMU nodes. The GPU node at `gpu@3d00000` and GMU node at `gmu@3d6c000` are both well-structured and follow modern Adreno DT conventions.
**Node ordering problem:** The patch inserts both `gpu@3d00000` and `gmu@3d6c000` before the existing `gxclkctl@3d64000` node:
```diff
+ gpu: gpu@3d00000 {
...
+ gmu: gmu@3d6c000 {
...
gxclkctl: clock-controller@3d64000 {
```
The correct address-sorted order should be:
1. `gpu@3d00000`
2. `gxclkctl@3d64000` (existing)
3. `gmu@3d6c000`
The `gmu` node (0x3d6c000) should be placed **after** `gxclkctl` (0x3d64000), not before it. DT convention is to sort sibling nodes by unit address.
**GPU node details** - all look correct:
- Compatible `"qcom,adreno-44050a01", "qcom,adreno"` matches the binding update in patch 2
- Two reg regions (`kgsl_3d0_reg_memory` at 0x6c000 size, `cx_mem` at 0x2000 size) — consistent with the reg layout conditional in the binding
- `iommus = <&adreno_smmu 0 0x0>, <&adreno_smmu 1 0x0>` — two IOMMU contexts with SID 0x0 (newer pattern vs 0x400 on older SoCs)
- OPP table ranges from 222MHz to 1.3GHz with proper speed-bin masking (`opp-supported-hw` narrows from 0x0f to 0x03 at the top bins)
- `#cooling-cells = <2>` for thermal integration in patch 6
- Interconnect path to `mc_virt SLAVE_EBI1` for memory bandwidth voting
**GMU node details:**
- Compatible `"qcom,adreno-gmu-840.1", "qcom,adreno-gmu"` — follows naming convention
- Single reg region ("gmu") only — older SoCs (sm8450) had three regions (gmu, rscc, gmu_pdc). This appears intentional for the A8xx architecture but is worth confirming with the author
- 5 clocks (ahb, gmu, cxo, memnoc, hub) — reasonable for this generation
- Power domains reference both `GPU_CC_CX_GDSC` and `GX_CLKCTL_GX_GDSC` — the GX domain uses the gxclkctl rather than gpucc, which is a newer pattern seen on recent Qualcomm SoCs
- GMU OPP table has 5 frequency points from 475MHz to 750MHz
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (4 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 17:53 ` Dmitry Baryshkov
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
` (2 subsequent siblings)
8 siblings, 2 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen, Gaurav Kohli
From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Unlike the CPU, the GPU does not throttle its speed automatically when it
reaches high temperatures.
Set up GPU cooling by throttling the GPU speed
when reaching 105°C.
Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 165 ++++++++++++++++++++++++++------
1 file changed, 135 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index c57aea44218e..5089416ec32c 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -26,6 +26,7 @@
#include <dt-bindings/soc/qcom,gpr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
+#include <dt-bindings/thermal/thermal.h>
#include "kaanapali-ipcc.h"
@@ -7045,13 +7046,15 @@ nsphmx-3-critical {
};
gpuss-0-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 0>;
trips {
- gpuss-0-hot {
- temperature = <120000>;
+ gpuss_0_alert0: gpuss-0-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-0-critical {
@@ -7060,16 +7063,25 @@ gpuss-0-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_0_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-1-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 1>;
trips {
- gpuss-1-hot {
- temperature = <120000>;
+ gpuss_1_alert0: gpuss-1-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-1-critical {
@@ -7078,16 +7090,25 @@ gpuss-1-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_1_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-2-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 2>;
trips {
- gpuss-2-hot {
- temperature = <120000>;
+ gpuss_2_alert0: gpuss-2-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-2-critical {
@@ -7096,16 +7117,25 @@ gpuss-2-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_2_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-3-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 3>;
trips {
- gpuss-3-hot {
- temperature = <120000>;
+ gpuss_3_alert0: gpuss-3-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-3-critical {
@@ -7114,16 +7144,25 @@ gpuss-3-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_3_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-4-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 4>;
trips {
- gpuss-4-hot {
- temperature = <120000>;
+ gpuss_4_alert0: gpuss-4-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-4-critical {
@@ -7132,16 +7171,25 @@ gpuss-4-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_4_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-5-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 5>;
trips {
- gpuss-5-hot {
- temperature = <120000>;
+ gpuss_5_alert0: gpuss-5-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-5-critical {
@@ -7150,16 +7198,25 @@ gpuss-5-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_5_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-6-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 6>;
trips {
- gpuss-6-hot {
- temperature = <120000>;
+ gpuss_6_alert0: gpuss-6-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-6-critical {
@@ -7168,16 +7225,25 @@ gpuss-6-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_6_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-7-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 7>;
trips {
- gpuss-7-hot {
- temperature = <120000>;
+ gpuss_7_alert0: gpuss-7-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-7-critical {
@@ -7186,16 +7252,25 @@ gpuss-7-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_7_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-8-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 8>;
trips {
- gpuss-8-hot {
- temperature = <120000>;
+ gpuss_8_alert0: gpuss-8-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-8-critical {
@@ -7204,16 +7279,25 @@ gpuss-8-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_8_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-9-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 9>;
trips {
- gpuss-9-hot {
- temperature = <120000>;
+ gpuss_9_alert0: gpuss-9-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-9-critical {
@@ -7222,12 +7306,26 @@ gpuss-9-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_9_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-10-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 10>;
trips {
+ gpuss_10_alert0: gpuss-10-alert0 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
gpuss-10-hot {
temperature = <120000>;
hysteresis = <5000>;
@@ -7240,6 +7338,13 @@ gpuss-10-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_10_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
ddr-thermal {
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
@ 2026-05-13 17:53 ` Dmitry Baryshkov
2026-05-14 6:47 ` Gaurav Kohli
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
1 sibling, 1 reply; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 17:53 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel, Gaurav Kohli
On Tue, May 12, 2026 at 03:53:20AM +0530, Akhil P Oommen wrote:
> From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>
> Unlike the CPU, the GPU does not throttle its speed automatically when it
> reaches high temperatures.
>
> Set up GPU cooling by throttling the GPU speed
> when reaching 105°C.
>
> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 165 ++++++++++++++++++++++++++------
> 1 file changed, 135 insertions(+), 30 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index c57aea44218e..5089416ec32c 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -26,6 +26,7 @@
> #include <dt-bindings/soc/qcom,gpr.h>
> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
> #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
> +#include <dt-bindings/thermal/thermal.h>
>
> #include "kaanapali-ipcc.h"
>
> @@ -7045,13 +7046,15 @@ nsphmx-3-critical {
> };
>
> gpuss-0-thermal {
> + polling-delay-passive = <200>;
Other DT files use 10 for GPU thermal zones polling interval.
> +
> thermal-sensors = <&tsens5 0>;
>
> trips {
> - gpuss-0-hot {
> - temperature = <120000>;
> + gpuss_0_alert0: gpuss-0-alert0 {
> + temperature = <105000>;
> hysteresis = <5000>;
> - type = "hot";
> + type = "passive";
> };
Why don't we keep both passive and hot trip points?
>
> gpuss-0-critical {
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread* Re: [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-13 17:53 ` Dmitry Baryshkov
@ 2026-05-14 6:47 ` Gaurav Kohli
0 siblings, 0 replies; 33+ messages in thread
From: Gaurav Kohli @ 2026-05-14 6:47 UTC (permalink / raw)
To: Dmitry Baryshkov, Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On 5/13/2026 11:23 PM, Dmitry Baryshkov wrote:
> On Tue, May 12, 2026 at 03:53:20AM +0530, Akhil P Oommen wrote:
>> From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>
>> Unlike the CPU, the GPU does not throttle its speed automatically when it
>> reaches high temperatures.
>>
>> Set up GPU cooling by throttling the GPU speed
>> when reaching 105°C.
>>
>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 165 ++++++++++++++++++++++++++------
>> 1 file changed, 135 insertions(+), 30 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> index c57aea44218e..5089416ec32c 100644
>> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> @@ -26,6 +26,7 @@
>> #include <dt-bindings/soc/qcom,gpr.h>
>> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>> #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
>> +#include <dt-bindings/thermal/thermal.h>
>>
>> #include "kaanapali-ipcc.h"
>>
>> @@ -7045,13 +7046,15 @@ nsphmx-3-critical {
>> };
>>
>> gpuss-0-thermal {
>> + polling-delay-passive = <200>;
>
> Other DT files use 10 for GPU thermal zones polling interval.
>
Sure, let me update.
>> +
>> thermal-sensors = <&tsens5 0>;
>>
>> trips {
>> - gpuss-0-hot {
>> - temperature = <120000>;
>> + gpuss_0_alert0: gpuss-0-alert0 {
>> + temperature = <105000>;
>> hysteresis = <5000>;
>> - type = "hot";
>> + type = "passive";
>> };
>
> Why don't we keep both passive and hot trip points?
>
Need guidance here, we are keeping passive at low temp so still hot trip
is needed for such cases.
>>
>> gpuss-0-critical {
>>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
2026-05-13 17:53 ` Dmitry Baryshkov
@ 2026-05-16 4:35 ` Claude Code Review Bot
1 sibling, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Minor inconsistency in gpuss-10-thermal**
This patch modifies all 11 GPU thermal zones (gpuss-0 through gpuss-10) to add passive cooling at 105°C via the GPU cooling device. For zones 0-9, it replaces the existing "hot" trip at 120°C with a "passive" trip at 105°C. The polling-delay-passive of 200ms and `THERMAL_NO_LIMIT` cooling limits are standard.
**Inconsistency in gpuss-10-thermal:** Unlike zones 0-9 where the "hot" trip is *replaced* with a "passive" trip, zone 10 *adds* a new passive trip while *keeping* the "hot" trip:
```diff
gpuss-10-thermal {
+ ...
trips {
+ gpuss_10_alert0: gpuss-10-alert0 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
gpuss-10-hot {
temperature = <120000>;
hysteresis = <5000>;
```
For zones 0-9, the "hot" trip at 120°C is removed and replaced with the "passive" trip at 105°C (the critical trip at 125°C remains). For zone 10, both the new "passive" at 105°C AND the old "hot" at 120°C exist alongside the critical trip.
This may be intentional if zone 10 has different thermal characteristics, but it is inconsistent with the other zones. If zone 10 should be treated the same as 0-9, the "hot" trip should be replaced rather than supplemented. Worth clarifying with the author.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (5 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
` (2 more replies)
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
2026-05-16 4:35 ` Claude review: arm64: dts: qcom: Devicetree support for Kaanapali GPU Claude Code Review Bot
8 siblings, 3 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Add the secure firmware name property and enable GPU support on
Kaanapali MTP device.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
index f9b5b5718b90..ba256039dd3c 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -865,6 +865,14 @@ vreg_l7n_3p3: ldo7 {
};
};
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/kaanapali/gen80200_zap.mbn";
+};
+
&lpass_vamacro {
pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
pinctrl-names = "default";
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
@ 2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 17:54 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:21AM +0530, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali MTP device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
@ 2026-05-14 12:36 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:36 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali MTP device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
@ 2026-05-16 4:35 ` Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good**
Straightforward board-level enablement. Sets `status = "okay"` on the GPU node and specifies the zap-shader firmware path:
```
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/kaanapali/gen80200_zap.mbn";
+};
```
No issues.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (6 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
` (2 more replies)
2026-05-16 4:35 ` Claude review: arm64: dts: qcom: Devicetree support for Kaanapali GPU Claude Code Review Bot
8 siblings, 3 replies; 33+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Add the secure firmware name property and enable GPU support on
Kaanapali QRD device.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
index 55d02219ef4e..6bef8ec151f8 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
@@ -693,6 +693,14 @@ vreg_l7n_3p3: ldo7 {
};
};
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/kaanapali/gen80200_zap.mbn";
+};
+
&pmh0101_flash {
status = "okay";
--
2.51.0
^ permalink raw reply related [flat|nested] 33+ messages in thread* Re: [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
@ 2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:37 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 17:54 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:22AM +0530, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali QRD device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
@ 2026-05-14 12:37 ` Konrad Dybcio
2026-05-16 4:35 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:37 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali QRD device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:37 ` Konrad Dybcio
@ 2026-05-16 4:35 ` Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
**Status: Looks good**
Identical to patch 7 but for the QRD board. Same firmware name (`gen80200_zap.mbn`) is expected since both boards use the same SoC. No issues.
---
**Summary of issues:**
1. **Patch 5:** `gmu@3d6c000` node should be placed after `gxclkctl@3d64000` to maintain address-sorted order.
2. **Patch 6:** `gpuss-10-thermal` keeps the "hot" trip at 120°C unlike zones 0-9 where it was replaced — likely unintentional inconsistency.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: qcom: Devicetree support for Kaanapali GPU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (7 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
@ 2026-05-16 4:35 ` Claude Code Review Bot
8 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 4:35 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: arm64: dts: qcom: Devicetree support for Kaanapali GPU
Author: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Patches: 24
Reviewed: 2026-05-16T14:35:12.609537
---
This is a well-structured 8-patch series adding GPU support for the Qualcomm Kaanapali SoC (Adreno 840, A8x family). The series covers the full stack: DT bindings, SMMU, qfprom speed-bin, GPU/GMU nodes, thermal cooling, and board-level enablement for MTP and QRD platforms. The series depends on prerequisite patches (Glymur GPU DT v3 and clock fixes v2), which explains why it doesn't apply cleanly to the current drm-next tree.
The series is generally clean and follows established patterns from other recent Qualcomm SoCs. There is one node-ordering issue in the main GPU patch that should be corrected before merging.
**Key issue:** In patch 5, the `gmu@3d6c000` node is placed before `gxclkctl@3d64000`, violating the convention that DT nodes should be sorted by unit address.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread