* [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART
@ 2016-05-04 19:29 Andy Shevchenko
2016-05-04 19:29 ` [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC Andy Shevchenko
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Andy Shevchenko @ 2016-05-04 19:29 UTC (permalink / raw)
To: Vinod Koul, linux-kernel, dmaengine, Peter Hurley, linux-serial
Cc: Andy Shevchenko
There are two patches, first of which is an urgent fix to prevent a regression
when UART driver can't acquire DMA channel due to DMA engine which doesn't
support DMA_CYCLIC.
Andy Shevchenko (2):
dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC
dmaengine: rename cmd_pause to cmd_suspend
drivers/dma/dmaengine.c | 8 ++++----
drivers/tty/serial/8250/8250_dma.c | 2 +-
include/linux/dmaengine.h | 4 ++--
sound/soc/soc-generic-dmaengine-pcm.c | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)
--
2.8.1
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC 2016-05-04 19:29 [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko @ 2016-05-04 19:29 ` Andy Shevchenko 2016-05-10 15:56 ` Vinod Koul 2016-05-04 19:29 ` [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend Andy Shevchenko 2016-05-06 13:38 ` [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko 2 siblings, 1 reply; 10+ messages in thread From: Andy Shevchenko @ 2016-05-04 19:29 UTC (permalink / raw) To: Vinod Koul, linux-kernel, dmaengine, Peter Hurley, linux-serial Cc: Andy Shevchenko When check for capabilities recognize slave support by eother DMA_SLAVE or DMA_CYCLIC bit set. If we don't do that the user can't get a normally worked DMA support for engines that doesn't have one of the mentioned bits set. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/dma/dmaengine.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 5ff79a0..59eb4fa 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -482,8 +482,8 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) device = chan->device; /* check if the channel supports slave transactions */ - if ((!test_bit(DMA_SLAVE, device->cap_mask.bits)) || - (!test_bit(DMA_CYCLIC, device->cap_mask.bits))) + if (!(test_bit(DMA_SLAVE, device->cap_mask.bits) || + test_bit(DMA_CYCLIC, device->cap_mask.bits))) return -ENXIO; /* -- 2.8.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC 2016-05-04 19:29 ` [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC Andy Shevchenko @ 2016-05-10 15:56 ` Vinod Koul 2016-05-10 16:01 ` Andy Shevchenko 0 siblings, 1 reply; 10+ messages in thread From: Vinod Koul @ 2016-05-10 15:56 UTC (permalink / raw) To: Andy Shevchenko; +Cc: linux-kernel, dmaengine, Peter Hurley, linux-serial On Wed, May 04, 2016 at 10:29:39PM +0300, Andy Shevchenko wrote: > When check for capabilities recognize slave support by eother DMA_SLAVE or ^^^^^^^ typo > DMA_CYCLIC bit set. If we don't do that the user can't get a normally worked > DMA support for engines that doesn't have one of the mentioned bits set. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/dma/dmaengine.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c > index 5ff79a0..59eb4fa 100644 > --- a/drivers/dma/dmaengine.c > +++ b/drivers/dma/dmaengine.c > @@ -482,8 +482,8 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) > device = chan->device; > > /* check if the channel supports slave transactions */ > - if ((!test_bit(DMA_SLAVE, device->cap_mask.bits)) || > - (!test_bit(DMA_CYCLIC, device->cap_mask.bits))) > + if (!(test_bit(DMA_SLAVE, device->cap_mask.bits) || > + test_bit(DMA_CYCLIC, device->cap_mask.bits))) > return -ENXIO; > > /* > -- > 2.8.1 > -- ~Vinod ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC 2016-05-10 15:56 ` Vinod Koul @ 2016-05-10 16:01 ` Andy Shevchenko 2016-05-10 16:13 ` Vinod Koul 0 siblings, 1 reply; 10+ messages in thread From: Andy Shevchenko @ 2016-05-10 16:01 UTC (permalink / raw) To: Vinod Koul; +Cc: linux-kernel, dmaengine, Peter Hurley, linux-serial On Tue, 2016-05-10 at 21:26 +0530, Vinod Koul wrote: > On Wed, May 04, 2016 at 10:29:39PM +0300, Andy Shevchenko wrote: > > > > When check for capabilities recognize slave support by eother > > DMA_SLAVE or > ^^^^^^^ > typo Indeed, thanks. Do I need to resend this one? -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC 2016-05-10 16:01 ` Andy Shevchenko @ 2016-05-10 16:13 ` Vinod Koul 0 siblings, 0 replies; 10+ messages in thread From: Vinod Koul @ 2016-05-10 16:13 UTC (permalink / raw) To: Andy Shevchenko; +Cc: linux-kernel, dmaengine, Peter Hurley, linux-serial On Tue, May 10, 2016 at 07:01:03PM +0300, Andy Shevchenko wrote: > On Tue, 2016-05-10 at 21:26 +0530, Vinod Koul wrote: > > On Wed, May 04, 2016 at 10:29:39PM +0300, Andy Shevchenko wrote: > > > > > > When check for capabilities recognize slave support by eother > > > DMA_SLAVE or > > ^^^^^^^ > > typo > > Indeed, thanks. > Do I need to resend this one? Yes please. Also instead of OR, AND will do the same, but your approach works too, so either way am fine.. And I do not get correlation with fix on patch 1. This should be independent change.. -- ~Vinod ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend 2016-05-04 19:29 [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko 2016-05-04 19:29 ` [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC Andy Shevchenko @ 2016-05-04 19:29 ` Andy Shevchenko 2016-05-10 15:59 ` Vinod Koul 2016-05-06 13:38 ` [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko 2 siblings, 1 reply; 10+ messages in thread From: Andy Shevchenko @ 2016-05-04 19:29 UTC (permalink / raw) To: Vinod Koul, linux-kernel, dmaengine, Peter Hurley, linux-serial Cc: Andy Shevchenko Rename cmd_pause to cmd_suspend to be clear that latter capability reflects pause AND resume. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/dma/dmaengine.c | 4 ++-- drivers/tty/serial/8250/8250_dma.c | 2 +- include/linux/dmaengine.h | 4 ++-- sound/soc/soc-generic-dmaengine-pcm.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 59eb4fa..e9917a4 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -503,9 +503,9 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) /* * Some devices implement only pause (e.g. to get residuum) but no - * resume. However cmd_pause is advertised as pause AND resume. + * resume. However cmd_suspend is advertised as pause AND resume. */ - caps->cmd_pause = !!(device->device_pause && device->device_resume); + caps->cmd_suspend = !!(device->device_pause && device->device_resume); caps->cmd_terminate = !!device->device_terminate_all; return 0; diff --git a/drivers/tty/serial/8250/8250_dma.c b/drivers/tty/serial/8250/8250_dma.c index 8ccbf53..2db57b0 100644 --- a/drivers/tty/serial/8250/8250_dma.c +++ b/drivers/tty/serial/8250/8250_dma.c @@ -180,7 +180,7 @@ int serial8250_request_dma(struct uart_8250_port *p) ret = dma_get_slave_caps(dma->rxchan, &caps); if (ret) goto release_rx; - if (!caps.cmd_pause || !caps.cmd_terminate || + if (!caps.cmd_suspend || !caps.cmd_terminate || caps.residue_granularity == DMA_RESIDUE_GRANULARITY_DESCRIPTOR) { ret = -EINVAL; goto release_rx; diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 30de019..af9c97c 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -402,7 +402,7 @@ enum dma_residue_granularity { * type of direction, the dma controller should fill (1 << <TYPE>) and same * should be checked by controller as well * @max_burst: max burst capability per-transfer - * @cmd_pause: true, if pause and thereby resume is supported + * @cmd_suspend: true, if pause and thereby resume is supported * @cmd_terminate: true, if terminate cmd is supported * @residue_granularity: granularity of the reported transfer residue * @descriptor_reuse: if a descriptor can be reused by client and @@ -413,7 +413,7 @@ struct dma_slave_caps { u32 dst_addr_widths; u32 directions; u32 max_burst; - bool cmd_pause; + bool cmd_suspend; bool cmd_terminate; enum dma_residue_granularity residue_granularity; bool descriptor_reuse; diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c index 6cef397..73fc20e 100644 --- a/sound/soc/soc-generic-dmaengine-pcm.c +++ b/sound/soc/soc-generic-dmaengine-pcm.c @@ -151,7 +151,7 @@ static int dmaengine_pcm_set_runtime_hwparams(struct snd_pcm_substream *substrea ret = dma_get_slave_caps(chan, &dma_caps); if (ret == 0) { - if (dma_caps.cmd_pause) + if (dma_caps.cmd_suspend) hw.info |= SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME; if (dma_caps.residue_granularity <= DMA_RESIDUE_GRANULARITY_SEGMENT) hw.info |= SNDRV_PCM_INFO_BATCH; -- 2.8.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend 2016-05-04 19:29 ` [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend Andy Shevchenko @ 2016-05-10 15:59 ` Vinod Koul 2016-05-10 16:00 ` Andy Shevchenko 0 siblings, 1 reply; 10+ messages in thread From: Vinod Koul @ 2016-05-10 15:59 UTC (permalink / raw) To: Andy Shevchenko; +Cc: linux-kernel, dmaengine, Peter Hurley, linux-serial On Wed, May 04, 2016 at 10:29:40PM +0300, Andy Shevchenko wrote: > Rename cmd_pause to cmd_suspend to be clear that latter capability reflects > pause AND resume. How does cmd_suspend be any clearer to reflect that channel is paused and not. One can argue this might be related to power management suspend ... > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/dma/dmaengine.c | 4 ++-- > drivers/tty/serial/8250/8250_dma.c | 2 +- > include/linux/dmaengine.h | 4 ++-- > sound/soc/soc-generic-dmaengine-pcm.c | 2 +- > 4 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c > index 59eb4fa..e9917a4 100644 > --- a/drivers/dma/dmaengine.c > +++ b/drivers/dma/dmaengine.c > @@ -503,9 +503,9 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) > > /* > * Some devices implement only pause (e.g. to get residuum) but no > - * resume. However cmd_pause is advertised as pause AND resume. > + * resume. However cmd_suspend is advertised as pause AND resume. > */ > - caps->cmd_pause = !!(device->device_pause && device->device_resume); > + caps->cmd_suspend = !!(device->device_pause && device->device_resume); > caps->cmd_terminate = !!device->device_terminate_all; > > return 0; > diff --git a/drivers/tty/serial/8250/8250_dma.c b/drivers/tty/serial/8250/8250_dma.c > index 8ccbf53..2db57b0 100644 > --- a/drivers/tty/serial/8250/8250_dma.c > +++ b/drivers/tty/serial/8250/8250_dma.c > @@ -180,7 +180,7 @@ int serial8250_request_dma(struct uart_8250_port *p) > ret = dma_get_slave_caps(dma->rxchan, &caps); > if (ret) > goto release_rx; > - if (!caps.cmd_pause || !caps.cmd_terminate || > + if (!caps.cmd_suspend || !caps.cmd_terminate || > caps.residue_granularity == DMA_RESIDUE_GRANULARITY_DESCRIPTOR) { > ret = -EINVAL; > goto release_rx; > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index 30de019..af9c97c 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -402,7 +402,7 @@ enum dma_residue_granularity { > * type of direction, the dma controller should fill (1 << <TYPE>) and same > * should be checked by controller as well > * @max_burst: max burst capability per-transfer > - * @cmd_pause: true, if pause and thereby resume is supported > + * @cmd_suspend: true, if pause and thereby resume is supported > * @cmd_terminate: true, if terminate cmd is supported > * @residue_granularity: granularity of the reported transfer residue > * @descriptor_reuse: if a descriptor can be reused by client and > @@ -413,7 +413,7 @@ struct dma_slave_caps { > u32 dst_addr_widths; > u32 directions; > u32 max_burst; > - bool cmd_pause; > + bool cmd_suspend; > bool cmd_terminate; > enum dma_residue_granularity residue_granularity; > bool descriptor_reuse; > diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c > index 6cef397..73fc20e 100644 > --- a/sound/soc/soc-generic-dmaengine-pcm.c > +++ b/sound/soc/soc-generic-dmaengine-pcm.c > @@ -151,7 +151,7 @@ static int dmaengine_pcm_set_runtime_hwparams(struct snd_pcm_substream *substrea > > ret = dma_get_slave_caps(chan, &dma_caps); > if (ret == 0) { > - if (dma_caps.cmd_pause) > + if (dma_caps.cmd_suspend) > hw.info |= SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME; > if (dma_caps.residue_granularity <= DMA_RESIDUE_GRANULARITY_SEGMENT) > hw.info |= SNDRV_PCM_INFO_BATCH; > -- > 2.8.1 > -- ~Vinod ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend 2016-05-10 15:59 ` Vinod Koul @ 2016-05-10 16:00 ` Andy Shevchenko 2016-05-10 16:11 ` Vinod Koul 0 siblings, 1 reply; 10+ messages in thread From: Andy Shevchenko @ 2016-05-10 16:00 UTC (permalink / raw) To: Vinod Koul; +Cc: linux-kernel, dmaengine, Peter Hurley, linux-serial On Tue, 2016-05-10 at 21:29 +0530, Vinod Koul wrote: > On Wed, May 04, 2016 at 10:29:40PM +0300, Andy Shevchenko wrote: > > > > Rename cmd_pause to cmd_suspend to be clear that latter capability > > reflects > > pause AND resume. > How does cmd_suspend be any clearer to reflect that channel is paused > and > not. One can argue this might be related to power management suspend Okay, I'm open to suggestions. My main point that name should not represent only pause or resume, rather both. > ... > > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > --- > > drivers/dma/dmaengine.c | 4 ++-- > > drivers/tty/serial/8250/8250_dma.c | 2 +- > > include/linux/dmaengine.h | 4 ++-- > > sound/soc/soc-generic-dmaengine-pcm.c | 2 +- > > 4 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c > > index 59eb4fa..e9917a4 100644 > > --- a/drivers/dma/dmaengine.c > > +++ b/drivers/dma/dmaengine.c > > @@ -503,9 +503,9 @@ int dma_get_slave_caps(struct dma_chan *chan, > > struct dma_slave_caps *caps) > > > > /* > > * Some devices implement only pause (e.g. to get residuum) > > but no > > - * resume. However cmd_pause is advertised as pause AND > > resume. > > + * resume. However cmd_suspend is advertised as pause AND > > resume. > > */ > > - caps->cmd_pause = !!(device->device_pause && device- > > >device_resume); > > + caps->cmd_suspend = !!(device->device_pause && device- > > >device_resume); > > caps->cmd_terminate = !!device->device_terminate_all; > > > > return 0; > > diff --git a/drivers/tty/serial/8250/8250_dma.c > > b/drivers/tty/serial/8250/8250_dma.c > > index 8ccbf53..2db57b0 100644 > > --- a/drivers/tty/serial/8250/8250_dma.c > > +++ b/drivers/tty/serial/8250/8250_dma.c > > @@ -180,7 +180,7 @@ int serial8250_request_dma(struct uart_8250_port > > *p) > > ret = dma_get_slave_caps(dma->rxchan, &caps); > > if (ret) > > goto release_rx; > > - if (!caps.cmd_pause || !caps.cmd_terminate || > > + if (!caps.cmd_suspend || !caps.cmd_terminate || > > caps.residue_granularity == > > DMA_RESIDUE_GRANULARITY_DESCRIPTOR) { > > ret = -EINVAL; > > goto release_rx; > > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > > index 30de019..af9c97c 100644 > > --- a/include/linux/dmaengine.h > > +++ b/include/linux/dmaengine.h > > @@ -402,7 +402,7 @@ enum dma_residue_granularity { > > * type of direction, the dma controller should fill (1 << > > <TYPE>) and same > > * should be checked by controller as well > > * @max_burst: max burst capability per-transfer > > - * @cmd_pause: true, if pause and thereby resume is supported > > + * @cmd_suspend: true, if pause and thereby resume is supported > > * @cmd_terminate: true, if terminate cmd is supported > > * @residue_granularity: granularity of the reported transfer > > residue > > * @descriptor_reuse: if a descriptor can be reused by client and > > @@ -413,7 +413,7 @@ struct dma_slave_caps { > > u32 dst_addr_widths; > > u32 directions; > > u32 max_burst; > > - bool cmd_pause; > > + bool cmd_suspend; > > bool cmd_terminate; > > enum dma_residue_granularity residue_granularity; > > bool descriptor_reuse; > > diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc- > > generic-dmaengine-pcm.c > > index 6cef397..73fc20e 100644 > > --- a/sound/soc/soc-generic-dmaengine-pcm.c > > +++ b/sound/soc/soc-generic-dmaengine-pcm.c > > @@ -151,7 +151,7 @@ static int > > dmaengine_pcm_set_runtime_hwparams(struct snd_pcm_substream > > *substrea > > > > ret = dma_get_slave_caps(chan, &dma_caps); > > if (ret == 0) { > > - if (dma_caps.cmd_pause) > > + if (dma_caps.cmd_suspend) > > hw.info |= SNDRV_PCM_INFO_PAUSE | > > SNDRV_PCM_INFO_RESUME; > > if (dma_caps.residue_granularity <= > > DMA_RESIDUE_GRANULARITY_SEGMENT) > > hw.info |= SNDRV_PCM_INFO_BATCH; > > -- > > 2.8.1 > > -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend 2016-05-10 16:00 ` Andy Shevchenko @ 2016-05-10 16:11 ` Vinod Koul 0 siblings, 0 replies; 10+ messages in thread From: Vinod Koul @ 2016-05-10 16:11 UTC (permalink / raw) To: Andy Shevchenko; +Cc: linux-kernel, dmaengine, Peter Hurley, linux-serial On Tue, May 10, 2016 at 07:00:23PM +0300, Andy Shevchenko wrote: > On Tue, 2016-05-10 at 21:29 +0530, Vinod Koul wrote: > > On Wed, May 04, 2016 at 10:29:40PM +0300, Andy Shevchenko wrote: > > > > > > Rename cmd_pause to cmd_suspend to be clear that latter capability > > > reflects > > > pause AND resume. > > How does cmd_suspend be any clearer to reflect that channel is paused > > and > > not. One can argue this might be related to power management suspend > > Okay, I'm open to suggestions. My main point that name should not > represent only pause or resume, rather both. I am actually okay with this name, but while getting the capablities, we should rather tell user if both are supported or not. Perhaps make it a bit mask? -- ~Vinod ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART 2016-05-04 19:29 [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko 2016-05-04 19:29 ` [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC Andy Shevchenko 2016-05-04 19:29 ` [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend Andy Shevchenko @ 2016-05-06 13:38 ` Andy Shevchenko 2 siblings, 0 replies; 10+ messages in thread From: Andy Shevchenko @ 2016-05-06 13:38 UTC (permalink / raw) To: Vinod Koul, linux-kernel, dmaengine, Peter Hurley, linux-serial Cc: Heikki Krogerus +Cc: Heikki On Wed, 2016-05-04 at 22:29 +0300, Andy Shevchenko wrote: > There are two patches, first of which is an urgent fix to prevent a > regression > when UART driver can't acquire DMA channel due to DMA engine which > doesn't > support DMA_CYCLIC. Have to add the following. The commit ec5a11a91eec ("serial: 8250: Validate dmaengine rx chan meets requirements") brought a check for DMA capabilities and UART will not acquire a DMA channel if DMA engine doesn't support both DMA_CYCLIC _and_ DMA_SLAVE. The first patch in the series changes the logic from _and_ to _or_. > > Andy Shevchenko (2): > dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC > dmaengine: rename cmd_pause to cmd_suspend > > drivers/dma/dmaengine.c | 8 ++++---- > drivers/tty/serial/8250/8250_dma.c | 2 +- > include/linux/dmaengine.h | 4 ++-- > sound/soc/soc-generic-dmaengine-pcm.c | 2 +- > 4 files changed, 8 insertions(+), 8 deletions(-) > -- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-05-10 16:13 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-04 19:29 [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko 2016-05-04 19:29 ` [PATCH v1 1/2] dmaengine: slave means at least one of DMA_SLAVE, DMA_CYCLIC Andy Shevchenko 2016-05-10 15:56 ` Vinod Koul 2016-05-10 16:01 ` Andy Shevchenko 2016-05-10 16:13 ` Vinod Koul 2016-05-04 19:29 ` [PATCH v1 2/2] dmaengine: rename cmd_pause to cmd_suspend Andy Shevchenko 2016-05-10 15:59 ` Vinod Koul 2016-05-10 16:00 ` Andy Shevchenko 2016-05-10 16:11 ` Vinod Koul 2016-05-06 13:38 ` [PATCH v1 0/2] dmaengine: urgent fix to prevent regression in UART Andy Shevchenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).