Skip to content

Commit

Permalink
spi/dw_spi: remove the un-necessary flush()
Browse files Browse the repository at this point in the history
The flush() is used to drain all the left data in rx fifo, currently
is is always called together with disabling hw. But from spec, disabling
hw will also reset all the fifo, so flush() is not needed.

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
  • Loading branch information
Alek Du authored and Grant Likely committed Mar 31, 2011
1 parent de6efe0 commit 8a33a37
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions drivers/spi/dw_spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,17 +173,6 @@ static void wait_till_not_busy(struct dw_spi *dws)
"DW SPI: Status keeps busy for 5000us after a read/write!\n");
}

static void flush(struct dw_spi *dws)
{
while (dw_readw(dws, sr) & SR_RF_NOT_EMPT) {
dw_readw(dws, dr);
cpu_relax();
}

wait_till_not_busy(dws);
}


static int dw_writer(struct dw_spi *dws)
{
u16 txw = 0;
Expand Down Expand Up @@ -297,8 +286,7 @@ static void giveback(struct dw_spi *dws)

static void int_error_stop(struct dw_spi *dws, const char *msg)
{
/* Stop and reset hw */
flush(dws);
/* Stop the hw */
spi_enable_chip(dws, 0);

dev_err(&dws->master->dev, "%s\n", msg);
Expand Down Expand Up @@ -800,7 +788,6 @@ static void spi_hw_init(struct dw_spi *dws)
spi_enable_chip(dws, 0);
spi_mask_intr(dws, 0xff);
spi_enable_chip(dws, 1);
flush(dws);

/*
* Try to detect the FIFO depth if not set by interface driver,
Expand Down

0 comments on commit 8a33a37

Please sign in to comment.