mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
ASoC: rockchip: dlp: Fix wrong HW delta assign
Always update delta into ref, obviously, it's playback.
Fixes: 9975bc50f3 ("ASoC: rockchip: Add support for Digital Loopback")
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ie9507d87d56811cccd3ea884370e1e972aebf962
This commit is contained in:
@@ -530,14 +530,14 @@ static int dmaengine_pcm_lp_setup(struct snd_soc_component *component,
|
||||
|
||||
delta = is_playback ? (a - fifo_a) - (b + fifo_b) : (b - fifo_b) - (a + fifo_a);
|
||||
|
||||
prtd->hw_ptr_delta = delta;
|
||||
|
||||
/* push valid playback into ref list */
|
||||
spin_lock(&dlp->lock);
|
||||
if (is_playback) {
|
||||
prtd->hw_ptr_delta = delta;
|
||||
kref_get(&prtd->refcount);
|
||||
list_add_tail(&prtd->node, &dlp->ref_list);
|
||||
} else {
|
||||
brtd->hw_ptr_delta = delta;
|
||||
kref_get(&brtd->refcount);
|
||||
list_add_tail(&brtd->node, &dlp->ref_list);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user