[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <989ea1b0-fd15-4279-bf6d-36cc78831015@kernel.org>
Date: Tue, 17 Dec 2024 06:36:57 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Johnny Liu <johnliu@...dia.com>
Cc: airlied@...il.com, conor+dt@...nel.org, devicetree@...r.kernel.org,
dri-devel@...ts.freedesktop.org, jonathanh@...dia.com, krzk+dt@...nel.org,
linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux-tegra@...r.kernel.org, luca.ceresoli@...tlin.com,
maarten.lankhorst@...ux.intel.com, mperttunen@...dia.com,
mripard@...nel.org, robh@...nel.org, simona@...ll.ch,
skomatineni@...dia.com, thierry.reding@...il.com, tzimmermann@...e.de
Subject: Re: [PATCH v1 1/5] dt-bindings: display: tegra: Add actmon
information
On 17/12/2024 02:08, Johnny Liu wrote:
>> On 14/12/2024 00:29, Johnny Liu wrote:
>>>> On Tue, Dec 10, 2024 at 09:45:50AM -0800, Johnny Liu wrote:
>>>>> An activity monitor (actmon) is used to measure the device runtime
>>>>> utilization to help drive software power management policies.
>>>>>
>>>>> Extend the reg space to include actmon aperture for actmon configuration
>>>>> through host1x.
>>>>
>>>> We kind of see that from the diff. Say what we do not see, e.g. ABI
>>>> impact or why this is flexible/optional for existing devices.
>>>
>>> Since actmon is not well-supported for the previous chips (e.g. T210,
>>> T186, T194, and etc) in this patch series, it's essential to make the
>>> specification of regs property optional for the previous chips.
>>
>> Then your schema should express it.
>
> Could you explicitly point out which part doesn't express it well?
>
You said it should be optional for previous chip, while this is not made
optional for previous chips. You made it optional for newest chips.
> Considering old variant T194, the schema in this patch already made the
> specification of actmon related properties optional.
>
> If users specify actmon clock handle in clocks/clock-names properties:
>
> host1x@...00000 {
> compatible = "nvidia,tegra194-host1x";
> // ...
> clocks = <&bpmp TEGRA194_CLK_HOST1X>,
> <&bpmp TEGRA194_CLK_ACTMON>;
> clock-names = "host1x", "actmon";
> // ...
> }
>
> Running the dtbs_check will report error WITHOUT this patch will have
> the following error:
>
> $ make O=out ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
>
> /out/arch/arm64/boot/dts/nvidia/tegra194-p3509-0000+p3668-0000.dtb: host1x@...00000: clocks: [[5, 46], [5, 1]] is too long
> /out/arch/arm64/boot/dts/nvidia/tegra194-p3509-0000+p3668-0000.dtb: host1x@...00000: clock-names: ['host1x', 'actmon'] is too long
This is not the meaning of word "optional".
>
>
>>>
>>> Enablement/Disablement of actmon won't affect the host1x main functionality.
>>> Its main job is to monitor the engines behind the host1x and serve for
>>> telemetry purpose.
>>>
>>> I could update the commit message to include the above reason. Please
>>> let me know if more information is required.
>>
>> And fix the schema to make it optional only for older variants.
>
> To maintain backward compatibility, shouldn't we keep the newly added
> feature optional for all the variants?
Yes, but it is about driver. Is it optional in the driver?
Your binding says optional but driver says required and will fail. This
does not make any sense in the context of this patch and even less in
the context of your explanation.
Best regards,
Krzysztof
Powered by blists - more mailing lists