ASoC: amd: fix for pcm_read() error
authorVijendar Mukunda <Vijendar.Mukunda@amd.com>
Tue, 27 Apr 2021 20:23:31 +0000 (01:53 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 28 Apr 2021 15:34:55 +0000 (16:34 +0100)
commit6879e8e759bf9e05eaee85e32ca1a936e6b46da1
tree1f4703365cca091f0c26d996672e8dd643ee87c5
parent6c9762a78c325107dc37d20ee21002b841679209
ASoC: amd: fix for pcm_read() error

Below phython script throwing pcm_read() error.

import subprocess

p = subprocess.Popen(["aplay -t raw -D plughw:1,0 /dev/zero"], shell=True)
subprocess.call(["arecord -Dhw:1,0 --dump-hw-params"], shell=True)
subprocess.call(["arecord -Dhw:1,0 -fdat -d1 /dev/null"], shell=True)
p.kill()

Handling ACP global external interrupt enable register
causing this issue.
This register got updated wrongly when there is active
stream causing interrupts disabled for active stream.
Refactored code to handle enabling and disabling external interrupts.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/1619555017-29858-1-git-send-email-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/raven/acp3x-pcm-dma.c
sound/soc/amd/raven/acp3x.h
sound/soc/amd/raven/pci-acp3x.c