diff options
author | Ola Lilja <ola.o.lilja@stericsson.com> | 2011-11-25 10:32:04 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:05:02 +0200 |
commit | e70300f59baa832307a36807b26da8e6b69da151 (patch) | |
tree | 6a442d595d0fc879f83529e470af581d1803ba50 | |
parent | 4afe0b898707838bfa3c00e360a565e4ce1dd5ff (diff) |
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 <ola.o.lilja@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39799
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com>
-rw-r--r-- | drivers/misc/i2s/msp_i2s.c | 16 |
1 files 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); |