DMA Engine development
 help / color / mirror / Atom feed
From: Vinod Koul <vkoul@kernel.org>
To: Eric Debief <debief@digigram.com>
Cc: dmaengine@vger.kernel.org, Lizhi Hou <lizhi.hou@amd.com>,
	Brian Xu <brian.xu@amd.com>,
	Raj Kumar Rampelli <raj.kumar.rampelli@amd.com>
Subject: Re: [PATCH] IRQ Pending signal's state leaved true once stopped
Date: Sat, 4 May 2024 17:56:19 +0530	[thread overview]
Message-ID: <ZjYpa9OQDsNL6Xlx@matsya> (raw)
In-Reply-To: <CALYqZ9mqnT7pP6PsZUFvp5XpmrhHXjo+0pQt7mOX2AD0noUjAQ@mail.gmail.com>

Hello Eric,

On 29-04-24, 16:21, Eric Debief wrote:
> Hi,
> 
> We've observed that the IRQ Pending signal's state stays TRUE once the
> XDMA channel is stopped. This is due to the missg acknowledgement
> (stats register read) on the last interrupt.
> We simply move up the status register read.
> 
> Below my patch.

Thanks for the patch, you should cc the driver authors as well for the
comments on the patch.

checkpatch would tell you that these are:
Lizhi Hou <lizhi.hou@amd.com> (supporter:XILINX XDMA DRIVER)
Brian Xu <brian.xu@amd.com> (supporter:XILINX XDMA DRIVER)
Raj Kumar Rampelli <raj.kumar.rampelli@amd.com> (supporter:XILINX XDMA DRIVER)
Michal Simek <michal.simek@amd.com> (supporter:ARM/ZYNQ ARCHITECTURE)
Vinod Koul <vkoul@kernel.org> (maintainer:DMA GENERIC OFFLOAD ENGINE SUBSYSTEM)


> 
> Hope this helps.
> Eric.
> 
> =============================================
> >From 1f49f5e2537741949b6af90d09c8c22764333ff6 Mon Sep 17 00:00:00 2001
> From: Eric DEBIEF <debief@digigram.com>
> Date: Mon, 29 Apr 2024 16:16:45 +0200
> Subject: FIX: IRQ Pending TRUE once stopped.

subject should have tags: dmaengine: xilinx: 

> 
> The last interrupt is not acknowledged so the IRQ Pending signal's
> state is leaved TRUE. Move up the read of the status register to
> acknowledge the IRQ lowering the IRQ Pending signal's state.
> ---
>  drivers/dma/xilinx/xdma.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/dma/xilinx/xdma.c b/drivers/dma/xilinx/xdma.c
> index 306099c920bb..de23f75bc76f 100644
> --- a/drivers/dma/xilinx/xdma.c
> +++ b/drivers/dma/xilinx/xdma.c
> @@ -923,16 +923,16 @@ static irqreturn_t xdma_channel_isr(int irq, void *dev_id)
> 
>      spin_lock(&xchan->vchan.lock);
> 
> -    /* get submitted request */
> -    vd = vchan_next_desc(&xchan->vchan);
> -    if (!vd)
> -        goto out;
> -
>      /* Clear-on-read the status register */
>      ret = regmap_read(xdev->rmap, xchan->base + XDMA_CHAN_STATUS_RC, &st);
>      if (ret)
>          goto out;
> 
> +    /* get submitted request */
> +    vd = vchan_next_desc(&xchan->vchan);
> +    if (!vd)
> +        goto out;
> +
>      desc = to_xdma_desc(vd);
> 
>      st &= XDMA_CHAN_STATUS_MASK;
> -- 
> 2.34.1
> 
> -- 
>  
> <https://www.digigram.com/digigram-critical-audio-at-critical-communications-world/>

-- 
~Vinod

  reply	other threads:[~2024-05-04 12:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29 14:21 [PATCH] IRQ Pending signal's state leaved true once stopped Eric Debief
2024-05-04 12:26 ` Vinod Koul [this message]
2024-05-07 15:14   ` Lizhi Hou

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=ZjYpa9OQDsNL6Xlx@matsya \
    --to=vkoul@kernel.org \
    --cc=brian.xu@amd.com \
    --cc=debief@digigram.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=lizhi.hou@amd.com \
    --cc=raj.kumar.rampelli@amd.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