From e70300f59baa832307a36807b26da8e6b69da151 Mon Sep 17 00:00:00 2001 From: Ola Lilja Date: Fri, 25 Nov 2011 10:32:04 +0100 Subject: misc: i2s: Speedup playback init sequence Remove msleeps in msp_i2s.c to speedup startup sequence for audio playback. ST-Ericsson Linux next: NA ST-Ericsson ID: 371513 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I5bd5f4f4603c5d1465c5bca89b4fea9836d30487 Signed-off-by: Ola Lilja Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39799 Reviewed-by: Jonas ABERG Reviewed-by: Roger NILSSON1 --- drivers/misc/i2s/msp_i2s.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/drivers/misc/i2s/msp_i2s.c b/drivers/misc/i2s/msp_i2s.c index 9974991e1e8..c69ee708265 100644 --- a/drivers/misc/i2s/msp_i2s.c +++ b/drivers/misc/i2s/msp_i2s.c @@ -1018,18 +1018,11 @@ static int stm_msp_configure_enable(struct i2s_controller *i2s_cont, } if (config->loopback_enable & 0x80) msp->loopback_enable = 1; - /*Sometimes FIFO doesn't gets empty hence limit is provided */ + + /* Flush MSP-FIFOs */ flush_tx_fifo(msp); - /*This has been added in order to fix fifo flush problem - When last xfer occurs some data remains in fifo. In order to - flush that data delay is needed */ - msleep(10); - /* wait for fifo to flush */ flush_rx_fifo(msp); - /* RX_BUSY take a while to clear */ - msleep(10); - msp->msp_state = MSP_STATE_CONFIGURED; up(&msp->lock); return 0; @@ -1695,10 +1688,7 @@ static int stm_msp_disable(struct msp *msp, int direction, i2s_flag flag) stm_msp_write((stm_msp_read(msp->registers + MSP_GCR) & (~(RX_ENABLE | LOOPBACK_MASK))), msp->registers + MSP_GCR); - /*This has been added in order to fix fifo flush problem - When last xfer occurs some data remains in fifo. In order to - flush that data delay is needed */ - msleep(10); + msp_disable_transmit(msp); msp_disable_receive(msp); -- cgit v1.2.3