diff --git a/sound/soc/rockchip/rockchip_i2s_tdm.c b/sound/soc/rockchip/rockchip_i2s_tdm.c index 42d160766bb6..3b0a957f5cc9 100644 --- a/sound/soc/rockchip/rockchip_i2s_tdm.c +++ b/sound/soc/rockchip/rockchip_i2s_tdm.c @@ -216,6 +216,8 @@ static void rockchip_snd_xfer_reset_assert(struct rk_i2s_tdm_dev *i2s_tdm, local_irq_restore(flags); break; } + /* delay for reset assert done */ + udelay(10); } static void rockchip_snd_xfer_reset_deassert(struct rk_i2s_tdm_dev *i2s_tdm, @@ -260,6 +262,8 @@ static void rockchip_snd_xfer_reset_deassert(struct rk_i2s_tdm_dev *i2s_tdm, local_irq_restore(flags); break; } + /* delay for reset deassert done */ + udelay(10); } /* @@ -289,9 +293,6 @@ static void rockchip_snd_xfer_sync_reset(struct rk_i2s_tdm_dev *i2s_tdm) rockchip_snd_xfer_reset_assert(i2s_tdm, tx_bank, tx_offset, rx_bank, rx_offset); - - udelay(150); - rockchip_snd_xfer_reset_deassert(i2s_tdm, tx_bank, tx_offset, rx_bank, rx_offset); }