Hi Vijendar, On Thu, Apr 26, 2018 at 5:15 AM Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx> wrote: > Removed separate byte count variables for playback and capture. > Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> > --- > 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 019f696..5f34be1 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 = bytescount - rtd->bytescount; nit, this could be: 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; > @@ -947,12 +939,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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel