All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Andy Yan <andyshrk@163.com>
Cc: heiko@sntech.de, hjc@rock-chips.com, krzk+dt@kernel.org,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
	derek.foreman@collabora.com, detlev.casanova@collabora.com,
	daniel@fooishbar.org, Andy Yan <andy.yan@rock-chips.com>
Subject: Re: [PATCH v8 8/9] dt-bindings: display: vop2: Add rk3576 support
Date: Fri, 3 Jan 2025 10:34:49 -0600	[thread overview]
Message-ID: <20250103163449.GA2382623-robh@kernel.org> (raw)
In-Reply-To: <20241231090802.251787-9-andyshrk@163.com>

On Tue, Dec 31, 2024 at 05:07:51PM +0800, Andy Yan wrote:
> From: Andy Yan <andy.yan@rock-chips.com>
> 
> Add vop found on rk3576, the main difference between rk3576 and the
> previous vop is that each VP has its own interrupt line.
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> 
> ---
> 
> Changes in v8:
> - Fix dt_binding_check errors
> - ordered by soc name
> - Link to the previous version:
>   https://lore.kernel.org/linux-rockchip/6pn3qjxotdtpzucpul24yro7ppddezwuizneovqvmgdwyv2j7p@ztg4mqyiqmjf/T/#u
> 
> Changes in v4:
> - describe constraint SOC by SOC, as interrupts of rk3576 is very
>   different from others
> - Drop Krzysztof's Reviewed-by, as this version changed a lot.
> 
> Changes in v3:
> - ordered by soc name
> - Add description for newly added interrupt
> 
> Changes in v2:
> - Add dt bindings
> 
>  .../display/rockchip/rockchip-vop2.yaml       | 81 ++++++++++++++-----
>  1 file changed, 63 insertions(+), 18 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> index 2531726af306..4cdd9cced10c 100644
> --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> @@ -20,6 +20,7 @@ properties:
>      enum:
>        - rockchip,rk3566-vop
>        - rockchip,rk3568-vop
> +      - rockchip,rk3576-vop
>        - rockchip,rk3588-vop
>  
>    reg:
> @@ -37,10 +38,21 @@ properties:
>        - const: gamma-lut
>  
>    interrupts:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 4
>      description:
> -      The VOP interrupt is shared by several interrupt sources, such as
> -      frame start (VSYNC), line flag and other status interrupts.
> +      For VOP version under rk3576, the interrupt is shared by several interrupt
> +      sources, such as frame start (VSYNC), line flag and other interrupt status.
> +      For VOP version from rk3576 there is a system interrupt for bus error, and
> +      every video port has it's independent interrupts for vsync and other video
> +      port related error interrupts.
> +
> +  interrupt-names:
> +    items:
> +      - const: vop-sys
> +      - const: vop-vp0
> +      - const: vop-vp1
> +      - const: vop-vp2

Drop 'vop-' as it is redundant.

>  
>    # See compatible-specific constraints below.
>    clocks:
> @@ -120,43 +132,76 @@ allOf:
>        properties:
>          compatible:
>            contains:
> -            const: rockchip,rk3588-vop
> +            enum:
> +              - rockchip,rk3566-vop
> +              - rockchip,rk3568-vop
>      then:
>        properties:
>          clocks:
> -          minItems: 7
> +          minItems: 5
>          clock-names:
> -          minItems: 7
> -

Keep the blank line between DT properties

> +          minItems: 5
>          ports:
>            required:
>              - port@0
>              - port@1
>              - port@2
> -            - port@3
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - rockchip,rk3576-vop
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 5

blank line

> +        clock-names:
> +          minItems: 5

blank line, and so on.

> +        ports:
> +          required:
> +            - port@0
> +            - port@1
> +            - port@2
> +        interrupts:
> +          items:
> +            - description: vop system interrupt, such as axi bus error
> +            - description: interrupts for video port0, such as vsync, dsp_hold.
> +            - description: interrupts for video port1, such as vsync, dsp_hold.
> +            - description: interrupts for video port2, such as vsync, dsp_hold.

These descriptions belong at the top level.

> +        interrupt-names:
> +          items:
> +            - const: vop-sys
> +            - const: vop-vp0
> +            - const: vop-vp1
> +            - const: vop-vp2

