[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c7de47e5-9a5d-455e-b293-b25b6f801b2b@kernel.org>
Date: Tue, 11 Mar 2025 14:25:52 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Matt Coster <Matt.Coster@...tec.com>
Cc: Frank Binns <Frank.Binns@...tec.com>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Nishanth Menon <nm@...com>,
Vignesh Raghavendra <vigneshr@...com>, Tero Kristo <kristo@...nel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, Randolph Sapp <rs@...com>,
Darren Etheridge <detheridge@...com>,
Alessio Belle <Alessio.Belle@...tec.com>,
Alexandru Dadu <Alexandru.Dadu@...tec.com>
Subject: Re: [PATCH v3 01/18] dt-bindings: gpu: img: Future-proofing
enhancements
On 11/03/2025 11:33, Matt Coster wrote:
>>> The currently supported GPU (AXE-1-16M) only requires a single power
>>> domain. Subsequent patches will add support for BXS-4-64 MC1, which has
>>> two power domains. Add infrastructure now to allow for this.
>>>
>>> Also allow the dma-coherent property to be added to IMG Rogue GPUs, which
>>> are DMA devices. The decision for coherency is made at integration time and
>>> this property should be applied wherever it accurately describes the
>>> vendor integration.
>>>
>>> Note that the new required properties for power domains are conditional on
>>> the new base compatible string to avoid an ABI break.
>>>
>>> Signed-off-by: Matt Coster <matt.coster@...tec.com>
>>> ---
>>> Changes in v3:
>>> - Remove unnecessary example
>>> - Remove second power domain details, add these where they're used instead
>>> - Avoid ABI breaks by limiting new required properties to new compatible
>>> strings and making all binding changes in a single patch.
>>> - Links to v2:
>>> https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-1-3fd45d9fb0cf@imgtec.com
>>> https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-3-3fd45d9fb0cf@imgtec.com
>>> https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-4-3fd45d9fb0cf@imgtec.com
>>> ---
>>> .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 43 ++++++++++++++++++----
>>> 1 file changed, 36 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>>> index 256e252f8087fa0d6081f771a01601d34b66fe19..5c16b2881447c9cda78e5bb46569e2f675d740c4 100644
>>> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>>> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>>> @@ -12,10 +12,20 @@ maintainers:
>>>
>>> properties:
>>> compatible:
>>> - items:
>>> - - enum:
>>> - - ti,am62-gpu
>>> - - const: img,img-axe # IMG AXE GPU model/revision is fully discoverable
>>> + oneOf:
>>> + - items:
>>> + - enum:
>>> + - ti,am62-gpu
>>> + - const: img,img-axe-1-16m
>>> + - const: img,img-rogue
>>
>> That's still ABI break. You got here NAK. You ust preserve img,img-axe.
>> Your marketing troubles do not concern Linux.
>
> I think I'm misunderstanding something here. Is keeping the existing
> compatible string around in the deprecated item below not sufficient to
> maintain the existing ABI?
I was not precise/correct. This indeed is not an ABI break itself.
However you will break the users of DTS when anyone applies such DTS.
>
> Would adding img,img-axe back into the updated list (bringing it to four
> elements) be acceptable?
Yes, you must keep all the compatibles. Affecting users because of
marketing choices is a no-go. No one here cares about marketing.
>
>>
>>> +
>>> + # This legacy combination of compatible strings was introduced early on
>>> + # before the more specific GPU identifiers were used.
>>> + - items:
>>> + - enum:
>>> + - ti,am62-gpu
>>> + - const: img,img-axe
>>> + deprecated: true
>>>
>>> reg:
>>> maxItems: 1
>>> @@ -34,8 +44,13 @@ properties:
>>> interrupts:
>>> maxItems: 1
>>>
>>> - power-domains:
>>> - maxItems: 1
>>> + power-domains: true
>>
>> No, widest constraints always stay here.
>
> Ack
>
>>
>>> +
>>> + power-domain-names:
>>> + items:
>>> + - const: a
>>
>> That's not a useful name. Are you sure that datasheet calls it power
>> domain A?
>
> Sadly yes. With the Volcanic architecture the power domains get real
> names, but until then we were stuck with abc. I shared a snipet from the
> BXS-4-64 TRM with Conor in the replies to the V1 series in [1].
OK, that's fine.
Best regards,
Krzysztof
Powered by blists - more mailing lists