* [PATCH v8 00/10] Add eDP support for RK3576
@ 2026-05-25 12:53 Damon Ding
2026-05-25 12:53 ` [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
` (10 more replies)
0 siblings, 11 replies; 28+ messages in thread
From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Patch 1-5 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 6-7 are to add the RK3576 eDP node.
Patch 8-10 are to support the RK3576 Analogix DP controller.
Damon Ding (10):
dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock
for RK3588
dt-bindings: display: rockchip: analogix-dp: Add per-clock
descriptions
arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
drm/rockchip: analogix_dp: Enable hclk for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 41 ++++++++++++++++++-
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 +++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +-
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +-
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++++----
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 +++++++
include/drm/bridge/analogix_dp.h | 13 +++++-
8 files changed, 108 insertions(+), 18 deletions(-)
---
Changes in v2:
- Split out separate patches to add the "hclk" clock reference.
- Split out separate patches to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add a patch to expand descriptions for clocks of the eDP node.
- Add Reviewed-by tag.
Changes in v4:
- Modify commit msg.
Changes in v5:
- Enforce the correct third clock name on a per-compatible basis.
- Modify the commit msg simultaneously.
- Add Acked-by tag.
Changes in v6:
- Expand more detail commit msg about using hclk instead of grf clock.
Changes in v7:
- List all valid clock names at the top level, and constrain the clock
count for each platform with minItems/maxItems in allOf.
Changes in v8:
- Fix indentation to 10 for enum in clock-names property.
--
2.34.1
^ permalink raw reply [flat|nested] 28+ messages in thread* [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 16:54 ` Conor Dooley 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding ` (9 subsequent siblings) 10 siblings, 2 replies; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding RK3588 eDP controller requires HCLK_VO1 to access the VO1 GRF registers and enable the video datapath. Previously, the clock was enabled implicitly via the 'rockchip,vo-grf' phandle reference, which allowed the eDP to work without explicitly managing the hclk_vo1 clock. However, this is not safe or explicit. To make the clock dependency explicit, enforce per-SoC clock-names requirements: - RK3288: 2 clocks (dp, pclk) - RK3399: 3 clocks (dp, pclk, grf) - RK3588: 3 clocks (dp, pclk, hclk) Do not reuse the 'grf' clock name for RK3588 because it represents a different clock with distinct control logic: - The 'grf' clock is only for GRF register access and is toggled dynamically during register access. - The 'hclk' clock controls both GRF access and video datapath gating, and must remain enabled during probe. Fixes: f855146263b1 ("dt-bindings: display: rockchip: analogix-dp: Add support for RK3588") Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v4: - Modify the commit msg. Changes in v5: - Enforce the correct third clock name on a per-compatible basis. - Modify the commit msg simultaneously. Changes in v6: - Expand more detail commit msg about using hclk instead of grf clock. Changes in v7: - List all valid clock names at the top level, and constrain the clock count for each platform with minItems/maxItems in allOf. Changes in v8: - Fix indentation to 10 for enum in clock-names property. --- .../rockchip/rockchip,analogix-dp.yaml | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml index d99b23b88cc5..a1ab7a77bdd3 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml @@ -26,7 +26,9 @@ properties: items: - const: dp - const: pclk - - const: grf + - enum: + - grf + - hclk power-domains: maxItems: 1 @@ -60,6 +62,32 @@ required: allOf: - $ref: /schemas/display/bridge/analogix,dp.yaml# + - if: + properties: + compatible: + contains: + enum: + - rockchip,rk3288-dp + then: + properties: + clocks: + maxItems: 2 + clock-names: + maxItems: 2 + + - if: + properties: + compatible: + contains: + enum: + - rockchip,rk3399-edp + then: + properties: + clocks: + minItems: 3 + clock-names: + minItems: 3 + - if: properties: compatible: @@ -68,6 +96,10 @@ allOf: - rockchip,rk3588-edp then: properties: + clocks: + minItems: 3 + clock-names: + minItems: 3 resets: minItems: 2 reset-names: -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 2026-05-25 12:53 ` [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding @ 2026-05-25 16:54 ` Conor Dooley 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 1 sibling, 0 replies; 28+ messages in thread From: Conor Dooley @ 2026-05-25 16:54 UTC (permalink / raw) To: Damon Ding Cc: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel [-- Attachment #1: Type: text/plain, Size: 3652 bytes --] On Mon, May 25, 2026 at 08:53:22PM +0800, Damon Ding wrote: > RK3588 eDP controller requires HCLK_VO1 to access the VO1 GRF > registers and enable the video datapath. > > Previously, the clock was enabled implicitly via the 'rockchip,vo-grf' > phandle reference, which allowed the eDP to work without explicitly > managing the hclk_vo1 clock. However, this is not safe or explicit. > > To make the clock dependency explicit, enforce per-SoC clock-names > requirements: > - RK3288: 2 clocks (dp, pclk) > - RK3399: 3 clocks (dp, pclk, grf) > - RK3588: 3 clocks (dp, pclk, hclk) > > Do not reuse the 'grf' clock name for RK3588 because it represents > a different clock with distinct control logic: > - The 'grf' clock is only for GRF register access and is toggled > dynamically during register access. > - The 'hclk' clock controls both GRF access and video datapath > gating, and must remain enabled during probe. > > Fixes: f855146263b1 ("dt-bindings: display: rockchip: analogix-dp: Add support for RK3588") > Signed-off-by: Damon Ding <damon.ding@rock-chips.com> > > --- > > Changes in v4: > - Modify the commit msg. > > Changes in v5: > - Enforce the correct third clock name on a per-compatible basis. > - Modify the commit msg simultaneously. > > Changes in v6: > - Expand more detail commit msg about using hclk instead of grf clock. > > Changes in v7: > - List all valid clock names at the top level, and constrain the clock > count for each platform with minItems/maxItems in allOf. > > Changes in v8: > - Fix indentation to 10 for enum in clock-names property. > --- > .../rockchip/rockchip,analogix-dp.yaml | 34 ++++++++++++++++++- > 1 file changed, 33 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml > index d99b23b88cc5..a1ab7a77bdd3 100644 > --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml > +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml > @@ -26,7 +26,9 @@ properties: > items: > - const: dp > - const: pclk > - - const: grf > + - enum: > + - grf > + - hclk > > power-domains: > maxItems: 1 > @@ -60,6 +62,32 @@ required: > allOf: > - $ref: /schemas/display/bridge/analogix,dp.yaml# > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - rockchip,rk3288-dp > + then: > + properties: > + clocks: > + maxItems: 2 > + clock-names: > + maxItems: 2 > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - rockchip,rk3399-edp > + then: > + properties: > + clocks: > + minItems: 3 > + clock-names: > + minItems: 3 If you go back to v6, you'll see that I never asked you to remove the explict clock-names from here or below. Only the one from the 3288 section. The minItems was an addition, not a replacement. pw-bot: changes-requested Cheers, Conor. > + > - if: > properties: > compatible: > @@ -68,6 +96,10 @@ allOf: > - rockchip,rk3588-edp > then: > properties: > + clocks: > + minItems: 3 > + clock-names: > + minItems: 3 > resets: > minItems: 2 > reset-names: > -- > 2.34.1 > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 28+ messages in thread
* Claude review: dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 2026-05-25 12:53 ` [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding 2026-05-25 16:54 ` Conor Dooley @ 2026-05-25 21:12 ` Claude Code Review Bot 1 sibling, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Clean approach. The top-level `clock-names` allows both `grf` and `hclk` via enum, with per-SoC allOf constraints controlling the count: ```yaml - enum: - grf - hclk ``` The per-SoC constraints enforce clock count (2 for RK3288, 3 for RK3399/RK3588) but don't constrain *which* third clock name each SoC must use. In theory, someone could write `"grf"` as the third clock for RK3588 and the binding would still pass. The driver implicitly enforces correctness (it looks for `"hclk"` specifically), but the schema doesn't. This is a minor observation and not blocking -- tightening this would add significant YAML complexity for little practical gain since the canonical DTS uses the right names. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding 2026-05-25 12:53 ` [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding ` (8 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding, Conor Dooley Supplement dedicated description for each clock in the clocks property, clarifying the function of each clock input for the Analogix DP controller binding. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v4: - Modify the commit msg. Changes in v5: - Add Acked-by tag. --- .../bindings/display/rockchip/rockchip,analogix-dp.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml index a1ab7a77bdd3..81240ad67385 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml @@ -19,7 +19,10 @@ properties: clocks: minItems: 2 - maxItems: 3 + items: + - description: Reference clock + - description: APB bus clock + - description: GRF or AHB bus clock clock-names: minItems: 2 -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions 2026-05-25 12:53 ` [PATCH v8 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Straightforward documentation improvement. Replacing bare `maxItems: 3` with explicit `items:` descriptions is the right approach: ```yaml items: - description: Reference clock - description: APB bus clock - description: GRF or AHB bus clock ``` No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding 2026-05-25 12:53 ` [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding 2026-05-25 12:53 ` [PATCH v8 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding ` (7 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Add the required HCLK_VO1 bus clock to RK3588 eDP0 node with corresponding clock-name "hclk". This clock is necessary for the eDP controller to access video output GRF and work properly. Previously the clock was enabled implicitly via GRF phandle reference. Add it explicitly now to align with updated binding. Fixes: dc79d3d5e7c7 ("arm64: dts: rockchip: Add eDP0 node for RK3588") Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v4: - Modify the commit msg. --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi index 4fb8888c281c..24a5ccbac08c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -1712,8 +1712,8 @@ hdmi0_out: port@1 { edp0: edp@fdec0000 { compatible = "rockchip,rk3588-edp"; reg = <0x0 0xfdec0000 0x0 0x1000>; - clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>; - clock-names = "dp", "pclk"; + clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO1>; + clock-names = "dp", "pclk", "hclk"; interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>; phys = <&hdptxphy0>; phy-names = "dp"; -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 2026-05-25 12:53 ` [PATCH v8 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Correctly adds `HCLK_VO1` as the third clock with name `"hclk"`: ```dts - clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>; - clock-names = "dp", "pclk"; + clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO1>; + clock-names = "dp", "pclk", "hclk"; ``` Appropriate `Fixes:` tag included. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (2 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding ` (6 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Add the required HCLK_VO1 bus clock to RK3588 eDP1 node with corresponding clock-name "hclk". This clock is necessary for the eDP controller to access video output GRF and work properly. Previously the clock was enabled implicitly via GRF phandle reference. Add it explicitly now to align with updated binding. Fixes: a481bb0b1ad9 ("arm64: dts: rockchip: Add eDP1 dt node for rk3588") Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v4: - Modify the commit msg. --- arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi index a2640014ee04..b251bb129cdb 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi @@ -285,8 +285,8 @@ hdmi1_out: port@1 { edp1: edp@fded0000 { compatible = "rockchip,rk3588-edp"; reg = <0x0 0xfded0000 0x0 0x1000>; - clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>; - clock-names = "dp", "pclk"; + clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>, <&cru HCLK_VO1>; + clock-names = "dp", "pclk", "hclk"; interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>; phys = <&hdptxphy1>; phy-names = "dp"; -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 2026-05-25 12:53 ` [PATCH v8 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Same fix as patch 3 for eDP1 in `rk3588-extra.dtsi`. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (3 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding ` (5 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Acquire and enable the HCLK_VO1 bus clock explicitly for RK3588 eDP controller to guarantee register and datapath access. The clock was previously enabled implicitly via rockchip,vo-grf phandle reference, which relies on side effect and is fragile. Fetch optional "hclk" clock in driver to align with updated device tree binding and keep consistent with hardware clock dependency. Fixes: 729f8eefdcad ("drm/rockchip: analogix_dp: Add support for RK3588") Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v4: - Modify the commit msg. --- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 06072efd7fca..d2af5eb29dbb 100644 --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -311,6 +311,7 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) { struct device *dev = dp->dev; struct device_node *np = dev->of_node; + struct clk *clk; dp->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); if (IS_ERR(dp->grf)) @@ -327,6 +328,11 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) return dev_err_probe(dev, PTR_ERR(dp->pclk), "failed to get pclk property\n"); + clk = devm_clk_get_optional_enabled(dev, "hclk"); + if (IS_ERR(clk)) + return dev_err_probe(dev, PTR_ERR(clk), + "failed to get hclk property\n"); + dp->rst = devm_reset_control_get(dev, "dp"); if (IS_ERR(dp->rst)) return dev_err_probe(dev, PTR_ERR(dp->rst), -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/rockchip: analogix_dp: Enable hclk for RK3588 2026-05-25 12:53 ` [PATCH v8 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Good use of `devm_clk_get_optional_enabled()`: ```c + clk = devm_clk_get_optional_enabled(dev, "hclk"); + if (IS_ERR(clk)) + return dev_err_probe(dev, PTR_ERR(clk), + "failed to get hclk property\n"); ``` The `_optional` variant is correct here -- RK3288 and RK3399 don't have this clock, so the driver must tolerate its absence. The `_enabled` variant means the clock stays on via devres lifecycle, which matches the commit message's statement that hclk "must remain enabled during probe." The local `clk` variable is not stored in the struct, which is fine since devres handles cleanup. Appropriate `Fixes:` tag. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (4 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding ` (4 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding, Conor Dooley RK3576 integrates an eDP TX controller compatible with the existing RK3588 hardware design, reuse the same binding configuration directly. Acked-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v2: - Split out a separate patch to add the "hclk" clock reference. Chanegs in v4: - Modify the commit msg. Changes in v5: - Add Acked-by tag. --- .../bindings/display/rockchip/rockchip,analogix-dp.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml index 81240ad67385..033eefcab2e8 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml @@ -15,6 +15,7 @@ properties: enum: - rockchip,rk3288-dp - rockchip,rk3399-edp + - rockchip,rk3576-edp - rockchip,rk3588-edp clocks: @@ -96,6 +97,7 @@ allOf: compatible: contains: enum: + - rockchip,rk3576-edp - rockchip,rk3588-edp then: properties: -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 2026-05-25 12:53 ` [PATCH v8 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Adds `rockchip,rk3576-edp` to the compatible enum and to the RK3588-like allOf section (3 clocks, 2 resets): ```yaml + - rockchip,rk3576-edp - rockchip,rk3588-edp ``` Clean, no issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 07/10] arm64: dts: rockchip: Add eDP node for RK3576 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (5 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding ` (3 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Add full device tree definition for the integrated eDP controller on RK3576, following the existing RK3588 hardware layout. Configure required register range, clocks, interrupt, phy, power domain, reset and grf properties to fully describe the controller. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> --- Changes in v2: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi index 28175d8200d5..733449cb88b1 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -1496,6 +1496,34 @@ hdmi_out: port@1 { }; }; + edp: edp@27dc0000 { + compatible = "rockchip,rk3576-edp"; + reg = <0x0 0x27dc0000 0x0 0x1000>; + clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO0_ROOT>; + clock-names = "dp", "pclk", "hclk"; + interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>; + phys = <&hdptxphy>; + phy-names = "dp"; + power-domains = <&power RK3576_PD_VO0>; + resets = <&cru SRST_EDP0_24M>, <&cru SRST_P_EDP0>; + reset-names = "dp", "apb"; + rockchip,grf = <&vo0_grf>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + edp_in: port@0 { + reg = <0>; + }; + + edp_out: port@1 { + reg = <1>; + }; + }; + }; + dp: dp@27e40000 { compatible = "rockchip,rk3576-dp"; reg = <0x0 0x27e40000 0x0 0x30000>; -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: arm64: dts: rockchip: Add eDP node for RK3576 2026-05-25 12:53 ` [PATCH v8 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Complete and well-formed DTS node. Uses `HCLK_VO0_ROOT` (vs RK3588's `HCLK_VO1`) which is expected given the different VO block topology. Node is correctly `status = "disabled"`. Ports structure is standard. ```dts + edp: edp@27dc0000 { + compatible = "rockchip,rk3576-edp"; + reg = <0x0 0x27dc0000 0x0 0x1000>; + clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO0_ROOT>; + clock-names = "dp", "pclk", "hclk"; ``` No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (6 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding ` (2 subsequent siblings) 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Rename inline helper is_rockchip() to analogix_dp_is_rockchip() to follow driver namespace convention consistently across code. Replace chained equality comparisons with switch-case layout to improve readability and simplify adding new SoC entries later. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- .../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++--------- include/drm/bridge/analogix_dp.h | 11 +++++++++-- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 573900c2cefc..c2fd5b978fc0 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -870,7 +870,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge, struct drm_display_info *di = &conn_state->connector->display_info; u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422); - if (is_rockchip(dp->plat_data->dev_type)) { + if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) { if ((di->color_formats & mask)) { DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index f84c1d48d671..ea8401293a23 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) reg = SEL_24M | TX_DVDD_BIT_1_0625V; writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg = REF_CLK_24M; if (dp->plat_data->dev_type == RK3288_DP) reg ^= REF_CLK_MASK; @@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp) analogix_dp_stop_video(dp); analogix_dp_enable_video_mute(dp, 0); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N | SW_FUNC_EN_N; else @@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) u32 mask = DP_PLL_PD; u32 pd_addr = ANALOGIX_DP_PLL_CTL; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { pd_addr = ANALOGIX_DP_PD; mask = RK_PLL_PD; } @@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, u32 phy_pd_addr = ANALOGIX_DP_PHY_PD; u32 mask; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) phy_pd_addr = ANALOGIX_DP_PD; switch (block) { case AUX_BLOCK: - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = RK_AUX_PD; else mask = AUX_PD; @@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, * to power off everything instead of DP_PHY_PD in * Rockchip */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = DP_INC_BG; else mask = DP_PHY_PD; @@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, reg &= ~mask; writel(reg, dp->reg_base + phy_pd_addr); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) usleep_range(10, 15); break; case POWER_ALL: @@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) analogix_dp_reset_aux(dp); /* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = 0; else reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3); @@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) u32 reg; reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N); } else { reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 854af692229b..7b670dd769e9 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -19,9 +19,16 @@ enum analogix_dp_devtype { RK3588_EDP, }; -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } struct analogix_dp_plat_data { -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-25 12:53 ` [PATCH v8 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Clean refactor. The rename to `analogix_dp_is_rockchip()` follows namespace conventions, and the switch-case conversion is cleaner than chained `||`: ```c +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) +{ + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } ``` All 9 call sites in `analogix_dp_core.c` and `analogix_dp_reg.c` are updated. Correctly ordered before patch 9 which adds RK3576 to the switch. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 09/10] drm/bridge: analogix_dp: Add support for RK3576 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (7 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 10/10] drm/rockchip: " Damon Ding 2026-05-25 21:12 ` Claude review: Add eDP " Claude Code Review Bot 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Add RK3576_EDP device type entry and extend Rockchip check to match existing hardware capabilities shared with RK3588. Set identical maximum link rate and lane count parameters for RK3576 eDP controller to reuse existing RK3588 config. Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Damon Ding <damon.ding@rock-chips.com> --- Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 + include/drm/bridge/analogix_dp.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index c2fd5b978fc0..5dc07ff84cd3 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1249,6 +1249,7 @@ static int analogix_dp_dt_parse_pdata(struct analogix_dp_device *dp) video_info->max_link_rate = 0x0A; video_info->max_lane_count = 0x04; break; + case RK3576_EDP: case RK3588_EDP: video_info->max_link_rate = 0x14; video_info->max_lane_count = 0x04; diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 7b670dd769e9..0e0b87abee59 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -16,6 +16,7 @@ enum analogix_dp_devtype { EXYNOS_DP, RK3288_DP, RK3399_EDP, + RK3576_EDP, RK3588_EDP, }; @@ -24,6 +25,7 @@ static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) switch (type) { case RK3288_DP: case RK3399_EDP: + case RK3576_EDP: case RK3588_EDP: return true; default: -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Add support for RK3576 2026-05-25 12:53 ` [PATCH v8 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Adds `RK3576_EDP` enum value and uses fallthrough to share RK3588's link parameters: ```c + case RK3576_EDP: case RK3588_EDP: video_info->max_link_rate = 0x14; video_info->max_lane_count = 0x04; ``` Also correctly adds `RK3576_EDP` to `analogix_dp_is_rockchip()`. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v8 10/10] drm/rockchip: analogix_dp: Add support for RK3576 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (8 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding @ 2026-05-25 12:53 ` Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 21:12 ` Claude review: Add eDP " Claude Code Review Bot 10 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 12:53 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding RK3576 integrates Analogix eDP 1.3 TX and Samsung combo PHY hardware blocks that fully match the proven RK3588 design. Add dedicated chip data table and device tree matching entry to bring up basic eDP functionality for the RK3576 platform. Support is limited to RGB output up to 4K@60Hz for now; audio, PSR and other advanced eDP 1.3 features remain unvalidated. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Changes in v2: - Split out a separate patch to enable the "hclk" clock. - Add Reviewed-by tag. Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index d2af5eb29dbb..d4c5dd61e95b 100644 --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -522,6 +522,14 @@ static const struct rockchip_dp_chip_data rk3288_dp[] = { { /* sentinel */ } }; +static const struct rockchip_dp_chip_data rk3576_edp[] = { + { + .chip_type = RK3576_EDP, + .reg = 0x27dc0000, + }, + { /* sentinel */ } +}; + static const struct rockchip_dp_chip_data rk3588_edp[] = { { .edp_mode = GRF_REG_FIELD(0x0000, 0, 0), @@ -539,6 +547,7 @@ static const struct rockchip_dp_chip_data rk3588_edp[] = { static const struct of_device_id rockchip_dp_dt_ids[] = { {.compatible = "rockchip,rk3288-dp", .data = &rk3288_dp }, {.compatible = "rockchip,rk3399-edp", .data = &rk3399_edp }, + {.compatible = "rockchip,rk3576-edp", .data = &rk3576_edp }, {.compatible = "rockchip,rk3588-edp", .data = &rk3588_edp }, {} }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/rockchip: analogix_dp: Add support for RK3576 2026-05-25 12:53 ` [PATCH v8 10/10] drm/rockchip: " Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Patch Review Adds chip data and OF match table entry: ```c +static const struct rockchip_dp_chip_data rk3576_edp[] = { + { + .chip_type = RK3576_EDP, + .reg = 0x27dc0000, + }, + { /* sentinel */ } +}; ``` Worth noting: the RK3576 chip data intentionally omits `.edp_mode` and `.lcdc_sel` GRF fields (unlike RK3588 which sets `.edp_mode`). This is safe -- `rockchip_grf_field_write()` at line 101 of the driver checks `field->valid` (which is `false` when zero-initialized) and returns 0 immediately: ```c static int rockchip_grf_field_write(struct regmap *grf, const struct rockchip_grf_reg_field *field, u32 val) { if (!field->valid) return 0; ``` So the `edp_mode` GRF writes in `rockchip_dp_poweron()`/`rockchip_dp_powerdown()` become no-ops for RK3576. This is presumably correct if RK3576 doesn't need GRF-based eDP mode switching, but a brief comment in the chip data or commit message noting this intentional omission would help future readers understand why. No blocking issues. Series looks ready to merge. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* Claude review: Add eDP support for RK3576 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding ` (9 preceding siblings ...) 2026-05-25 12:53 ` [PATCH v8 10/10] drm/rockchip: " Damon Ding @ 2026-05-25 21:12 ` Claude Code Review Bot 10 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw) To: dri-devel-reviews Overall Series Review Subject: Add eDP support for RK3576 Author: Damon Ding <damon.ding@rock-chips.com> Patches: 12 Reviewed: 2026-05-26T07:12:11.632198 --- This is a well-structured v8 series adding RK3576 eDP support. The first five patches fix an existing issue (missing explicit hclk for RK3588), and the remaining five add RK3576 support by reusing the proven RK3588 design. The patches are correctly ordered (bindings -> DTS -> driver), properly split, and the code is clean. The series has appropriate Reviewed-by/Acked-by tags on most patches. No correctness bugs found. One minor schema observation and one thing worth noting regarding the RK3576 chip data, detailed below. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v9 00/10] Add eDP support for RK3576
@ 2026-05-27 2:43 Damon Ding
2026-05-27 2:43 ` [PATCH v9 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
0 siblings, 1 reply; 28+ messages in thread
From: Damon Ding @ 2026-05-27 2:43 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Patch 1-5 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 6-7 are to add the RK3576 eDP node.
Patch 8-10 are to support the RK3576 Analogix DP controller.
Damon Ding (10):
dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock
for RK3588
dt-bindings: display: rockchip: analogix-dp: Add per-clock
descriptions
arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
drm/rockchip: analogix_dp: Enable hclk for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 47 ++++++++++++++++++-
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 +++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +-
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +-
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++----
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 ++++++
include/drm/bridge/analogix_dp.h | 13 ++++-
8 files changed, 114 insertions(+), 18 deletions(-)
---
Changes in v2:
- Split out separate patches to add the "hclk" clock reference.
- Split out separate patches to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add a patch to expand descriptions for clocks of the eDP node.
- Add Reviewed-by tag.
Changes in v4:
- Modify commit msg.
Changes in v5:
- Enforce the correct third clock name on a per-compatible basis.
- Modify the commit msg simultaneously.
- Add Acked-by tag.
Changes in v6:
- Expand more detail commit msg about using hclk instead of grf clock.
Changes in v7:
- List all valid clock names at the top level, and constrain the clock
count for each platform with minItems/maxItems in allOf.
Changes in v8:
- Fix indentation to 10 for enum in clock-names property.
Changes in v9:
- Restore the explicit clock-names for RK3399 and RK3588 eDP dt-bindings.
--
2.34.1
^ permalink raw reply [flat|nested] 28+ messages in thread* [PATCH v9 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-27 2:43 [PATCH v9 00/10] " Damon Ding @ 2026-05-27 2:43 ` Damon Ding 2026-05-27 3:55 ` Claude review: " Claude Code Review Bot 0 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-27 2:43 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Rename inline helper is_rockchip() to analogix_dp_is_rockchip() to follow driver namespace convention consistently across code. Replace chained equality comparisons with switch-case layout to improve readability and simplify adding new SoC entries later. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- .../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++--------- include/drm/bridge/analogix_dp.h | 11 +++++++++-- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 8cf6b73bceac..116de3bd83a3 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -870,7 +870,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge, struct drm_display_info *di = &conn_state->connector->display_info; u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422); - if (is_rockchip(dp->plat_data->dev_type)) { + if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) { if ((di->color_formats & mask)) { DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index 38fd8d5014d2..6207ded7ffd5 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) reg = SEL_24M | TX_DVDD_BIT_1_0625V; writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg = REF_CLK_24M; if (dp->plat_data->dev_type == RK3288_DP) reg ^= REF_CLK_MASK; @@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp) analogix_dp_stop_video(dp); analogix_dp_enable_video_mute(dp, 0); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N | SW_FUNC_EN_N; else @@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) u32 mask = DP_PLL_PD; u32 pd_addr = ANALOGIX_DP_PLL_CTL; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { pd_addr = ANALOGIX_DP_PD; mask = RK_PLL_PD; } @@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, u32 phy_pd_addr = ANALOGIX_DP_PHY_PD; u32 mask; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) phy_pd_addr = ANALOGIX_DP_PD; switch (block) { case AUX_BLOCK: - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = RK_AUX_PD; else mask = AUX_PD; @@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, * to power off everything instead of DP_PHY_PD in * Rockchip */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = DP_INC_BG; else mask = DP_PHY_PD; @@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, reg &= ~mask; writel(reg, dp->reg_base + phy_pd_addr); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) usleep_range(10, 15); break; case POWER_ALL: @@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) analogix_dp_reset_aux(dp); /* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = 0; else reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3); @@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) u32 reg; reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N); } else { reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 854af692229b..7b670dd769e9 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -19,9 +19,16 @@ enum analogix_dp_devtype { RK3588_EDP, }; -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } struct analogix_dp_plat_data { -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-27 2:43 ` [PATCH v9 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-05-27 3:55 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-27 3:55 UTC (permalink / raw) To: dri-devel-reviews Patch Review Clean rename from `is_rockchip()` to `analogix_dp_is_rockchip()` with conversion to switch-case: ```c -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } ``` All 9 call sites in `analogix_dp_core.c` and `analogix_dp_reg.c` are updated. The switch-case also benefits from compiler warnings on unhandled enum values when new entries are added. Good prep work for patch 9. No issues. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v7 00/10] Add eDP support for RK3576
@ 2026-05-25 8:20 Damon Ding
2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
0 siblings, 1 reply; 28+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Patch 1-5 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 6-7 are to add the RK3576 eDP node.
Patch 8-10 are to support the RK3576 Analogix DP controller.
Damon Ding (10):
dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock
for RK3588
dt-bindings: display: rockchip: analogix-dp: Add per-clock
descriptions
arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
drm/rockchip: analogix_dp: Enable hclk for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 41 ++++++++++++++++++-
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 +++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +-
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +-
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++++----
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 +++++++
include/drm/bridge/analogix_dp.h | 13 +++++-
8 files changed, 108 insertions(+), 18 deletions(-)
---
Changes in v2:
- Split out separate patches to add the "hclk" clock reference.
- Split out separate patches to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add a patch to expand descriptions for clocks of the eDP node.
- Add Reviewed-by tag.
Changes in v4:
- Modify commit msg.
Changes in v5:
- Enforce the correct third clock name on a per-compatible basis.
- Modify the commit msg simultaneously.
- Add Acked-by tag.
Changes in v6:
- Expand more detail commit msg about using hclk instead of grf clock.
Changes in v7:
- List all valid clock names at the top level, and constrain the clock
count for each platform with minItems/maxItems in allOf.
--
2.34.1
^ permalink raw reply [flat|nested] 28+ messages in thread* [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding @ 2026-05-25 8:20 ` Damon Ding 2026-05-25 21:34 ` Claude review: " Claude Code Review Bot 0 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Rename inline helper is_rockchip() to analogix_dp_is_rockchip() to follow driver namespace convention consistently across code. Replace chained equality comparisons with switch-case layout to improve readability and simplify adding new SoC entries later. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- .../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++--------- include/drm/bridge/analogix_dp.h | 11 +++++++++-- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 573900c2cefc..c2fd5b978fc0 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -870,7 +870,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge, struct drm_display_info *di = &conn_state->connector->display_info; u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422); - if (is_rockchip(dp->plat_data->dev_type)) { + if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) { if ((di->color_formats & mask)) { DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index f84c1d48d671..ea8401293a23 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) reg = SEL_24M | TX_DVDD_BIT_1_0625V; writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg = REF_CLK_24M; if (dp->plat_data->dev_type == RK3288_DP) reg ^= REF_CLK_MASK; @@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp) analogix_dp_stop_video(dp); analogix_dp_enable_video_mute(dp, 0); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N | SW_FUNC_EN_N; else @@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) u32 mask = DP_PLL_PD; u32 pd_addr = ANALOGIX_DP_PLL_CTL; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { pd_addr = ANALOGIX_DP_PD; mask = RK_PLL_PD; } @@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, u32 phy_pd_addr = ANALOGIX_DP_PHY_PD; u32 mask; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) phy_pd_addr = ANALOGIX_DP_PD; switch (block) { case AUX_BLOCK: - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = RK_AUX_PD; else mask = AUX_PD; @@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, * to power off everything instead of DP_PHY_PD in * Rockchip */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = DP_INC_BG; else mask = DP_PHY_PD; @@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, reg &= ~mask; writel(reg, dp->reg_base + phy_pd_addr); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) usleep_range(10, 15); break; case POWER_ALL: @@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) analogix_dp_reset_aux(dp); /* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = 0; else reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3); @@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) u32 reg; reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N); } else { reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 854af692229b..7b670dd769e9 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -19,9 +19,16 @@ enum analogix_dp_devtype { RK3588_EDP, }; -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } struct analogix_dp_plat_data { -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-05-25 21:34 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw) To: dri-devel-reviews Patch Review Renames `is_rockchip()` to `analogix_dp_is_rockchip()` and converts to switch-case: ```c -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } ``` Good cleanup. The namespace-prefixed name avoids potential conflicts. The switch-case makes adding new entries cleaner (as done in patch 9). All 9 call sites are updated. Note that `RK3576_EDP` is not yet added here -- that's done in patch 9, which is the correct ordering. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v6 00/10] Add eDP support for RK3576
@ 2026-05-21 8:08 Damon Ding
2026-05-21 8:08 ` [PATCH v6 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
0 siblings, 1 reply; 28+ messages in thread
From: Damon Ding @ 2026-05-21 8:08 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Patch 1-5 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 6-7 are to add the RK3576 eDP node.
Patch 8~10 are to support the RK3576 Analogix DP controller.
This series is followed by the [0] series.
[0] https://lore.kernel.org/all/20260409065301.446670-1-damon.ding@rock-chips.com/
Damon Ding (10):
dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock
for RK3588
dt-bindings: display: rockchip: analogix-dp: Add per-clock
descriptions
arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
drm/rockchip: analogix_dp: Enable hclk for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 44 ++++++++++++++++---
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 ++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +-
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +-
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++++----
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 +++++++
include/drm/bridge/analogix_dp.h | 13 +++++-
8 files changed, 108 insertions(+), 21 deletions(-)
---
Changes in v2:
- Split out separate patches to add the "hclk" clock reference.
- Split out separate patches to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add a patch to expand descriptions for clocks of the eDP node.
- Add Reviewed-by tag.
Changes in v4:
- Modify commit msg.
Changes in v5:
- Enforce the correct third clock name on a per-compatible basis.
- Modify the commit msg simultaneously.
- Add Acked-by tag.
Changes in v6:
- Expand more detail commit msg about using hclk instead of grf clock.
--
2.34.1
^ permalink raw reply [flat|nested] 28+ messages in thread* [PATCH v6 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-21 8:08 [PATCH v6 00/10] Add eDP support for RK3576 Damon Ding @ 2026-05-21 8:08 ` Damon Ding 2026-05-25 10:40 ` Claude review: " Claude Code Review Bot 0 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-21 8:08 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Rename inline helper is_rockchip() to analogix_dp_is_rockchip() to follow driver namespace convention consistently across code. Replace chained equality comparisons with switch-case layout to improve readability and simplify adding new SoC entries later. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- .../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++--------- include/drm/bridge/analogix_dp.h | 11 +++++++++-- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 8cf6b73bceac..116de3bd83a3 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -870,7 +870,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge, struct drm_display_info *di = &conn_state->connector->display_info; u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422); - if (is_rockchip(dp->plat_data->dev_type)) { + if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) { if ((di->color_formats & mask)) { DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index 38fd8d5014d2..6207ded7ffd5 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) reg = SEL_24M | TX_DVDD_BIT_1_0625V; writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg = REF_CLK_24M; if (dp->plat_data->dev_type == RK3288_DP) reg ^= REF_CLK_MASK; @@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp) analogix_dp_stop_video(dp); analogix_dp_enable_video_mute(dp, 0); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N | SW_FUNC_EN_N; else @@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) u32 mask = DP_PLL_PD; u32 pd_addr = ANALOGIX_DP_PLL_CTL; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { pd_addr = ANALOGIX_DP_PD; mask = RK_PLL_PD; } @@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, u32 phy_pd_addr = ANALOGIX_DP_PHY_PD; u32 mask; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) phy_pd_addr = ANALOGIX_DP_PD; switch (block) { case AUX_BLOCK: - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = RK_AUX_PD; else mask = AUX_PD; @@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, * to power off everything instead of DP_PHY_PD in * Rockchip */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = DP_INC_BG; else mask = DP_PHY_PD; @@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, reg &= ~mask; writel(reg, dp->reg_base + phy_pd_addr); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) usleep_range(10, 15); break; case POWER_ALL: @@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) analogix_dp_reset_aux(dp); /* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = 0; else reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3); @@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) u32 reg; reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N); } else { reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 854af692229b..7b670dd769e9 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -19,9 +19,16 @@ enum analogix_dp_devtype { RK3588_EDP, }; -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } struct analogix_dp_plat_data { -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-21 8:08 ` [PATCH v6 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-05-25 10:40 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-25 10:40 UTC (permalink / raw) To: dri-devel-reviews Patch Review Clean refactoring. The rename from `is_rockchip()` to `analogix_dp_is_rockchip()` follows namespace conventions, and the switch-case is more maintainable than chained `||` comparisons. **Minor nit**: The tag ordering has `Signed-off-by` before `Suggested-by`: ``` Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> ``` Convention is `Suggested-by` before `Signed-off-by` since the suggestion prompted the work. Not blocking, but worth noting. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v5 00/10] Add eDP support for RK3576
@ 2026-05-13 7:44 Damon Ding
2026-05-13 7:44 ` [PATCH v5 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
0 siblings, 1 reply; 28+ messages in thread
From: Damon Ding @ 2026-05-13 7:44 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Patch 1-5 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 6-7 are to add the RK3576 eDP node.
Patch 8~10 are to support the RK3576 Analogix DP controller.
This series is followed by the [0] series.
[0] https://lore.kernel.org/all/20260409065301.446670-1-damon.ding@rock-chips.com/
Damon Ding (10):
dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock
for RK3588
dt-bindings: display: rockchip: analogix-dp: Add per-clock
descriptions
arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
drm/rockchip: analogix_dp: Enable hclk for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 44 ++++++++++++++++---
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 ++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +-
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +-
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++++----
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 +++++++
include/drm/bridge/analogix_dp.h | 13 +++++-
8 files changed, 108 insertions(+), 21 deletions(-)
---
Changes in v2:
- Split out separate patches to add the "hclk" clock reference.
- Split out separate patches to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add a patch to expand descriptions for clocks of the eDP node.
- Add Reviewed-by tag.
Changes in v4:
- Modify commit msg.
Changes in v5:
- Enforce the correct third clock name on a per-compatible basis.
- Modify the commit msg simultaneously.
- Add Acked-by tag.
--
2.34.1
^ permalink raw reply [flat|nested] 28+ messages in thread* [PATCH v5 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-13 7:44 [PATCH v5 00/10] Add eDP support for RK3576 Damon Ding @ 2026-05-13 7:44 ` Damon Ding 2026-05-16 2:26 ` Claude review: " Claude Code Review Bot 0 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-05-13 7:44 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Rename inline helper is_rockchip() to analogix_dp_is_rockchip() to follow driver namespace convention consistently across code. Replace chained equality comparisons with switch-case layout to improve readability and simplify adding new SoC entries later. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> --- Changes in v3: - Add Reviewed-by tag. Changes in v4: - Modify the commit msg. --- .../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++--------- include/drm/bridge/analogix_dp.h | 11 +++++++++-- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 8cf6b73bceac..116de3bd83a3 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -870,7 +870,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge, struct drm_display_info *di = &conn_state->connector->display_info; u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422); - if (is_rockchip(dp->plat_data->dev_type)) { + if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) { if ((di->color_formats & mask)) { DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index 38fd8d5014d2..6207ded7ffd5 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) reg = SEL_24M | TX_DVDD_BIT_1_0625V; writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg = REF_CLK_24M; if (dp->plat_data->dev_type == RK3288_DP) reg ^= REF_CLK_MASK; @@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp) analogix_dp_stop_video(dp); analogix_dp_enable_video_mute(dp, 0); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N | SW_FUNC_EN_N; else @@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) u32 mask = DP_PLL_PD; u32 pd_addr = ANALOGIX_DP_PLL_CTL; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { pd_addr = ANALOGIX_DP_PD; mask = RK_PLL_PD; } @@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, u32 phy_pd_addr = ANALOGIX_DP_PHY_PD; u32 mask; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) phy_pd_addr = ANALOGIX_DP_PD; switch (block) { case AUX_BLOCK: - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = RK_AUX_PD; else mask = AUX_PD; @@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, * to power off everything instead of DP_PHY_PD in * Rockchip */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = DP_INC_BG; else mask = DP_PHY_PD; @@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, reg &= ~mask; writel(reg, dp->reg_base + phy_pd_addr); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) usleep_range(10, 15); break; case POWER_ALL: @@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) analogix_dp_reset_aux(dp); /* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = 0; else reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3); @@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) u32 reg; reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N); } else { reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 854af692229b..7b670dd769e9 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -19,9 +19,16 @@ enum analogix_dp_devtype { RK3588_EDP, }; -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } struct analogix_dp_plat_data { -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-05-13 7:44 ` [PATCH v5 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-05-16 2:26 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-05-16 2:26 UTC (permalink / raw) To: dri-devel-reviews Patch Review **Status: Looks good** Pure cleanup: renames `is_rockchip()` to `analogix_dp_is_rockchip()` for proper namespace convention, and converts from chained `||` comparisons to a `switch` statement. All 9 call sites are updated consistently across `analogix_dp_core.c` and `analogix_dp_reg.c`. The switch-case approach is cleaner and avoids the need to extend a growing logical-or chain when new SoCs are added. --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 0/9] Add eDP support for RK3576
@ 2026-03-19 10:40 Damon Ding
2026-03-19 10:40 ` [PATCH v2 7/9] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
0 siblings, 1 reply; 28+ messages in thread
From: Damon Ding @ 2026-03-19 10:40 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
alchark, cristian.ciocaltea, sebastian.reichel, kever.yang,
heiko.stuebner, tomeu, amadeus, michael.riesch, didi.debian,
dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski,
dri-devel, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, Damon Ding
These patchs have been tested with a 1536x2048p60 eDP panel on
RK3576 EVB1 board (hardware modified specially).
Patch 1~4 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 5~6 are to add the RK3576 eDP node.
Patch 7~9 are to support the RK3576 Analogix DP controller.
Damon Ding (9):
dt-bindings: display: rockchip: analogix-dp: Expand clock-names "hclk"
for the third clock
arm64: dts: rockchip: Add missing clock "hclk" for RK3588 eDP0 nodes.
arm64: dts: rockchip: Add missing clock "hclk" for RK3588 eDP1 nodes.
drm/rockchip: analogix_dp: Enable clock "hclk" for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 6 +++-
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 +++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +--
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +--
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++++++------
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 ++++++++++
include/drm/bridge/analogix_dp.h | 13 +++++++--
8 files changed, 74 insertions(+), 17 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 28+ messages in thread* [PATCH v2 7/9] drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-03-19 10:40 [PATCH v2 0/9] Add eDP support for RK3576 Damon Ding @ 2026-03-19 10:40 ` Damon Ding 2026-03-21 18:26 ` Claude review: " Claude Code Review Bot 0 siblings, 1 reply; 28+ messages in thread From: Damon Ding @ 2026-03-19 10:40 UTC (permalink / raw) To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann, airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda, neil.armstrong, rfoss Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli, alchark, cristian.ciocaltea, sebastian.reichel, kever.yang, heiko.stuebner, tomeu, amadeus, michael.riesch, didi.debian, dmitry.baryshkov, luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding Rename is_rockchip() to analogix_dp_is_rockchip() for naming consistency and readability, and simplify the code with switch. Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> --- .../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +- .../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++--------- include/drm/bridge/analogix_dp.h | 11 +++++++++-- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index fe7158d9edde..045fdb77531f 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -869,7 +869,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge, struct drm_display_info *di = &conn_state->connector->display_info; u32 mask = DRM_COLOR_FORMAT_YCBCR444 | DRM_COLOR_FORMAT_YCBCR422; - if (is_rockchip(dp->plat_data->dev_type)) { + if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) { if ((di->color_formats & mask)) { DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n"); di->color_formats &= ~mask; diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c index 38fd8d5014d2..6207ded7ffd5 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c @@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp) reg = SEL_24M | TX_DVDD_BIT_1_0625V; writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg = REF_CLK_24M; if (dp->plat_data->dev_type == RK3288_DP) reg ^= REF_CLK_MASK; @@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp) analogix_dp_stop_video(dp); analogix_dp_enable_video_mute(dp, 0); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N | SW_FUNC_EN_N; else @@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable) u32 mask = DP_PLL_PD; u32 pd_addr = ANALOGIX_DP_PLL_CTL; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { pd_addr = ANALOGIX_DP_PD; mask = RK_PLL_PD; } @@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, u32 phy_pd_addr = ANALOGIX_DP_PHY_PD; u32 mask; - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) phy_pd_addr = ANALOGIX_DP_PD; switch (block) { case AUX_BLOCK: - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = RK_AUX_PD; else mask = AUX_PD; @@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, * to power off everything instead of DP_PHY_PD in * Rockchip */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) mask = DP_INC_BG; else mask = DP_PHY_PD; @@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp, reg &= ~mask; writel(reg, dp->reg_base + phy_pd_addr); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) usleep_range(10, 15); break; case POWER_ALL: @@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp) analogix_dp_reset_aux(dp); /* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */ - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) reg = 0; else reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3); @@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp) u32 reg; reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1); - if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) { + if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) { reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N); } else { reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N); diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h index 854af692229b..7b670dd769e9 100644 --- a/include/drm/bridge/analogix_dp.h +++ b/include/drm/bridge/analogix_dp.h @@ -19,9 +19,16 @@ enum analogix_dp_devtype { RK3588_EDP, }; -static inline bool is_rockchip(enum analogix_dp_devtype type) +static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type) { - return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP; + switch (type) { + case RK3288_DP: + case RK3399_EDP: + case RK3588_EDP: + return true; + default: + return false; + } } struct analogix_dp_plat_data { -- 2.34.1 ^ permalink raw reply related [flat|nested] 28+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip() 2026-03-19 10:40 ` [PATCH v2 7/9] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding @ 2026-03-21 18:26 ` Claude Code Review Bot 0 siblings, 0 replies; 28+ messages in thread From: Claude Code Review Bot @ 2026-03-21 18:26 UTC (permalink / raw) To: dri-devel-reviews Patch Review The rename from `is_rockchip()` to `analogix_dp_is_rockchip()` improves namespace consistency. The switch-based implementation is cleaner and makes adding new Rockchip variants easier (no need to extend a chain of `||`). This is a clean mechanical change. The `Suggested-by` tag crediting Nicolas Frattaroli is noted. One nit: `Suggested-by` should conventionally appear before `Signed-off-by` in the commit message, not after. Currently: ``` Signed-off-by: Damon Ding <damon.ding@rock-chips.com> Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> ``` --- Generated by Claude Code Patch Reviewer ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2026-05-27 3:55 UTC | newest] Thread overview: 28+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-25 12:53 [PATCH v8 00/10] Add eDP support for RK3576 Damon Ding 2026-05-25 12:53 ` [PATCH v8 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding 2026-05-25 16:54 ` Conor Dooley 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 12:53 ` [PATCH v8 10/10] drm/rockchip: " Damon Ding 2026-05-25 21:12 ` Claude review: " Claude Code Review Bot 2026-05-25 21:12 ` Claude review: Add eDP " Claude Code Review Bot -- strict thread matches above, loose matches on Subject: below -- 2026-05-27 2:43 [PATCH v9 00/10] " Damon Ding 2026-05-27 2:43 ` [PATCH v9 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding 2026-05-27 3:55 ` Claude review: " Claude Code Review Bot 2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding 2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding 2026-05-25 21:34 ` Claude review: " Claude Code Review Bot 2026-05-21 8:08 [PATCH v6 00/10] Add eDP support for RK3576 Damon Ding 2026-05-21 8:08 ` [PATCH v6 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding 2026-05-25 10:40 ` Claude review: " Claude Code Review Bot 2026-05-13 7:44 [PATCH v5 00/10] Add eDP support for RK3576 Damon Ding 2026-05-13 7:44 ` [PATCH v5 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding 2026-05-16 2:26 ` Claude review: " Claude Code Review Bot 2026-03-19 10:40 [PATCH v2 0/9] Add eDP support for RK3576 Damon Ding 2026-03-19 10:40 ` [PATCH v2 7/9] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding 2026-03-21 18:26 ` 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