Why are these names defined twice?

You just need 'minItems: 4' in both of these.

>        required:
>          - rockchip,grf
> -        - rockchip,vo1-grf
> -        - rockchip,vop-grf
>          - rockchip,pmu
>  
> -    else:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: rockchip,rk3588-vop
> +    then:
>        properties:
> -        rockchip,vo1-grf: false
> -        rockchip,vop-grf: false
> -        rockchip,pmu: false

How is there no long a case without these properties?

> -
>          clocks:
> -          maxItems: 5
> +          minItems: 7
>          clock-names:
> -          maxItems: 5
> -
> +          minItems: 7
>          ports:
>            required:
>              - port@0
>              - port@1
>              - port@2
> +            - port@3
> +      required:
> +        - rockchip,grf
> +        - rockchip,vo1-grf
> +        - rockchip,vop-grf
> +        - rockchip,pmu
>  
>  additionalProperties: false
>  
> -- 
> 2.34.1
> 


WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Andy Yan <andyshrk@163.com>
Cc: heiko@sntech.de, hjc@rock-chips.com, krzk+dt@kernel.org,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
	derek.foreman@collabora.com, detlev.casanova@collabora.com,
	daniel@fooishbar.org, Andy Yan <andy.yan@rock-chips.com>
Subject: Re: [PATCH v8 8/9] dt-bindings: display: vop2: Add rk3576 support
Date: Fri, 3 Jan 2025 10:34:49 -0600	[thread overview]
Message-ID: <20250103163449.GA2382623-robh@kernel.org> (raw)
In-Reply-To: <20241231090802.251787-9-andyshrk@163.com>

On Tue, Dec 31, 2024 at 05:07:51PM +0800, Andy Yan wrote:
> From: Andy Yan <andy.yan@rock-chips.com>
> 
> Add vop found on rk3576, the main difference between rk3576 and the
> previous vop is that each VP has its own interrupt line.
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> 
> ---
> 
> Changes in v8:
> - Fix dt_binding_check errors
> - ordered by soc name
> - Link to the previous version:
>   https://lore.kernel.org/linux-rockchip/6pn3qjxotdtpzucpul24yro7ppddezwuizneovqvmgdwyv2j7p@ztg4mqyiqmjf/T/#u
> 
> Changes in v4:
> - describe constraint SOC by SOC, as interrupts of rk3576 is very
>   different from others
> - Drop Krzysztof's Reviewed-by, as this version changed a lot.
> 
> Changes in v3:
> - ordered by soc name
> - Add description for newly added interrupt
> 
> Changes in v2:
> - Add dt bindings
> 
>  .../display/rockchip/rockchip-vop2.yaml       | 81 ++++++++++++++-----
>  1 file changed, 63 insertions(+), 18 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> index 2531726af306..4cdd9cced10c 100644
> --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml
> @@ -20,6 +20,7 @@ properties:
>      enum:
>        - rockchip,rk3566-vop
>        - rockchip,rk3568-vop
> +      - rockchip,rk3576-vop
>        - rockchip,rk3588-vop
>  
>    reg:
> @@ -37,10 +38,21 @@ properties:
>        - const: gamma-lut
>  
>    interrupts:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 4
>      description:
> -      The VOP interrupt is shared by several interrupt sources, such as
> -      frame start (VSYNC), line flag and other status interrupts.
> +      For VOP version under rk3576, the interrupt is shared by several interrupt
> +      sources, such as frame start (VSYNC), line flag and other interrupt status.
> +      For VOP version from rk3576 there is a system interrupt for bus error, and
> +      every video port has it's independent interrupts for vsync and other video
> +      port related error interrupts.
> +
> +  interrupt-names:
> +    items:
> +      - const: vop-sys
> +      - const: vop-vp0
> +      - const: vop-vp1
> +      - const: vop-vp2

Drop 'vop-' as it is redundant.

>  
>    # See compatible-specific constraints below.
>    clocks:
> @@ -120,43 +132,76 @@ allOf:
>        properties:
>          compatible:
>            contains:
> -            const: rockchip,rk3588-vop
> +            enum:
> +              - rockchip,rk3566-vop
> +              - rockchip,rk3568-vop
>      then:
>        properties:
>          clocks:
> -          minItems: 7
> +          minItems: 5
>          clock-names:
> -          minItems: 7
> -

