On 25/07/2025 07:59, Krzysztof Kozlowski wrote:
> On Thu, Jul 24, 2025 at 04:18:59PM +0200, Michal Wilczynski wrote:
>> Update the img,powervr-rogue.yaml to include the T-HEAD TH1520 SoC's
>> specific GPU compatible string.
>>
>> The thead,th1520-gpu compatible, along with its full chain
>> img,img-bxm-4-64, and img,img-rogue, is added to the
>> list of recognized GPU types.
>>
>> While the BXM-4-64 GPU IP is designed with two distinct power domains,
>> the TH1520 SoC integrates it with only a single, unified power gate that
>> is controllable by the kernel.
>>
>> To model this reality correctly while keeping the binding accurate for
>> other devices, add conditional constraints to the `allOf` section:
>>  - An if block for thead,th1520-gpu enforces a maximum of one
>>    power domain and disallows the power-domain-names property.
> 
> Why?
> 
> This solves nothing, because you did not change the meaning of power
> domain entry.

Hi Krzysztof,

Just to clarify, is this an issue that can be resolved by documenting
the semantics of ">=1 power domains with names" vs "1 unnamed power
domain" in the binding file? Or are you suggesting an alternative method
of encoding this information in devicetree?

Cheers,
Matt

> 
>>  - A separate if block applies to other B-series GPUs
>>    img,img-bxm-4-64 and img,img-bxs-4-64. A not clause within this
>>    block excludes the thead,th1520-gpu compatible, ensuring this rule
>>    requires a minimum of two power domains only for non TH1520 B-series
>>    GPU's.
>>
>> This makes the binding strict and correct for both the specific TH1520
>> implementation and for other SoCs that use the B-series Rogue GPUs.
>>
>> Acked-by: Krzysztof Kozlowski <krzysztof.kozlow...@linaro.org>
>> Reviewed-by: Ulf Hansson <ulf.hans...@linaro.org>
>> Reviewed-by: Bartosz Golaszewski <bartosz.golaszew...@linaro.org>
>> Signed-off-by: Michal Wilczynski <m.wilczyn...@samsung.com>
>> ---
>>  .../devicetree/bindings/gpu/img,powervr-rogue.yaml | 32 
>> +++++++++++++++++++++-
>>  1 file changed, 31 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml 
>> b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> index 
>> 4450e2e73b3ccf74d29f0e31e2e6687d7cbe5d65..2c5c278b730145a983d1ddfa4014b3c5046bcd52
>>  100644
>> --- a/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> +++ b/Documentation/devicetree/bindings/gpu/img,powervr-rogue.yaml
>> @@ -21,6 +21,11 @@ properties:
>>            # work with newer dts.
>>            - const: img,img-axe
>>            - const: img,img-rogue
>> +      - items:
>> +          - enum:
>> +              - thead,th1520-gpu
>> +          - const: img,img-bxm-4-64
>> +          - const: img,img-rogue
>>        - items:
>>            - enum:
>>                - ti,j721s2-gpu
>> @@ -84,11 +89,29 @@ allOf:
>>          compatible:
>>            contains:
>>              const: img,img-rogue
>> +      not:
> 
> Previous patch was completely different!
> 
> You cannot keep tags when you completely rewrite the patch. Drop all
> reviews and all acks.
> 
> Above code is confusing and not correct, you just stuffed multiple if
> causes.
> 
> Best regards,
> Krzysztof
> 


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

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to