ASoC: AMD: Always subtract bytescount
authorDaniel Kurtz <djkurtz@chromium.org>
Mon, 2 Jul 2018 21:19:52 +0000 (15:19 -0600)
committerMark Brown <broonie@kernel.org>
Tue, 3 Jul 2018 15:14:29 +0000 (16:14 +0100)
It is always correct to subtract out the starting bytescount value.  Even
in the case of 2^64 byte rollover (292 Million Years in the future
@ 48000 Hz) the math still works out.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp-pcm-dma.c

index 4665ae12e74e4221992887ef823f82b50fecb02a..034fac3de0372722b61af7889290588ebe8d2c8a 100644 (file)
@@ -995,8 +995,7 @@ 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 (bytescount > rtd->bytescount)
-               bytescount -= rtd->bytescount;
+       bytescount -= rtd->bytescount;
        pos = do_div(bytescount, buffersize);
        return bytes_to_frames(runtime, pos);
 }