From: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Cc: Vijendar Mukunda <Vijendar.Mukunda@amd.com>, Liam Girdwood <lgirdwood@gmail.com>, Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>, Alex Deucher <alexander.deucher@amd.com>, Jason Clinton <jclinton@chromium.org>, "Akshu Agrawal" <akshu.agrawal@amd.com>, Guenter Roeck <linux@roeck-us.net>, Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>, Thomas Gleixner <tglx@linutronix.de>, Philippe Ombredanne <pombredanne@nexb.com>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." <alsa-devel@alsa-project.org>, "open list" <linux-kernel@vger.kernel.org> Subject: [PATCH V2 03/10] ASoC: amd: removed separate byte count variables for playback and capture Date: Wed, 2 May 2018 02:19:57 +0530 [thread overview] Message-ID: <1525207810-1305-3-git-send-email-Vijendar.Mukunda@amd.com> (raw) In-Reply-To: <1525207810-1305-1-git-send-email-Vijendar.Mukunda@amd.com> Removed separate byte count variables for playback and capture. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> --- v1->v2: Fixed review comment in acp_dma_pointer callback sound/soc/amd/acp-pcm-dma.c | 19 +++++-------------- sound/soc/amd/acp.h | 3 +-- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c index 6e338fe..862c1cf 100644 --- a/sound/soc/amd/acp-pcm-dma.c +++ b/sound/soc/amd/acp-pcm-dma.c @@ -866,13 +866,8 @@ static snd_pcm_uframes_t acp_dma_pointer(struct snd_pcm_substream *substream) buffersize = frames_to_bytes(runtime, runtime->buffer_size); bytescount = acp_get_byte_count(rtd); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - if (bytescount > rtd->i2ssp_renderbytescount) - bytescount = bytescount - rtd->i2ssp_renderbytescount; - } else { - if (bytescount > rtd->i2ssp_capturebytescount) - bytescount = bytescount - rtd->i2ssp_capturebytescount; - } + if (bytescount > rtd->bytescount) + bytescount -= rtd->bytescount; pos = do_div(bytescount, buffersize); return bytes_to_frames(runtime, pos); } @@ -921,9 +916,9 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: case SNDRV_PCM_TRIGGER_RESUME: bytescount = acp_get_byte_count(rtd); + if (rtd->bytescount == 0) + rtd->bytescount = bytescount; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - if (rtd->i2ssp_renderbytescount == 0) - rtd->i2ssp_renderbytescount = bytescount; acp_dma_start(rtd->acp_mmio, rtd->ch1, false); while (acp_reg_read(rtd->acp_mmio, mmACP_DMA_CH_STS) & BIT(rtd->ch1)) { @@ -934,9 +929,6 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) } cpu_relax(); } - } else { - if (rtd->i2ssp_capturebytescount == 0) - rtd->i2ssp_capturebytescount = bytescount; } acp_dma_start(rtd->acp_mmio, rtd->ch2, true); ret = 0; @@ -955,12 +947,11 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { acp_dma_stop(rtd->acp_mmio, rtd->ch1); ret = acp_dma_stop(rtd->acp_mmio, rtd->ch2); - rtd->i2ssp_renderbytescount = 0; } else { acp_dma_stop(rtd->acp_mmio, rtd->ch2); ret = acp_dma_stop(rtd->acp_mmio, rtd->ch1); - rtd->i2ssp_capturebytescount = 0; } + rtd->bytescount = 0; break; default: ret = -EINVAL; diff --git a/sound/soc/amd/acp.h b/sound/soc/amd/acp.h index 3b076c6..82470bc 100644 --- a/sound/soc/amd/acp.h +++ b/sound/soc/amd/acp.h @@ -93,8 +93,7 @@ struct audio_substream_data { u32 byte_cnt_high_reg_offset; u32 byte_cnt_low_reg_offset; uint64_t size; - u64 i2ssp_renderbytescount; - u64 i2ssp_capturebytescount; + u64 bytescount; void __iomem *acp_mmio; }; -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Cc: "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." <alsa-devel@alsa-project.org>, open list <linux-kernel@vger.kernel.org>, Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>, Liam Girdwood <lgirdwood@gmail.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Philippe Ombredanne <pombredanne@nexb.com>, Takashi Iwai <tiwai@suse.com>, Jason Clinton <jclinton@chromium.org>, Mark Brown <broonie@kernel.org>, Vijendar Mukunda <Vijendar.Mukunda@amd.com>, Alex Deucher <alexander.deucher@amd.com>, Thomas Gleixner <tglx@linutronix.de>, Akshu Agrawal <akshu.agrawal@amd.com>, Guenter Roeck <linux@roeck-us.net> Subject: [PATCH V2 03/10] ASoC: amd: removed separate byte count variables for playback and capture Date: Wed, 2 May 2018 02:19:57 +0530 [thread overview] Message-ID: <1525207810-1305-3-git-send-email-Vijendar.Mukunda@amd.com> (raw) In-Reply-To: <1525207810-1305-1-git-send-email-Vijendar.Mukunda@amd.com> Removed separate byte count variables for playback and capture. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> --- v1->v2: Fixed review comment in acp_dma_pointer callback sound/soc/amd/acp-pcm-dma.c | 19 +++++-------------- sound/soc/amd/acp.h | 3 +-- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c index 6e338fe..862c1cf 100644 --- a/sound/soc/amd/acp-pcm-dma.c +++ b/sound/soc/amd/acp-pcm-dma.c @@ -866,13 +866,8 @@ static snd_pcm_uframes_t acp_dma_pointer(struct snd_pcm_substream *substream) buffersize = frames_to_bytes(runtime, runtime->buffer_size); bytescount = acp_get_byte_count(rtd); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - if (bytescount > rtd->i2ssp_renderbytescount) - bytescount = bytescount - rtd->i2ssp_renderbytescount; - } else { - if (bytescount > rtd->i2ssp_capturebytescount) - bytescount = bytescount - rtd->i2ssp_capturebytescount; - } + if (bytescount > rtd->bytescount) + bytescount -= rtd->bytescount; pos = do_div(bytescount, buffersize); return bytes_to_frames(runtime, pos); } @@ -921,9 +916,9 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: case SNDRV_PCM_TRIGGER_RESUME: bytescount = acp_get_byte_count(rtd); + if (rtd->bytescount == 0) + rtd->bytescount = bytescount; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - if (rtd->i2ssp_renderbytescount == 0) - rtd->i2ssp_renderbytescount = bytescount; acp_dma_start(rtd->acp_mmio, rtd->ch1, false); while (acp_reg_read(rtd->acp_mmio, mmACP_DMA_CH_STS) & BIT(rtd->ch1)) { @@ -934,9 +929,6 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) } cpu_relax(); } - } else { - if (rtd->i2ssp_capturebytescount == 0) - rtd->i2ssp_capturebytescount = bytescount; } acp_dma_start(rtd->acp_mmio, rtd->ch2, true); ret = 0; @@ -955,12 +947,11 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { acp_dma_stop(rtd->acp_mmio, rtd->ch1); ret = acp_dma_stop(rtd->acp_mmio, rtd->ch2); - rtd->i2ssp_renderbytescount = 0; } else { acp_dma_stop(rtd->acp_mmio, rtd->ch2); ret = acp_dma_stop(rtd->acp_mmio, rtd->ch1); - rtd->i2ssp_capturebytescount = 0; } + rtd->bytescount = 0; break; default: ret = -EINVAL; diff --git a/sound/soc/amd/acp.h b/sound/soc/amd/acp.h index 3b076c6..82470bc 100644 --- a/sound/soc/amd/acp.h +++ b/sound/soc/amd/acp.h @@ -93,8 +93,7 @@ struct audio_substream_data { u32 byte_cnt_high_reg_offset; u32 byte_cnt_low_reg_offset; uint64_t size; - u64 i2ssp_renderbytescount; - u64 i2ssp_capturebytescount; + u64 bytescount; void __iomem *acp_mmio; }; -- 2.7.4
next prev parent reply other threads:[~2018-05-01 20:49 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-01 20:49 [PATCH V2 01/10] ASoC: amd: dma config parameters changes Vijendar Mukunda 2018-05-01 20:49 ` Vijendar Mukunda 2018-05-01 20:49 ` [PATCH V2 02/10] ASoC: amd: added byte count register offset variables to rtd Vijendar Mukunda 2018-05-01 20:49 ` Vijendar Mukunda 2018-05-11 3:20 ` Applied "ASoC: amd: added byte count register offset variables to rtd" to the asoc tree Mark Brown 2018-05-11 3:20 ` Mark Brown 2018-05-01 20:49 ` Vijendar Mukunda [this message] 2018-05-01 20:49 ` [PATCH V2 03/10] ASoC: amd: removed separate byte count variables for playback and capture Vijendar Mukunda 2018-05-11 3:19 ` Applied "ASoC: amd: removed separate byte count variables for playback and capture" to the asoc tree Mark Brown 2018-05-11 3:19 ` Mark Brown 2018-05-01 20:49 ` [PATCH V2 04/10] ASoC: amd: pte offset related dma driver changes Vijendar Mukunda 2018-05-01 20:49 ` Vijendar Mukunda 2018-05-21 15:48 ` Applied "ASoC: amd: pte offset related dma driver changes" to the asoc tree Mark Brown 2018-05-21 15:48 ` Mark Brown 2018-05-01 20:49 ` [PATCH 05/10] ASoC: amd: sram bank update changes Vijendar Mukunda 2018-05-01 20:49 ` Vijendar Mukunda 2018-05-21 15:48 ` Applied "ASoC: amd: sram bank update changes" to the asoc tree Mark Brown 2018-05-21 15:48 ` Mark Brown 2018-05-01 20:50 ` [PATCH 06/10] ASoC: amd: memory release for rtd structure Vijendar Mukunda 2018-05-01 20:50 ` Vijendar Mukunda 2018-05-01 20:50 ` [PATCH 07/10] ASoC: AMD: Move clk enable from hw_params/free to startup/shutdown Vijendar Mukunda 2018-05-01 20:50 ` Vijendar Mukunda 2018-05-01 20:50 ` [PATCH 08/10] ASoC: AMD: Fix clocks in CZ DA7219 machine driver Vijendar Mukunda 2018-05-01 20:50 ` Vijendar Mukunda 2018-05-01 20:50 ` [PATCH 09/10] ASoC: AMD: Add const to snd_soc_ops instances Vijendar Mukunda 2018-05-01 20:50 ` Vijendar Mukunda 2018-05-01 20:50 ` [PATCH V3 10/10] ASoC: amd: dma driver changes for bt i2s instance Vijendar Mukunda 2018-05-01 20:50 ` Vijendar Mukunda 2018-05-03 5:43 ` Daniel Kurtz 2018-05-03 5:43 ` Daniel Kurtz 2018-05-03 7:35 ` Mukunda,Vijendar 2018-05-03 16:40 ` Daniel Kurtz 2018-05-04 4:34 ` Agrawal, Akshu 2018-05-07 6:44 ` Daniel Kurtz 2018-05-07 6:44 ` Daniel Kurtz 2018-05-07 6:27 ` [PATCH V2 01/10] ASoC: amd: dma config parameters changes Mukunda,Vijendar 2018-05-07 10:22 ` Mukunda,Vijendar 2018-05-11 3:20 ` Applied "ASoC: amd: dma config parameters changes" to the asoc tree Mark Brown 2018-05-11 3:20 ` Mark Brown 2018-05-08 4:47 [PATCH V2 01/10] ASoC: amd: dma config parameters changes Vijendar Mukunda 2018-05-08 4:47 ` [PATCH V2 03/10] ASoC: amd: removed separate byte count variables for playback and capture Vijendar Mukunda 2018-05-08 4:47 ` Vijendar Mukunda
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=1525207810-1305-3-git-send-email-Vijendar.Mukunda@amd.com \ --to=vijendar.mukunda@amd.com \ --cc=akshu.agrawal@amd.com \ --cc=alexander.deucher@amd.com \ --cc=alsa-devel@alsa-project.org \ --cc=broonie@kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=jclinton@chromium.org \ --cc=kuninori.morimoto.gx@renesas.com \ --cc=lgirdwood@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=perex@perex.cz \ --cc=pombredanne@nexb.com \ --cc=tglx@linutronix.de \ --cc=tiwai@suse.com \ /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: linkBe 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.