summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2014-10-31 13:51:20 +0800
committerNitin Garg <nitin.garg@nxp.com>2016-01-14 11:01:28 -0600
commitd6d9929f37f1e91fa27dc954c6de9e011921a829 (patch)
tree84f641d1fa55ba5400deb1c23ce29ac4f3ac007a /sound
parentb0bd8ecb32142d230ab030fe2dce0e47921592a7 (diff)
MLK-9731 ASoC: imx-hdmi-dma: audio output is noisy in long time playback
In the frame_to_bytes(), when hw_ptr*frame_bits exceed the maxmum of unsigned long, the return value is saturated, so the appl_bytes is wrong. This patch is to correct the usage of frame_to_bytes(). Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> (cherry picked from commit 9e66132d9c96305b65aa5fa3ba8a35271a04ded9)
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/imx-hdmi-dma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/fsl/imx-hdmi-dma.c b/sound/soc/fsl/imx-hdmi-dma.c
index 8eeb009479f1..0df685159e9c 100644
--- a/sound/soc/fsl/imx-hdmi-dma.c
+++ b/sound/soc/fsl/imx-hdmi-dma.c
@@ -455,7 +455,7 @@ static void hdmi_dma_data_copy(struct snd_pcm_substream *substream,
if (runtime->access != SNDRV_PCM_ACCESS_MMAP_INTERLEAVED)
return;
- appl_bytes = frames_to_bytes(runtime, runtime->status->hw_ptr);
+ appl_bytes = runtime->status->hw_ptr * (runtime->frame_bits / 8);
if (type == 'p')
appl_bytes += 2 * priv->period_bytes;
offset = appl_bytes % priv->buffer_bytes;