Keep the blank line between DT properties

> +          minItems: 5
>          ports:
>            required:
>              - port@0
>              - port@1
>              - port@2
> -            - port@3
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - rockchip,rk3576-vop
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 5

blank line

> +        clock-names:
> +          minItems: 5

blank line, and so on.

> +        ports:
> +          required:
> +            - port@0
> +            - port@1
> +            - port@2
> +        interrupts:
> +          items:
> +            - description: vop system interrupt, such as axi bus error
> +            - description: interrupts for video port0, such as vsync, dsp_hold.
> +            - description: interrupts for video port1, such as vsync, dsp_hold.
> +            - description: interrupts for video port2, such as vsync, dsp_hold.

These descriptions belong at the top level.

> +        interrupt-names:
> +          items:
> +            - const: vop-sys
> +            - const: vop-vp0
> +            - const: vop-vp1
> +            - const: vop-vp2

Why are these names defined twice?

You just need 'minItems: 4' in both of these.

>        required:
>          - rockchip,grf
> -        - rockchip,vo1-grf
> -        - rockchip,vop-grf
>          - rockchip,pmu
>  
> -    else:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: rockchip,rk3588-vop
> +    then:
>        properties:
> -        rockchip,vo1-grf: false
> -        rockchip,vop-grf: false
> -        rockchip,pmu: false

How is there no long a case without these properties?

> -
>          clocks:
> -          maxItems: 5
> +          minItems: 7
>          clock-names:
> -          maxItems: 5
> -
> +          minItems: 7
>          ports:
>            required:
>              - port@0
>              - port@1
>              - port@2
> +            - port@3
> +      required:
> +        - rockchip,grf
> +        - rockchip,vo1-grf
> +        - rockchip,vop-grf
> +        - rockchip,pmu
>  
>  additionalProperties: false
>  
> -- 
> 2.34.1
> 

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2025-01-03 16:36 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-31  9:07 [PATCH v8 0/9] VOP Support for rk3576 Andy Yan
2024-12-31  9:07 ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 1/9] drm/rockchip: vop2: Support 32x8 superblock afbc Andy Yan
2024-12-31  9:07   ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 2/9] drm/rockchip: vop2: Add platform specific callback Andy Yan
2024-12-31  9:07   ` Andy Yan
2025-01-05 21:50   ` Heiko Stübner
2025-01-05 21:50     ` Heiko Stübner
2025-01-06  1:54     ` Andy Yan
2025-01-06  1:54       ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 3/9] drm/rockchip: vop2: Support for different layer select configuration between VPs Andy Yan
2024-12-31  9:07   ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 4/9] drm/rockchip: vop2: Introduce vop hardware version Andy Yan
2024-12-31  9:07   ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 5/9] drm/rockchip: vop2: Register the primary plane and overlay plane separately Andy Yan
2024-12-31  9:07   ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 6/9] drm/rockchip: vop2: Set plane possible crtcs by possible vp mask Andy Yan
2024-12-31  9:07   ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 7/9] drm/rockchip: vop2: Add uv swap for cluster window Andy Yan
2024-12-31  9:07   ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 8/9] dt-bindings: display: vop2: Add rk3576 support Andy Yan
2024-12-31  9:07   ` Andy Yan
2025-01-03 16:34   ` Rob Herring [this message]
2025-01-03 16:34     ` Rob Herring
2025-01-06  8:28     ` Andy Yan
2025-01-06  8:28       ` Andy Yan
2024-12-31  9:07 ` [PATCH v8 9/9] drm/rockchip: vop2: Add support for rk3576 Andy Yan
2024-12-31  9:07   ` Andy Yan
2025-01-05 16:06 ` (subset) [PATCH v8 0/9] VOP Support " Heiko Stuebner
2025-01-05 16:06   ` Heiko Stuebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250103163449.GA2382623-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=andy.yan@rock-chips.com \
    --cc=andyshrk@163.com \
    --cc=daniel@fooishbar.org \
    --cc=derek.foreman@collabora.com \
    --cc=detlev.casanova@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=heiko@sntech.de \
    --cc=hjc@rock-chips.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.