* [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 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.