Subject: Re: [PATCH 2/3] dt-bindings: net: snps,dwmac: Add time-based-scheduling property

From: [email-masked]
Date: Thu, 25 Jan 2024 10:10:17 +0100

Conor Dooley <[email-masked]> writes:

> On Wed, Jan 24, 2024 at 03:33:06PM +0100, Esben Haabendal wrote:
>> Time Based Scheduling can be enabled per TX queue, if supported by the
>> controller.
>
> If time based scheduling is not supported by the controller, then the
> property should not be present! The presence of a property like this
> should mean that the feature is supported, using it is up to the
> operating system.
>
> That said, why is this a property that should be in DT?

It is added to the tx-queues-config object of snps,dwmac bindings. This
entire object is about configuration of the ethernet controller, which
is also what the purpose of the snps,time-based-scheduling.
So yes, it is not specifically about describing what the hardware is
capable of, but how the hardware is configured. It is a continuation of
the current driver design.

> If support is per controller is it not sufficient to use the
> compatible to determine if this is supported?

Are you suggesting to include the mapping from all supported compatible
controllers to which TX queues supports TBS in the driver code?  What
would the benefit of that compared to describing it explicitly in the
binding?
And for the purpose of the above question, I am talking about it as if
the binding was describing the hardware capability and not the
configuration.

/Esben

>> Signed-off-by: Esben Haabendal <[email-masked]>
>> ---
>>  Documentation/devicetree/bindings/net/snps,dwmac.yaml | 6 ++++++
>>  1 file changed, 6 insertions(+)
>> 
>> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> index 5c2769dc689a..301e9150ecc3 100644
>> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>> @@ -399,6 +399,12 @@ properties:
>>              type: boolean
>>              description: TX checksum offload is unsupported by the TX queue.
>>  
>> +          snps,time-based-scheduling:
>> +            type: boolean
>> +            description:
>> +              Time Based Scheduling will be enabled for TX queue.
>> +              This is typically not supported for TX queue 0.
>> +
>>          allOf:
>>            - if:
>>                required:
>> -- 
>> 2.43.0
>>