Commit 7db08b2c authored by Guenter Roeck's avatar Guenter Roeck Committed by Mark Brown

ASoC: amd: use do_div rather than 64 bit division to fix 32 bit builds

ERROR: "__aeabi_uldivmod" [sound/soc/amd/snd-soc-acp-pcm.ko] undefined!

64-bit divides require special operations to avoid build errors on 32-bit
systems.

[Reword the commit message to make it clearer - Alex]

fixes: 61add814 (ASoC: amd: Report accurate hw_ptr during dma)
Signed-off-by: default avatarGuenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/678919Reviewed-by: default avatarJason Clinton <jclinton@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/681618Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent bdd2a858
...@@ -856,12 +856,11 @@ static snd_pcm_uframes_t acp_dma_pointer(struct snd_pcm_substream *substream) ...@@ -856,12 +856,11 @@ static snd_pcm_uframes_t acp_dma_pointer(struct snd_pcm_substream *substream)
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
if (bytescount > rtd->renderbytescount) if (bytescount > rtd->renderbytescount)
bytescount = bytescount - rtd->renderbytescount; bytescount = bytescount - rtd->renderbytescount;
pos = bytescount % buffersize;
} else { } else {
if (bytescount > rtd->capturebytescount) if (bytescount > rtd->capturebytescount)
bytescount = bytescount - rtd->capturebytescount; bytescount = bytescount - rtd->capturebytescount;
pos = bytescount % buffersize;
} }
pos = do_div(bytescount, buffersize);
return bytes_to_frames(runtime, pos); return bytes_to_frames(runtime, pos);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment