* [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently
@ 2011-08-25 13:54 Wolfram Sang
2011-08-25 13:54 ` [RFC 2/2] ASoC: imx: use more robust checking of available streams Wolfram Sang
2011-08-25 14:19 ` [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Sascha Hauer
0 siblings, 2 replies; 6+ messages in thread
From: Wolfram Sang @ 2011-08-25 13:54 UTC (permalink / raw)
To: alsa-devel; +Cc: Sascha Hauer, Mark Brown, Wolfram Sang, Liam Girdwood
If the channel is allocated as writecombine, then mmaping it should also
use writecombine. Also, add a proper device for the call. Ported from a
similar fix for mach-mxs.
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/imx/imx-ssi.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
index 10a8e27..3b8d5cd 100644
--- a/sound/soc/imx/imx-ssi.c
+++ b/sound/soc/imx/imx-ssi.c
@@ -357,8 +357,8 @@ int snd_imx_pcm_mmap(struct snd_pcm_substream *substream,
struct snd_pcm_runtime *runtime = substream->runtime;
int ret;
- ret = dma_mmap_coherent(NULL, vma, runtime->dma_area,
- runtime->dma_addr, runtime->dma_bytes);
+ ret = dma_mmap_writecombine(substream->pcm->card->dev, vma,
+ runtime->dma_area, runtime->dma_addr, runtime->dma_bytes);
pr_debug("%s: ret: %d %p 0x%08x 0x%08x\n", __func__, ret,
runtime->dma_area,
--
1.7.5.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [RFC 2/2] ASoC: imx: use more robust checking of available streams
2011-08-25 13:54 [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Wolfram Sang
@ 2011-08-25 13:54 ` Wolfram Sang
2011-08-25 14:19 ` [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Sascha Hauer
1 sibling, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2011-08-25 13:54 UTC (permalink / raw)
To: alsa-devel; +Cc: Sascha Hauer, Mark Brown, Wolfram Sang, Liam Girdwood
Replace the channels_min check with a check for the relevant substream
being present. Suggested here [1] when mxs implemented the
audio-support.
[1] http://www.spinics.net/lists/arm-kernel/msg133010.html
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/imx/imx-pcm-fiq.c | 11 +++++------
sound/soc/imx/imx-ssi.c | 4 ++--
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/sound/soc/imx/imx-pcm-fiq.c b/sound/soc/imx/imx-pcm-fiq.c
index 309c59e..ac790e8 100644
--- a/sound/soc/imx/imx-pcm-fiq.c
+++ b/sound/soc/imx/imx-pcm-fiq.c
@@ -243,23 +243,22 @@ static int imx_pcm_fiq_new(struct snd_soc_pcm_runtime *rtd)
struct snd_card *card = rtd->card->snd_card;
struct snd_soc_dai *dai = rtd->cpu_dai;
struct snd_pcm *pcm = rtd->pcm;
+ struct snd_pcm_substream *substream;
int ret;
ret = imx_pcm_new(rtd);
if (ret)
return ret;
- if (dai->driver->playback.channels_min) {
- struct snd_pcm_substream *substream =
- pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream;
+ substream = pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream;
+ if (substream) {
struct snd_dma_buffer *buf = &substream->dma_buffer;
imx_ssi_fiq_tx_buffer = (unsigned long)buf->area;
}
- if (dai->driver->capture.channels_min) {
- struct snd_pcm_substream *substream =
- pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream;
+ substream = pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream;
+ if (substream) {
struct snd_dma_buffer *buf = &substream->dma_buffer;
imx_ssi_fiq_rx_buffer = (unsigned long)buf->area;
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
index 3b8d5cd..4297cb6 100644
--- a/sound/soc/imx/imx-ssi.c
+++ b/sound/soc/imx/imx-ssi.c
@@ -399,14 +399,14 @@ int imx_pcm_new(struct snd_soc_pcm_runtime *rtd)
card->dev->dma_mask = &imx_pcm_dmamask;
if (!card->dev->coherent_dma_mask)
card->dev->coherent_dma_mask = DMA_BIT_MASK(32);
- if (dai->driver->playback.channels_min) {
+ if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) {
ret = imx_pcm_preallocate_dma_buffer(pcm,
SNDRV_PCM_STREAM_PLAYBACK);
if (ret)
goto out;
}
- if (dai->driver->capture.channels_min) {
+ if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) {
ret = imx_pcm_preallocate_dma_buffer(pcm,
SNDRV_PCM_STREAM_CAPTURE);
if (ret)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently
2011-08-25 13:54 [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Wolfram Sang
2011-08-25 13:54 ` [RFC 2/2] ASoC: imx: use more robust checking of available streams Wolfram Sang
@ 2011-08-25 14:19 ` Sascha Hauer
2011-08-25 16:21 ` Liam Girdwood
1 sibling, 1 reply; 6+ messages in thread
From: Sascha Hauer @ 2011-08-25 14:19 UTC (permalink / raw)
To: Wolfram Sang; +Cc: alsa-devel, Mark Brown, Liam Girdwood
On Thu, Aug 25, 2011 at 03:54:55PM +0200, Wolfram Sang wrote:
> If the channel is allocated as writecombine, then mmaping it should also
> use writecombine. Also, add a proper device for the call. Ported from a
> similar fix for mach-mxs.
>
> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Liam Girdwood <lrg@ti.com>
> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
both:
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
> sound/soc/imx/imx-ssi.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
> index 10a8e27..3b8d5cd 100644
> --- a/sound/soc/imx/imx-ssi.c
> +++ b/sound/soc/imx/imx-ssi.c
> @@ -357,8 +357,8 @@ int snd_imx_pcm_mmap(struct snd_pcm_substream *substream,
> struct snd_pcm_runtime *runtime = substream->runtime;
> int ret;
>
> - ret = dma_mmap_coherent(NULL, vma, runtime->dma_area,
> - runtime->dma_addr, runtime->dma_bytes);
> + ret = dma_mmap_writecombine(substream->pcm->card->dev, vma,
> + runtime->dma_area, runtime->dma_addr, runtime->dma_bytes);
>
> pr_debug("%s: ret: %d %p 0x%08x 0x%08x\n", __func__, ret,
> runtime->dma_area,
> --
> 1.7.5.4
>
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently
2011-08-25 14:19 ` [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Sascha Hauer
@ 2011-08-25 16:21 ` Liam Girdwood
2011-08-31 19:33 ` Wolfram Sang
0 siblings, 1 reply; 6+ messages in thread
From: Liam Girdwood @ 2011-08-25 16:21 UTC (permalink / raw)
To: Sascha Hauer; +Cc: alsa-devel@alsa-project.org, Mark Brown, Wolfram Sang
On 25/08/11 15:19, Sascha Hauer wrote:
> On Thu, Aug 25, 2011 at 03:54:55PM +0200, Wolfram Sang wrote:
>> If the channel is allocated as writecombine, then mmaping it should also
>> use writecombine. Also, add a proper device for the call. Ported from a
>> similar fix for mach-mxs.
>>
>> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>> Cc: Liam Girdwood <lrg@ti.com>
>> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
>
> both:
>
> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
>
Acked-by: Liam Girdwood <lrg@ti.com>
>
>> ---
>> sound/soc/imx/imx-ssi.c | 4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
>> index 10a8e27..3b8d5cd 100644
>> --- a/sound/soc/imx/imx-ssi.c
>> +++ b/sound/soc/imx/imx-ssi.c
>> @@ -357,8 +357,8 @@ int snd_imx_pcm_mmap(struct snd_pcm_substream *substream,
>> struct snd_pcm_runtime *runtime = substream->runtime;
>> int ret;
>>
>> - ret = dma_mmap_coherent(NULL, vma, runtime->dma_area,
>> - runtime->dma_addr, runtime->dma_bytes);
>> + ret = dma_mmap_writecombine(substream->pcm->card->dev, vma,
>> + runtime->dma_area, runtime->dma_addr, runtime->dma_bytes);
>>
>> pr_debug("%s: ret: %d %p 0x%08x 0x%08x\n", __func__, ret,
>> runtime->dma_area,
>> --
>> 1.7.5.4
>>
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently
2011-08-25 16:21 ` Liam Girdwood
@ 2011-08-31 19:33 ` Wolfram Sang
2011-08-31 19:34 ` Mark Brown
0 siblings, 1 reply; 6+ messages in thread
From: Wolfram Sang @ 2011-08-31 19:33 UTC (permalink / raw)
To: Liam Girdwood; +Cc: Sascha Hauer, Mark Brown, alsa-devel@alsa-project.org
[-- Attachment #1.1: Type: text/plain, Size: 891 bytes --]
On Thu, Aug 25, 2011 at 05:21:32PM +0100, Liam Girdwood wrote:
> On 25/08/11 15:19, Sascha Hauer wrote:
> > On Thu, Aug 25, 2011 at 03:54:55PM +0200, Wolfram Sang wrote:
> >> If the channel is allocated as writecombine, then mmaping it should also
> >> use writecombine. Also, add a proper device for the call. Ported from a
> >> similar fix for mach-mxs.
> >>
> >> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
> >> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> >> Cc: Liam Girdwood <lrg@ti.com>
> >> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
> >
> > both:
> >
> > Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
> >
>
> Acked-by: Liam Girdwood <lrg@ti.com>
Mark, can you pick those two up?
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently
2011-08-31 19:33 ` Wolfram Sang
@ 2011-08-31 19:34 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2011-08-31 19:34 UTC (permalink / raw)
To: Wolfram Sang; +Cc: Sascha Hauer, Liam Girdwood, alsa-devel@alsa-project.org
On Wed, Aug 31, 2011 at 09:33:58PM +0200, Wolfram Sang wrote:
> On Thu, Aug 25, 2011 at 05:21:32PM +0100, Liam Girdwood wrote:
> > Acked-by: Liam Girdwood <lrg@ti.com>
> Mark, can you pick those two up?
I already applied them.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-08-31 19:34 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-25 13:54 [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Wolfram Sang
2011-08-25 13:54 ` [RFC 2/2] ASoC: imx: use more robust checking of available streams Wolfram Sang
2011-08-25 14:19 ` [RFC 1/2] ASoC: imx-ssi: use dma_writecombine consistently Sascha Hauer
2011-08-25 16:21 ` Liam Girdwood
2011-08-31 19:33 ` Wolfram Sang
2011-08-31 19:34 ` Mark Brown
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).