summaryrefslogtreecommitdiff
path: root/rust/kernel/debugfs/file_ops.rs
diff options
context:
space:
mode:
authorKai Vehmanen <kai.vehmanen@linux.intel.com>2025-10-02 10:47:16 +0300
committerMark Brown <broonie@kernel.org>2025-10-02 13:31:44 +0100
commitbace10b59624e6bd8d68bc9304357f292f1b3dcf (patch)
treebaac2dcaa679925389b91d7cf59da6fd3eabdd7a /rust/kernel/debugfs/file_ops.rs
parentbcd1383516bb5a6f72b2d1e7f7ad42c4a14837d1 (diff)
ASoC: SOF: ipc4-pcm: fix start offset calculation for chain DMA
Assumption that chain DMA module starts the link DMA when 1ms of data is available from host is not correct. Instead the firmware chain DMA module fills the link DMA with initial buffer of zeroes and the host and link DMAs are started at the same time. This results in a small error in delay calculation. This can become a more severe problem if host DMA has delays that exceed 1ms. This results in negative delay to be calculated and bogus values reported to applications. This can confuse some applications like alsa_conformance_test. Fix the issue by correctly calculating the firmware chain DMA preamble size and initializing the start offset to this value. Cc: stable@vger.kernel.org Fixes: a1d203d390e0 ("ASoC: SOF: ipc4-pcm: Enable delay reporting for ChainDMA streams") Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://patch.msgid.link/20251002074719.2084-3-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'rust/kernel/debugfs/file_ops.rs')
0 files changed, 0 insertions, 0 deletions