Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6d5d06e authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by John W. Linville
Browse files

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: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 11f70f97
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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);