OpenCloudOS-Kernel/sound/soc/bcm
Matthias Reichl 8d5737a5f5
ASoC: bcm2835: fix hw_params error when device is in prepared state
If bcm2835 is configured as bitclock master calling hw_params()
after prepare() fails with EBUSY. This also makes it impossible to
use bcm2835 in full duplex mode.

The error is caused by the split clock setup: clk_set_rate
is called in hw_params, clk_prepare_enable in prepare. As hw_params
doesn't check if the clock was already enabled clk_set_rate
fails with EBUSY.

Fix this by moving clock startup from prepare to hw_params and
let hw_params properly deal with an already set up or enabled
clock.

Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-01-18 11:21:17 +00:00
..
Kconfig ASoC: bcm: add depends on HAS_DMA 2016-11-02 14:57:05 -06:00
Makefile ASoC: cygnus: Add Cygnus audio DMA driver 2016-05-31 17:50:42 +01:00
bcm2835-i2s.c ASoC: bcm2835: fix hw_params error when device is in prepared state 2018-01-18 11:21:17 +00:00
cygnus-pcm.c ASoC: cygnus: Add Cygnus audio DMA driver 2016-05-31 17:50:42 +01:00
cygnus-ssp.c ASoC: cygnus: Remove unnecessary active_slots check 2017-10-09 09:41:05 +01:00
cygnus-ssp.h ASoC: cygnus: Add Cygnus audio DAI driver 2016-05-31 17:50:42 +01:00