The VOP2 driver sitting in next uses named register spaces, but the binding lacks documentation for that. Add the missing documentation and while at it take the opportunity to rename the register spaces from too generic "regs" to "vop" and from "gamma_lut" to better looking "gamma-lut".
Sascha Hauer (3): dt-bindings: display: rockchip: make reg-names mandatory for VOP2 drm: rockchip: Change register space names arm64: dts: rockchip: rk356x: Change VOP2 register space names
.../bindings/display/rockchip/rockchip-vop2.yaml | 8 +++++++- arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-)
The VOP2 driver relies on reg-names properties, but these are not documented. Add the missing documentation, make reg-names mandatory and increase minItems to 2 as always both register spaces are needed.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de --- .../bindings/display/rockchip/rockchip-vop2.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml index 655d9b327f7d3..7238cdec9eb8a 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml @@ -22,7 +22,7 @@ properties: - rockchip,rk3568-vop
reg: - minItems: 1 + minItems: 2 items: - description: Must contain one entry corresponding to the base address and length @@ -31,6 +31,11 @@ properties: Can optionally contain a second entry corresponding to the CRTC gamma LUT address.
+ reg-names: + items: + - const: vop + - const: gamma-lut + interrupts: maxItems: 1 description: @@ -86,6 +91,7 @@ properties: required: - compatible - reg + - reg-names - interrupts - clocks - clock-names
Hi Sascha,
Am Dienstag, 10. Mai 2022, 09:09:12 CEST schrieb Sascha Hauer:
The VOP2 driver relies on reg-names properties, but these are not documented. Add the missing documentation, make reg-names mandatory and increase minItems to 2 as always both register spaces are needed.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de
I'm not sure how the DT-people work - if they only track the devicetree list or their x+dt@kernel.org accounts or some mixture, but the patch was missing the maintainer email addresses - I've added them here now :-) .
The change looks good to me and as I merged the original binding into drm-misc only some days ago, we also don't have a backwards- compat issue yet, so hopefully DT-people will think similarly .
Heiko
.../bindings/display/rockchip/rockchip-vop2.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml index 655d9b327f7d3..7238cdec9eb8a 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml @@ -22,7 +22,7 @@ properties: - rockchip,rk3568-vop
reg:
- minItems: 1
- minItems: 2 items:
- description: Must contain one entry corresponding to the base address and length
@@ -31,6 +31,11 @@ properties: Can optionally contain a second entry corresponding to the CRTC gamma LUT address.
- reg-names:
- items:
- const: vop
- const: gamma-lut
- interrupts: maxItems: 1 description:
@@ -86,6 +91,7 @@ properties: required:
- compatible
- reg
- reg-names
- interrupts
- clocks
- clock-names
On Tue, May 10, 2022 at 04:08:02PM +0200, Heiko Stübner wrote:
Hi Sascha,
Am Dienstag, 10. Mai 2022, 09:09:12 CEST schrieb Sascha Hauer:
The VOP2 driver relies on reg-names properties, but these are not documented. Add the missing documentation, make reg-names mandatory and increase minItems to 2 as always both register spaces are needed.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de
I'm not sure how the DT-people work - if they only track the devicetree list or their x+dt@kernel.org accounts or some mixture, but the patch was missing the maintainer email addresses - I've added them here now :-) .
I only see what is in DT PW. Since I'm copied on almost everything that goes to the DT list, CC'ing me has almost no effect.
The change looks good to me and as I merged the original binding into drm-misc only some days ago, we also don't have a backwards- compat issue yet, so hopefully DT-people will think similarly .
It will fail checks... I can't run them as this doesn't apply, so hopefully someone does. Or I can complain when next breaks.
Rob
On Tue, May 10, 2022 at 09:09:12AM +0200, Sascha Hauer wrote:
The VOP2 driver relies on reg-names properties, but these are not documented. Add the missing documentation, make reg-names mandatory and increase minItems to 2 as always both register spaces are needed.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de
.../bindings/display/rockchip/rockchip-vop2.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml index 655d9b327f7d3..7238cdec9eb8a 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml @@ -22,7 +22,7 @@ properties: - rockchip,rk3568-vop
reg:
- minItems: 1
- minItems: 2
You ran the dt checks, right? This should give you a warning. The correct thing is drop minItems if there's always 2 entries.
items: - description: Must contain one entry corresponding to the base address and length
@@ -31,6 +31,11 @@ properties: Can optionally contain a second entry corresponding to the CRTC gamma LUT address.
- reg-names:
- items:
- const: vop
- const: gamma-lut
- interrupts: maxItems: 1 description:
@@ -86,6 +91,7 @@ properties: required:
- compatible
- reg
- reg-names
- interrupts
- clocks
- clock-names
-- 2.30.2
On Tue, May 10, 2022 at 12:15:29PM -0500, Rob Herring wrote:
On Tue, May 10, 2022 at 09:09:12AM +0200, Sascha Hauer wrote:
The VOP2 driver relies on reg-names properties, but these are not documented. Add the missing documentation, make reg-names mandatory and increase minItems to 2 as always both register spaces are needed.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de
.../bindings/display/rockchip/rockchip-vop2.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml index 655d9b327f7d3..7238cdec9eb8a 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml @@ -22,7 +22,7 @@ properties: - rockchip,rk3568-vop
reg:
- minItems: 1
- minItems: 2
You ran the dt checks, right?
Well, almost... I did run dtbs_check, but I should have ran dt_binding_check.
This should give you a warning. The correct thing is drop minItems if there's always 2 entries.
Indeed this gives me a warning.
Sascha
"regs" seems to generic when there are multiple register spaces, so rename that one to "vop". Also change "gamma_lut" to better looking "gamma-lut".
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 8d1323a47f822..d463ea80b6569 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -2620,7 +2620,7 @@ static int vop2_bind(struct device *dev, struct device *master, void *data)
dev_set_drvdata(dev, vop2);
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs"); + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vop"); if (!res) { drm_err(vop2->drm, "failed to get vop2 register byname\n"); return -EINVAL; @@ -2637,7 +2637,7 @@ static int vop2_bind(struct device *dev, struct device *master, void *data) if (ret) return ret;
- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "gamma_lut"); + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "gamma-lut"); if (res) { vop2->lut_regs = devm_ioremap_resource(dev, res); if (IS_ERR(vop2->lut_regs))
"regs" seems to generic when there are multiple register spaces, so rename to "vop". Also, replace "gamma_lut" with better looking "gamma-lut". This has been changed in the driver and binding documentation as well.
Signed-off-by: Sascha Hauer s.hauer@pengutronix.de --- arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi index 49eb45e23f8c9..646e60ee48c99 100644 --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi @@ -576,7 +576,7 @@ gmac1_mtl_tx_setup: tx-queues-config {
vop: vop@fe040000 { reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>; - reg-names = "regs", "gamma_lut"; + reg-names = "vop", "gamma-lut"; interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
dri-devel@lists.freedesktop.org