summaryrefslogtreecommitdiffstats
path: root/sound/ac97_bus.c
diff options
context:
space:
mode:
authorRobert Hancock <robert.hancock@calian.com>2022-01-07 22:47:06 +0100
committerMark Brown <broonie@kernel.org>2022-01-10 16:16:29 +0100
commite958b5884725dac86d36c1e7afe5a55f31feb0b2 (patch)
treea42b18320da77a6854c95d840dd29d5e352bca6b /sound/ac97_bus.c
parentASoC: cs35l41: Add support for hibernate memory retention mode (diff)
downloadlinux-e958b5884725dac86d36c1e7afe5a55f31feb0b2.tar.xz
linux-e958b5884725dac86d36c1e7afe5a55f31feb0b2.zip
ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes
This patch is based on one in the Xilinx kernel tree, "ASoc: xlnx: Make buffer bytes multiple of period bytes" by Devarsh Thakkar. The same issue exists in the mainline version of the driver. The original patch description is as follows: "The Xilinx Audio Formatter IP has a constraint on period bytes to be multiple of 64. This leads to driver changing the period size to suitable frames such that period bytes are multiple of 64. Now since period bytes and period size are updated but not the buffer bytes, this may make the buffer bytes unaligned and not multiple of period bytes. When this happens we hear popping noise as while DMA is being done the buffer bytes are not enough to complete DMA access for last period of frame within the application buffer boundary. To avoid this, align buffer bytes too as multiple of 64, and set another constraint to always enforce number of periods as integer. Now since, there is already a rule in alsa core to enforce Buffer size = Number of Periods * Period Size this automatically aligns buffer bytes as multiple of period bytes." Fixes: 6f6c3c36f091 ("ASoC: xlnx: add pcm formatter platform driver") Cc: Devarsh Thakkar <devarsh.thakkar@xilinx.com> Signed-off-by: Robert Hancock <robert.hancock@calian.com> Link: https://lore.kernel.org/r/20220107214711.1100162-2-robert.hancock@calian.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions