[PATCH v3 01/18] dt-bindings: gpu: img: Future-proofing enhancements
Krzysztof Kozlowski
krzk at kernel.org
Tue Mar 11 06:25:52 PDT 2025
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 at imgtec.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
More information about the linux-arm-kernel
mailing list