wl1271: Remove busy-word checking

Remove busy-word checking to work around an SPI bug. To reduce the
chance of chipset-busy scenarios, increment the number of fixed busy
words.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Juuso Oikarinen 2009-10-13 12:47:47 +03:00 committed by John W. Linville
parent 11f70f9715
commit c6d5d06e45
2 changed files with 7 additions and 5 deletions

View file

@ -115,9 +115,11 @@ enum {
/*
* FIXME: for the wl1271, a busy word count of 1 here will result in a more
* optimal SPI interface. There is some SPI bug however, causing RXS time outs
* with this mode occasionally on boot, so lets have two for now.
* with this mode occasionally on boot, so lets have three for now. A value of
* three should make sure, that the chipset will always be ready, though this
* will impact throughput and latencies slightly.
*/
#define WL1271_BUSY_WORD_CNT 2
#define WL1271_BUSY_WORD_CNT 3
#define WL1271_BUSY_WORD_LEN (WL1271_BUSY_WORD_CNT * sizeof(u32))
#define WL1271_ELP_HW_STATE_ASLEEP 0

View file

@ -294,9 +294,9 @@ void wl1271_spi_raw_read(struct wl1271 *wl, int addr, void *buf,
spi_sync(wl->spi, &m);
/* Check busy words */
if (!(busy_buf[WL1271_BUSY_WORD_CNT - 1] & 0x1))
wl1271_spi_read_busy(wl, buf, len);
/* FIXME: Check busy words, removed due to SPI bug */
/* if (!(busy_buf[WL1271_BUSY_WORD_CNT - 1] & 0x1))
wl1271_spi_read_busy(wl, buf, len); */
wl1271_dump(DEBUG_SPI, "spi_read cmd -> ", cmd, sizeof(*cmd));
wl1271_dump(DEBUG_SPI, "spi_read buf <- ", buf, len);