* Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174.
@ 2022-02-18 8:40 Mickael GARDET
2022-02-18 8:46 ` Greg KH
0 siblings, 1 reply; 5+ messages in thread
From: Mickael GARDET @ 2022-02-18 8:40 UTC (permalink / raw)
To: stable; +Cc: Kévin Raymond, gregkh, Tudor.Ambarus
Hi,
we observed a regression on our atmel platforms on branch 5.4.Y from
version 5.4.174.
uarts are no longer functional if DMA is enabled.
the following patch
Commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a dmaengine: at_xdmac:
Start transfer for cyclic channels in issue_pending
Link:
https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com
has not been backported but is needed if the patch
Commit 4f4b9b5895614eb2e2b5f4cab7858f44bd113e1b tty: serial: atmel: Call
dma_async_issue_pending()
Link:
https://lore.kernel.org/r/20211125090028.786832-4-tudor.ambarus@microchip.com
is applied.
enclosed commit fix this issue and work for me.
Best regards,
Mickael GARDET
From 9877f93c066be8c2f4e33a6edd4dfa3d6d6974d9 Mon Sep 17 00:00:00 2001
From: Tudor Ambarus <tudor.ambarus@microchip.com>
Date: Wed, 15 Dec 2021 13:01:05 +0200
Subject: [PATCH] dmaengine: at_xdmac: Start transfer for cyclic channels
in issue_pending
commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a upstream.
Cyclic channels must too call issue_pending in order to start a transfer.
Start the transfer in issue_pending regardless of the type of channel.
This wrongly worked before, because in the past the transfer was started
at tx_submit level when only a desc in the transfer list.
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Change-Id: If1bf3e13329cebb9904ae40620f6cf2b7f06fe9f
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link:
https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
drivers/dma/at_xdmac.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
index f63d141481a3..9aae6b3da356 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -1726,11 +1726,13 @@ static irqreturn_t at_xdmac_interrupt(int irq,
void *dev_id)
static void at_xdmac_issue_pending(struct dma_chan *chan)
{
struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan);
+ unsigned long flags;
dev_dbg(chan2dev(&atchan->chan), "%s\n", __func__);
- if (!at_xdmac_chan_is_cyclic(atchan))
- at_xdmac_advance_work(atchan);
+ spin_lock_irqsave(&atchan->lock, flags);
+ at_xdmac_advance_work(atchan);
+ spin_unlock_irqrestore(&atchan->lock, flags);
return;
}
base-commit: 7b3eb66d0daf61e91cccdb2fe5d271ae5adc5a76
--
2.35.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174. 2022-02-18 8:40 Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174 Mickael GARDET @ 2022-02-18 8:46 ` Greg KH 2022-02-18 8:59 ` Mickael GARDET 0 siblings, 1 reply; 5+ messages in thread From: Greg KH @ 2022-02-18 8:46 UTC (permalink / raw) To: Mickael GARDET; +Cc: stable, Kévin Raymond, Tudor.Ambarus On Fri, Feb 18, 2022 at 09:40:55AM +0100, Mickael GARDET wrote: > Hi, > > we observed a regression on our atmel platforms on branch 5.4.Y from version > 5.4.174. > uarts are no longer functional if DMA is enabled. > > the following patch > Commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a dmaengine: at_xdmac: Start > transfer for cyclic channels in issue_pending > Link: > https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com > has not been backported but is needed if the patch > Commit 4f4b9b5895614eb2e2b5f4cab7858f44bd113e1b tty: serial: atmel: Call > dma_async_issue_pending() > Link: > https://lore.kernel.org/r/20211125090028.786832-4-tudor.ambarus@microchip.com > is applied. > > enclosed commit fix this issue and work for me. > > Best regards, > Mickael GARDET > > From 9877f93c066be8c2f4e33a6edd4dfa3d6d6974d9 Mon Sep 17 00:00:00 2001 > From: Tudor Ambarus <tudor.ambarus@microchip.com> > Date: Wed, 15 Dec 2021 13:01:05 +0200 > Subject: [PATCH] dmaengine: at_xdmac: Start transfer for cyclic channels in > issue_pending > > commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a upstream. > > Cyclic channels must too call issue_pending in order to start a transfer. > Start the transfer in issue_pending regardless of the type of channel. > This wrongly worked before, because in the past the transfer was started > at tx_submit level when only a desc in the transfer list. > > Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel eXtended > DMA Controller driver") > Change-Id: If1bf3e13329cebb9904ae40620f6cf2b7f06fe9f > Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> > Link: > https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com > Signed-off-by: Vinod Koul <vkoul@kernel.org> > --- > drivers/dma/at_xdmac.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c > index f63d141481a3..9aae6b3da356 100644 > --- a/drivers/dma/at_xdmac.c > +++ b/drivers/dma/at_xdmac.c > @@ -1726,11 +1726,13 @@ static irqreturn_t at_xdmac_interrupt(int irq, > void *dev_id) > static void at_xdmac_issue_pending(struct dma_chan *chan) > { > struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan); > + unsigned long flags; > > dev_dbg(chan2dev(&atchan->chan), "%s\n", __func__); > > - if (!at_xdmac_chan_is_cyclic(atchan)) > - at_xdmac_advance_work(atchan); > + spin_lock_irqsave(&atchan->lock, flags); > + at_xdmac_advance_work(atchan); > + spin_unlock_irqrestore(&atchan->lock, flags); > > return; > } > > base-commit: 7b3eb66d0daf61e91cccdb2fe5d271ae5adc5a76 > > -- > 2.35.1 > The patch is whitespace damaged and can not be applied at all :( Can you try fixing your email client up, or worst case, attach the patch, and we can take it from there? Also be sure to sign-off on the patch, as you have modified it to work properly on this branch. thanks, greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174. 2022-02-18 8:46 ` Greg KH @ 2022-02-18 8:59 ` Mickael GARDET 2022-02-18 9:41 ` Greg KH 0 siblings, 1 reply; 5+ messages in thread From: Mickael GARDET @ 2022-02-18 8:59 UTC (permalink / raw) To: Greg KH; +Cc: stable, Kévin Raymond, Tudor.Ambarus [-- Attachment #1: Type: text/plain, Size: 3105 bytes --] Yes sorry, enclosed signed patch. Le 18/02/2022 à 09:46, Greg KH a écrit : > On Fri, Feb 18, 2022 at 09:40:55AM +0100, Mickael GARDET wrote: >> Hi, >> >> we observed a regression on our atmel platforms on branch 5.4.Y from version >> 5.4.174. >> uarts are no longer functional if DMA is enabled. >> >> the following patch >> Commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a dmaengine: at_xdmac: Start >> transfer for cyclic channels in issue_pending >> Link: >> https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com >> has not been backported but is needed if the patch >> Commit 4f4b9b5895614eb2e2b5f4cab7858f44bd113e1b tty: serial: atmel: Call >> dma_async_issue_pending() >> Link: >> https://lore.kernel.org/r/20211125090028.786832-4-tudor.ambarus@microchip.com >> is applied. >> >> enclosed commit fix this issue and work for me. >> >> Best regards, >> Mickael GARDET >> >> From 9877f93c066be8c2f4e33a6edd4dfa3d6d6974d9 Mon Sep 17 00:00:00 2001 >> From: Tudor Ambarus <tudor.ambarus@microchip.com> >> Date: Wed, 15 Dec 2021 13:01:05 +0200 >> Subject: [PATCH] dmaengine: at_xdmac: Start transfer for cyclic channels in >> issue_pending >> >> commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a upstream. >> >> Cyclic channels must too call issue_pending in order to start a transfer. >> Start the transfer in issue_pending regardless of the type of channel. >> This wrongly worked before, because in the past the transfer was started >> at tx_submit level when only a desc in the transfer list. >> >> Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel eXtended >> DMA Controller driver") >> Change-Id: If1bf3e13329cebb9904ae40620f6cf2b7f06fe9f >> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> >> Link: >> https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com >> Signed-off-by: Vinod Koul <vkoul@kernel.org> >> --- >> drivers/dma/at_xdmac.c | 6 ++++-- >> 1 file changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c >> index f63d141481a3..9aae6b3da356 100644 >> --- a/drivers/dma/at_xdmac.c >> +++ b/drivers/dma/at_xdmac.c >> @@ -1726,11 +1726,13 @@ static irqreturn_t at_xdmac_interrupt(int irq, >> void *dev_id) >> static void at_xdmac_issue_pending(struct dma_chan *chan) >> { >> struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan); >> + unsigned long flags; >> >> dev_dbg(chan2dev(&atchan->chan), "%s\n", __func__); >> >> - if (!at_xdmac_chan_is_cyclic(atchan)) >> - at_xdmac_advance_work(atchan); >> + spin_lock_irqsave(&atchan->lock, flags); >> + at_xdmac_advance_work(atchan); >> + spin_unlock_irqrestore(&atchan->lock, flags); >> >> return; >> } >> >> base-commit: 7b3eb66d0daf61e91cccdb2fe5d271ae5adc5a76 >> >> -- >> 2.35.1 >> > > The patch is whitespace damaged and can not be applied at all :( > > Can you try fixing your email client up, or worst case, attach the > patch, and we can take it from there? > > Also be sure to sign-off on the patch, as you have modified it to work > properly on this branch. > > thanks, > > greg k-h [-- Attachment #2: 0001-dmaengine-at_xdmac-Start-transfer-for-cyclic-channel.patch --] [-- Type: text/x-patch, Size: 1737 bytes --] From 1310f5ba2f2d199e6527d2a289192ff99d8c6c83 Mon Sep 17 00:00:00 2001 From: Tudor Ambarus <tudor.ambarus@microchip.com> Date: Wed, 15 Dec 2021 13:01:05 +0200 Subject: [PATCH] dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending commit e6af9b05bec63cd4d1de2a33968cd0be2a91282a upstream. Cyclic channels must too call issue_pending in order to start a transfer. Start the transfer in issue_pending regardless of the type of channel. This wrongly worked before, because in the past the transfer was started at tx_submit level when only a desc in the transfer list. Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel eXtended DMA Controller driver") Change-Id: If1bf3e13329cebb9904ae40620f6cf2b7f06fe9f Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> Link: https://lore.kernel.org/r/20211215110115.191749-3-tudor.ambarus@microchip.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Mickael GARDET <m.gardet@overkiz.com> --- drivers/dma/at_xdmac.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c index f63d141481a3..9aae6b3da356 100644 --- a/drivers/dma/at_xdmac.c +++ b/drivers/dma/at_xdmac.c @@ -1726,11 +1726,13 @@ static irqreturn_t at_xdmac_interrupt(int irq, void *dev_id) static void at_xdmac_issue_pending(struct dma_chan *chan) { struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan); + unsigned long flags; dev_dbg(chan2dev(&atchan->chan), "%s\n", __func__); - if (!at_xdmac_chan_is_cyclic(atchan)) - at_xdmac_advance_work(atchan); + spin_lock_irqsave(&atchan->lock, flags); + at_xdmac_advance_work(atchan); + spin_unlock_irqrestore(&atchan->lock, flags); return; } -- 2.35.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174. 2022-02-18 8:59 ` Mickael GARDET @ 2022-02-18 9:41 ` Greg KH 2022-02-18 10:15 ` Mickael GARDET 0 siblings, 1 reply; 5+ messages in thread From: Greg KH @ 2022-02-18 9:41 UTC (permalink / raw) To: Mickael GARDET; +Cc: stable, Kévin Raymond, Tudor.Ambarus On Fri, Feb 18, 2022 at 09:59:34AM +0100, Mickael GARDET wrote: > Yes sorry, > > enclosed signed patch. That worked, now queued up, thanks! greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174. 2022-02-18 9:41 ` Greg KH @ 2022-02-18 10:15 ` Mickael GARDET 0 siblings, 0 replies; 5+ messages in thread From: Mickael GARDET @ 2022-02-18 10:15 UTC (permalink / raw) To: Greg KH; +Cc: stable, Kévin Raymond, Tudor.Ambarus Thanks y'all for your help. Mick G Le 18/02/2022 à 10:41, Greg KH a écrit : > On Fri, Feb 18, 2022 at 09:59:34AM +0100, Mickael GARDET wrote: >> Yes sorry, >> >> enclosed signed patch. > > That worked, now queued up, thanks! > > greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-02-18 10:15 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-02-18 8:40 Atmel UART with dma enabled does not work on branch 5.4.Y from version 5.4.174 Mickael GARDET 2022-02-18 8:46 ` Greg KH 2022-02-18 8:59 ` Mickael GARDET 2022-02-18 9:41 ` Greg KH 2022-02-18 10:15 ` Mickael GARDET
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.