linux/sound/soc/rockchip
Sugar Zhang fcb958ee8e
ASoC: rockchip: i2s: Fix concurrency between tx/rx
This patch adds lock to fix comcurrency between tx/rx
to fix 'rockchip-i2s ff070000.i2s; fail to clear'

Considering the situation;

       tx stream              rx stream
           |                      |
           |                   disable
         enable                   |
           |                    reset

After this patch:

         lock
           |
       tx stream
           |
         enable
           |
        unlock
       --------               ---------
                                lock
                                  |
                              rx stream
                                  |
                               disable
                                  |
                                reset
                                  |
                               unlock

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Link: https://lore.kernel.org/r/1630674434-650-1-git-send-email-sugar.zhang@rock-chips.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-09-03 16:19:01 +01:00
..
Kconfig clkdev: remove CONFIG_CLKDEV_LOOKUP 2021-06-08 17:00:09 +02:00
Makefile ASoC: rockchip: add config for rockchip dmaengine pcm register 2018-06-18 12:54:38 +01:00
rk3288_hdmi_analog.c ASoC: rockchip: use asoc_substream_to_rtd() 2020-07-23 19:07:29 +01:00
rk3399_gru_sound.c ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols for jack detection 2020-07-30 22:54:39 +01:00
rockchip_i2s.c ASoC: rockchip: i2s: Fix concurrency between tx/rx 2021-09-03 16:19:01 +01:00
rockchip_i2s.h ASoC: rockchip: i2s: Add support for frame inversion 2021-08-26 13:59:40 +01:00
rockchip_max98090.c ASoC: hdmi-codec: Use set_jack ops to set jack 2020-09-22 12:48:03 +01:00
rockchip_pcm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rockchip_pcm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
rockchip_pdm.c ASoC: rockchip: pdm: Use devm_platform_get_and_ioremap_resource() 2021-06-16 15:41:11 +01:00
rockchip_pdm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
rockchip_rt5645.c ASoC: rockchip: use asoc_substream_to_rtd() 2020-07-23 19:07:29 +01:00
rockchip_spdif.c ASoC: rockchip: spdif: Add support for rk3568 spdif 2021-08-26 13:56:56 +01:00
rockchip_spdif.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00