From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Mrinmay Sarkar <quic_msarkar@quicinc.com>
Cc: fancer.lancer@gmail.com, vkoul@kernel.org,
quic_shazhuss@quicinc.com, quic_nitegupt@quicinc.com,
quic_ramkri@quicinc.com, quic_nayiluri@quicinc.com,
quic_krichai@quicinc.com, quic_vbadigan@quicinc.com,
stable@vger.kernel.org, Cai Huoqing <cai.huoqing@linux.dev>,
dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] dmaengine: dw-edma: Do not enable watermark interrupts for HDMA
Date: Thu, 25 Jul 2024 13:33:57 +0530 [thread overview]
Message-ID: <20240725080357.GD2770@thinkpad> (raw)
In-Reply-To: <1721740773-23181-3-git-send-email-quic_msarkar@quicinc.com>
On Tue, Jul 23, 2024 at 06:49:32PM +0530, Mrinmay Sarkar wrote:
> DW_HDMA_V0_LIE and DW_HDMA_V0_RIE are initialized as BIT(3) and BIT(4)
> respectively in dw_hdma_control enum. But as per HDMA register these
> bits are corresponds to LWIE and RWIE bit i.e local watermark interrupt
> enable and remote watermarek interrupt enable. In linked list mode LWIE
> and RWIE bits only enable the local and remote watermark interrupt.
>
> Since the watermark interrupts are not used but enabled, this leads to
> spurious interrupts getting generated. So remove the code that enables
> them to avoid generating spurious watermark interrupts.
>
> And also rename DW_HDMA_V0_LIE to DW_HDMA_V0_LWIE and DW_HDMA_V0_RIE to
> DW_HDMA_V0_RWIE as there is no LIE and RIE bits in HDMA and those bits
> are corresponds to LWIE and RWIE bits.
>
> Fixes: e74c39573d35 ("dmaengine: dw-edma: Add support for native HDMA")
> cc: stable@vger.kernel.org
> Signed-off-by: Mrinmay Sarkar <quic_msarkar@quicinc.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> drivers/dma/dw-edma/dw-hdma-v0-core.c | 17 +++--------------
> 1 file changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/dma/dw-edma/dw-hdma-v0-core.c b/drivers/dma/dw-edma/dw-hdma-v0-core.c
> index fa89b3a..9ad2e28 100644
> --- a/drivers/dma/dw-edma/dw-hdma-v0-core.c
> +++ b/drivers/dma/dw-edma/dw-hdma-v0-core.c
> @@ -17,8 +17,8 @@ enum dw_hdma_control {
> DW_HDMA_V0_CB = BIT(0),
> DW_HDMA_V0_TCB = BIT(1),
> DW_HDMA_V0_LLP = BIT(2),
> - DW_HDMA_V0_LIE = BIT(3),
> - DW_HDMA_V0_RIE = BIT(4),
> + DW_HDMA_V0_LWIE = BIT(3),
> + DW_HDMA_V0_RWIE = BIT(4),
> DW_HDMA_V0_CCS = BIT(8),
> DW_HDMA_V0_LLE = BIT(9),
> };
> @@ -195,25 +195,14 @@ static void dw_hdma_v0_write_ll_link(struct dw_edma_chunk *chunk,
> static void dw_hdma_v0_core_write_chunk(struct dw_edma_chunk *chunk)
> {
> struct dw_edma_burst *child;
> - struct dw_edma_chan *chan = chunk->chan;
> u32 control = 0, i = 0;
> - int j;
>
> if (chunk->cb)
> control = DW_HDMA_V0_CB;
>
> - j = chunk->bursts_alloc;
> - list_for_each_entry(child, &chunk->burst->list, list) {
> - j--;
> - if (!j) {
> - control |= DW_HDMA_V0_LIE;
> - if (!(chan->dw->chip->flags & DW_EDMA_CHIP_LOCAL))
> - control |= DW_HDMA_V0_RIE;
> - }
> -
> + list_for_each_entry(child, &chunk->burst->list, list)
> dw_hdma_v0_write_ll_data(chunk, i++, control, child->sz,
> child->sar, child->dar);
> - }
>
> control = DW_HDMA_V0_LLP | DW_HDMA_V0_TCB;
> if (!chunk->cb)
> --
> 2.7.4
>
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2024-07-25 8:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-23 13:19 [PATCH v2 0/2] Fix unmasking interrupt bit and remove watermark interrupt enablement Mrinmay Sarkar
2024-07-23 13:19 ` [PATCH v2 1/2] dmaengine: dw-edma: Fix unmasking STOP and ABORT interrupts for HDMA Mrinmay Sarkar
2024-07-25 8:01 ` Manivannan Sadhasivam
2024-08-01 23:42 ` Serge Semin
2024-08-05 14:00 ` Mrinmay Sarkar
2024-08-06 22:56 ` Serge Semin
2024-08-07 17:19 ` Mrinmay Sarkar
2024-08-08 20:28 ` Serge Semin
2024-07-23 13:19 ` [PATCH v2 2/2] dmaengine: dw-edma: Do not enable watermark " Mrinmay Sarkar
2024-07-25 8:03 ` Manivannan Sadhasivam [this message]
2024-08-02 0:34 ` Serge Semin
2024-08-05 14:04 ` Mrinmay Sarkar
2024-08-06 22:35 ` Serge Semin
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=20240725080357.GD2770@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=cai.huoqing@linux.dev \
--cc=dmaengine@vger.kernel.org \
--cc=fancer.lancer@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=quic_krichai@quicinc.com \
--cc=quic_msarkar@quicinc.com \
--cc=quic_nayiluri@quicinc.com \
--cc=quic_nitegupt@quicinc.com \
--cc=quic_ramkri@quicinc.com \
--cc=quic_shazhuss@quicinc.com \
--cc=quic_vbadigan@quicinc.com \
--cc=stable@vger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.