wl1251: fix ELP_CTRL register accesses when using SDIO
For some unknown reason ELP_CTRL can't be accesed using sdio_memcpy_* functions (any attemts to do so result in timeouts): wl1251: ERROR sdio write failed (-110) wl1251: ERROR sdio read failed (-110) wl1251: WARNING WLAN not ready To fix this, add special IO functions for ELP_CTRL access that are using sdio_readb/sdio_writeb. Similar handling is done in TI reference driver from Android code drop. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Cc: Bob Copeland <me@bobcopeland.com> Acked-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
3c9cb9c38a
commit
3f9e750d13
@ -256,6 +256,8 @@ struct wl1251_debugfs {
|
||||
struct wl1251_if_operations {
|
||||
void (*read)(struct wl1251 *wl, int addr, void *buf, size_t len);
|
||||
void (*write)(struct wl1251 *wl, int addr, void *buf, size_t len);
|
||||
void (*read_elp)(struct wl1251 *wl, int addr, u32 *val);
|
||||
void (*write_elp)(struct wl1251 *wl, int addr, u32 val);
|
||||
void (*reset)(struct wl1251 *wl);
|
||||
void (*enable_irq)(struct wl1251 *wl);
|
||||
void (*disable_irq)(struct wl1251 *wl);
|
||||
|
Reference in New Issue
Block a user