From: Krzysztof Kozlowski <krzk@kernel.org>
To: Jon Hunter <jonathanh@nvidia.com>,
Thierry Reding <thierry.reding@gmail.com>,
Mikko Perttunen <mperttunen@nvidia.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-tegra@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: host1x: Add missing 'dma-coherent'
Date: Thu, 11 Apr 2024 12:43:38 +0200 [thread overview]
Message-ID: <87909fc5-e4de-4b74-bdac-61a92777f32c@kernel.org> (raw)
In-Reply-To: <b726b5a0-45f4-457c-afad-6235c1adb640@nvidia.com>
On 11/04/2024 12:09, Jon Hunter wrote:
>
> On 10/04/2024 07:18, Krzysztof Kozlowski wrote:
>> On 09/04/2024 10:23, Jon Hunter wrote:
>>> The dtbs_check reports that the 'dma-coherent' property is "unevaluated
>>> and invalid" for the host1x@13e00000 device on Tegra194 and Tegra234
>>> platforms. Fix this by updating the dt-binding document for host1x to
>>> add the 'dma-coherent' property for these devices.
>>
>> That's not really proper reason. What if DTS is wrong? The reason could
>> be if device is actually DMA coherent...
>
> In this case the DTS is correct. I guess I should have been more
> explicit about that.
>
>>> Fixes: 361238cdc525 ("arm64: tegra: Mark host1x as dma-coherent on Tegra194/234")
>>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
>>> ---
>>> .../bindings/display/tegra/nvidia,tegra20-host1x.yaml | 11 +++++++++++
>>> 1 file changed, 11 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
>>> index 94c5242c03b2..3563378a01af 100644
>>> --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
>>> +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
>>> @@ -177,6 +177,15 @@ allOf:
>>>
>>> required:
>>> - reg-names
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - nvidia,tegra194-host1x
>>> + then:
>>> + properties:
>>> + dma-coherent: true
>>
>> Do not define properties in allOf. Put it in top-level. If not all
>> devices are DMA coherent, you can disallow it for certain variants (:false).
>
>
> So for host1x we currently have the following devices supported ...
>
> properties:
> compatible:
> oneOf:
> - enum:
> - nvidia,tegra20-host1x
> - nvidia,tegra30-host1x
> - nvidia,tegra114-host1x
> - nvidia,tegra124-host1x
> - nvidia,tegra210-host1x
> - nvidia,tegra186-host1x
> - nvidia,tegra194-host1x
> - nvidia,tegra234-host1x
>
> - items:
> - const: nvidia,tegra132-host1x
> - const: nvidia,tegra124-host1x
>
>
> Now only the Tegra194 and Tegra234 are coherent (which are the latest
> devices). So rather than add this to the top and then filter out all
> those that are not supported, I opted for the above because there is
> only 2 devices that need this. Admittedly, as much as I like the yaml
> bindings, for things like this, it is not really clear which is the best
> way to handle, so appreciate the guidance.
The way to handle is that you must define properties top-level.
For simplification you could keep the if which duplicates the
dma-coherent:true but add else: which forbids it
if:
...
then:
properties:
dma-coherent: true
else:
properties:
dma-coherent: false
Or just ignore the problem. Binding is not 1-to-1 with DTS.
Best regards,
Krzysztof
next prev parent reply other threads:[~2024-04-11 10:43 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-09 8:23 [PATCH] dt-bindings: host1x: Add missing 'dma-coherent' Jon Hunter
2024-04-10 6:18 ` Krzysztof Kozlowski
2024-04-11 10:09 ` Jon Hunter
2024-04-11 10:43 ` Krzysztof Kozlowski [this message]
2024-04-11 14:43 ` Rob Herring
2024-04-11 14:36 ` Rob Herring
2024-04-12 5:25 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87909fc5-e4de-4b74-bdac-61a92777f32c@kernel.org \
--to=krzk@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=krzk+dt@kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mperttunen@nvidia.com \
--cc=robh@kernel.org \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox