Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Golla, Nagendra" <Nagendra.Golla@amd.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: vkoul@kernel.org, Frank.Li@kernel.org, michal.simek@amd.com,
	robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
	rafael@kernel.org, git@amd.com, dmaengine@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH V3 4/6] dt-bindings: dma: xlnx,zynqmp-dma: Add Versal Net compatible support
Date: Fri, 21 Aug 2026 10:06:52 +0530	[thread overview]
Message-ID: <f3b91b66-238b-41bf-9c11-4b27314807d8@amd.com> (raw)
In-Reply-To: <20260812-benevolent-ammonite-of-mathematics-5dcafc@quoll>

Hi Krzysztof

On 8/12/2026 4:13 PM, Krzysztof Kozlowski wrote:
> On Mon, Aug 10, 2026 at 03:34:50PM +0530, Golla Nagendra wrote:
>> From: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
>>
>> Introduce a new compatible string amd,versal-net-dma-1.0 for
>> Versal Net ZDMA.The new compatible requires xlnx,zynqmp-dma-1.0 as a
>> fallback.
>>
>> Add a reset property to describe the per-channel reset line exposed
>> on Versal Gen2 and Versal Net. Mark the resets property as required
>> for both Versal Gen2 and Versal Net, and not applicable for other
>> platforms.
> 
> I cannot find previous discussion in my inbox and cover letter has no
> links to previous versions (when finally will you start using b4?), so
> you might get the same review over and over.

Thanks for the review

Please fin the previous version lore links below
https://lore.kernel.org/all/20260525105042.2249542-2-nagendra.golla@amd.com/

https://lore.kernel.org/all/20260618071056.2024286-2-nagendra.golla@amd.com/
> 
>>
>> Note that making resets required for Versal Gen2 results in an ABI
>> break but this is unavoidable. When DMA is used by two software components
>> back to back (e.g., firmware before Linux boot), DMA functionality fails
>> due to configuration differences or the DMA being left in a bad state by
>> the previous user. The channel can only be cleanly re-configured after
>> a DMA channel reset,making it essential.
> 
> So this was never working? What exactly is unavoidable?

It does work in many scenarios when there was no other FW using the DMA 
prior to Linux boot. But there's no guarantee that the channel is left 
in a clean state and we have observed error scenarios where a reset is 
necessary before Linux can reconfigure the IP. We added the reset to fix 
this and hence making it a required property is unavoidable. We are only 
doing this for Versal Gen2 and Versal Net where this provision is 
available. We are unable to enforce this for older devices because there 
is no per-channel reset there.

Thanks,
Nagendra

> 
>>
>> Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
>> Co-developed-by: Golla Nagendra <nagendra.golla@amd.com>
>> Signed-off-by: Golla Nagendra <nagendra.golla@amd.com>
>> ---
>> Changes in V3:
>> - Use allOf:if:then: to restrict the resets property per-compatible,
>>    making it required for amd,versal2-dma-1.0 and amd,versal-net-dma-1.0
>>    and explicitly setting resets: false for all other platforms
>> - Add amd,versal-net-dma-1.0 compatible string with xlnx,zynqmp-dma-1.0
>>    as fallback
>> - Switch compatible from enum to oneOf to accommodate the new multi-item
>>    entry for Versal Net
>> - Add ABI break justification
>> ---
>>   .../dma/xilinx/xlnx,zynqmp-dma-1.0.yaml       | 25 ++++++++++++++++---
>>   1 file changed, 22 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
>> index 2da86037ad79..87c65aef5c7d 100644
>> --- a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
>> +++ b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
>> @@ -18,15 +18,31 @@ maintainers:
>>   
>>   allOf:
>>     - $ref: ../dma-controller.yaml#
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - amd,versal2-dma-1.0
>> +              - amd,versal-net-dma-1.0
> 
>> +    then:
>> +      required:
>> +        - resets
>> +    else:
>> +      properties:
>> +        resets: false
> 
> Entire allOf goes after "required:" block, by convention, see
> example-schema.
> 
> Best regards,
> Krzysztof
> 



  reply	other threads:[~2026-08-21  4:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-10 10:04 [PATCH V3 0/6] dmaengine: zynqmp_dma: Per-channel reset, IRQ guard improvements, and PM fixes Golla Nagendra
2026-08-10 10:04 ` [PATCH V3 1/6] dmaengine: zynqmp_dma: Fix PM usage count handling in probe error path Golla Nagendra
2026-08-11 16:13   ` Frank Li
2026-08-21  4:27     ` Golla, Nagendra
2026-08-10 10:04 ` [PATCH V3 2/6] PM: runtime: Add pm_runtime_if_active guard and conditional variant Golla Nagendra
2026-08-10 10:04 ` [PATCH V3 3/6] dmaengine: zynqmp_dma: Guard IRQ handler against spurious interrupts Golla Nagendra
2026-08-10 10:04 ` [PATCH V3 4/6] dt-bindings: dma: xlnx,zynqmp-dma: Add Versal Net compatible support Golla Nagendra
2026-08-11 16:41   ` Frank Li
2026-08-21  4:30     ` Golla, Nagendra
2026-08-12 10:43   ` Krzysztof Kozlowski
2026-08-21  4:36     ` Golla, Nagendra [this message]
2026-08-10 10:04 ` [PATCH V3 5/6] dmaengine: zynqmp_dma: Add new compatible string for Versal Net Golla Nagendra
2026-08-10 10:04 ` [PATCH V3 6/6] dmaengine: zynqmp_dma: Add per-channel reset support Golla Nagendra

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=f3b91b66-238b-41bf-9c11-4b27314807d8@amd.com \
    --to=nagendra.golla@amd.com \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=git@amd.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=michal.simek@amd.com \
    --cc=rafael@kernel.org \
    --cc=robh@kernel.org \
    --cc=vkoul@kernel.org \
    /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