public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: Matt Coster <Matt.Coster@imgtec.com>
To: Conor Dooley <conor@kernel.org>
Cc: Frank Binns <Frank.Binns@imgtec.com>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>, Nishanth Menon <nm@ti.com>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Tero Kristo <kristo@kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, Randolph Sapp <rs@ti.com>,
	Darren Etheridge <detheridge@ti.com>
Subject: Re: [PATCH 02/21] dt-bindings: gpu: img: Further constrain clocks
Date: Wed, 6 Nov 2024 10:17:53 +0000	[thread overview]
Message-ID: <5b26e693-d37f-41ee-b119-32ef648de6f4@imgtec.com> (raw)
In-Reply-To: <20241105-blooper-unflawed-6181022944d9@spud>


[-- Attachment #1.1: Type: text/plain, Size: 2924 bytes --]

On 05/11/2024 18:16, Conor Dooley wrote:
> On Tue, Nov 05, 2024 at 03:58:08PM +0000, Matt Coster wrote:
>> All Imagination GPUs use three clocks: core, mem and sys. All reasonably
>> modern Imagination GPUs also support a single-clock mode where the SoC
>> only hooks up core and the other two are derived internally. On GPUs which
>> support this mode, it is the default and most commonly used integration.
>>
>> Codify this "1 or 3" constraint in our bindings and hang the specifics off
>> the vendor compatible string to mirror the integration-time choice.
>>
>> Signed-off-by: Matt Coster <matt.coster@imgtec.com>
>> ---
>>  .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 27 +++++++++++++++-------
>>  1 file changed, 19 insertions(+), 8 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> index ef7070daf213277d0190fe319e202fdc597337d4..6924831d3e9dd9b2b052ca8f9d7228ff25526532 100644
>> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> @@ -30,15 +30,20 @@ properties:
>>      maxItems: 1
>>  
>>    clocks:
>> -    minItems: 1
>> -    maxItems: 3
>> +    oneOf:
>> +      - minItems: 1
>> +        maxItems: 1
>> +      - minItems: 3
>> +        maxItems: 3
> 
> Just put the outer constraints here and...
> 
>>    clock-names:
>> -    items:
>> -      - const: core
>> -      - const: mem
>> -      - const: sys
>> -    minItems: 1
>> +    oneOf:
>> +      - items:
>> +          - const: core
>> +      - items:
>> +          - const: core
>> +          - const: mem
>> +          - const: sys
>>  
>>    interrupts:
>>      maxItems: 1
>> @@ -56,15 +61,21 @@ required:
>>  additionalProperties: false
>>  
>>  allOf:
>> +  # Vendor integrations using a single clock domain
>>    - if:
>>        properties:
>>          compatible:
>>            contains:
>> -            const: ti,am62-gpu
>> +            anyOf:
>> +              - const: ti,am62-gpu
>>      then:
>>        properties:
>>          clocks:
>> +          minItems: 1
>>            maxItems: 1
> 
> ...adjust the constraints in conditional bits. Setting minItems to 1
> should be a nop too. Pretty sure what you already had here was actually
> already sufficient.
> 
> Cheers,
> Conor.

Is there an implicit constraint ensuring "clocks" and "clock-names" are
the same size? I wasn't sure if we could rely on that, hence the
slightly odd constraint on "clocks". The only real goal here is to
codify that you can't have one of "mem" or "sys". it's both or nothing.

Cheers,
Matt

>> +        clock-names:
>> +          items:
>> +            - const: core
>>  
>>  examples:
>>    - |
>>
>> -- 
>> 2.47.0
>>

-- 
Matt Coster
E: matt.coster@imgtec.com

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

  reply	other threads:[~2024-11-06 11:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-05 15:58 [PATCH 00/21] Imagination BXS-4-64 MC1 GPU support Matt Coster
2024-11-05 15:58 ` [PATCH 01/21] dt-bindings: gpu: img: More explicit compatible strings Matt Coster
2024-11-05 18:13   ` Conor Dooley
2024-11-06 10:17     ` Matt Coster
2024-11-06 16:57       ` Conor Dooley
2024-11-05 15:58 ` [PATCH 02/21] dt-bindings: gpu: img: Further constrain clocks Matt Coster
2024-11-05 18:16   ` Conor Dooley
2024-11-06 10:17     ` Matt Coster [this message]
2024-11-06 17:06       ` Conor Dooley
2024-11-05 15:58 ` [PATCH 03/21] dt-bindings: gpu: img: Power domain details Matt Coster
2024-11-05 18:05   ` Conor Dooley
2024-11-05 18:13     ` Conor Dooley
2024-11-06 10:18       ` Matt Coster
2024-11-06 18:28         ` Conor Dooley
2024-11-05 15:58 ` [PATCH 04/21] dt-bindings: gpu: img: Allow dma-coherent Matt Coster
2024-11-05 18:06   ` Conor Dooley
2024-11-06 10:18     ` Matt Coster
2024-11-06 18:30       ` Conor Dooley
2024-11-06 19:28         ` Andrew Davis
2024-11-05 15:58 ` [PATCH 05/21] drm/imagination: Use more specific compatible strings Matt Coster
2024-11-05 15:58 ` [PATCH 06/21] drm/imagination: Add power domain control Matt Coster
2024-11-05 15:58 ` [PATCH 07/21] arm64: dts: ti: k3-am62: New GPU binding details Matt Coster
2024-11-05 15:58 ` [PATCH 08/21] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings Matt Coster
2024-11-05 18:03   ` Conor Dooley
2024-11-06 10:18     ` Matt Coster
2024-11-06 18:33       ` Conor Dooley
2024-11-05 15:58 ` [PATCH 09/21] drm/imagination: Revert to non-threaded IRQs Matt Coster
2024-11-05 15:58 ` [PATCH 10/21] drm/imagination: Remove firmware enable_reg Matt Coster
2024-11-05 15:58 ` [PATCH 11/21] drm/imagination: Rename event_mask -> status_mask Matt Coster
2024-11-05 15:58 ` [PATCH 12/21] drm/imagination: Make has_fixed_data_addr a value Matt Coster
2024-11-05 15:58 ` [PATCH 13/21] drm/imagination: Use a lookup table for fw defs Matt Coster
2024-11-05 15:58 ` [PATCH 14/21] drm/imagination: Use callbacks for fw irq handling Matt Coster
2024-11-05 15:58 ` [PATCH 15/21] drm/imagination: Add register required for RISC-V firmware Matt Coster
2024-11-05 15:58 ` [PATCH 16/21] drm/imagination: Move ELF fw utils to common file Matt Coster
2024-11-05 15:58 ` [PATCH 17/21] drm/imagination: Add RISC-V firmware processor support Matt Coster
2024-11-05 15:58 ` [PATCH 18/21] drm/imagination: Add platform overrides infrastructure Matt Coster
2024-11-05 15:58 ` [PATCH 19/21] drm/imagination: Add device_memory_force_cpu_cached override Matt Coster
2024-11-05 15:58 ` [PATCH 20/21] drm/imagination: Add support for TI AM68 GPU Matt Coster
2024-11-05 15:58 ` [PATCH 21/21] arm64: dts: ti: k3-j721s2: Add GPU node Matt Coster

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=5b26e693-d37f-41ee-b119-32ef648de6f4@imgtec.com \
    --to=matt.coster@imgtec.com \
    --cc=Frank.Binns@imgtec.com \
    --cc=airlied@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=conor@kernel.org \
    --cc=detheridge@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kristo@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=nm@ti.com \
    --cc=robh@kernel.org \
    --cc=rs@ti.com \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    --cc=vigneshr@ti.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox