summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOla Lilja <ola.o.lilja@stericsson.com>2011-11-25 10:32:04 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:05:02 +0200
commite70300f59baa832307a36807b26da8e6b69da151 (patch)
tree6a442d595d0fc879f83529e470af581d1803ba50
parent4afe0b898707838bfa3c00e360a565e4ce1dd5ff (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.c16
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);