wlcore/wl12xx: expand functionality of cmd_trigger HW op
Change the cmd_trigger op to include the write of the command buffer. Also, instead of letting the lower driver access the cmd_box_addr element directly, we now pass the address in the trigger_cmd operation, so it doesn't have to be exported. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
parent
8a9affc08d
commit
5d10b1957d
|
@ -707,8 +707,10 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void wl12xx_trigger_cmd(struct wl1271 *wl)
|
||||
static void wl12xx_trigger_cmd(struct wl1271 *wl, int cmd_box_addr,
|
||||
void *buf, size_t len)
|
||||
{
|
||||
wl1271_write(wl, cmd_box_addr, buf, len, false);
|
||||
wlcore_write_reg(wl, REG_INTERRUPT_TRIG, WL12XX_INTR_TRIG_CMD);
|
||||
}
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len,
|
|||
* TODO: we just need this because one bit is in a different
|
||||
* place. Is there any better way?
|
||||
*/
|
||||
wl->ops->trigger_cmd(wl);
|
||||
wl->ops->trigger_cmd(wl, wl->cmd_box_addr, buf, len);
|
||||
|
||||
timeout = jiffies + msecs_to_jiffies(WL1271_COMMAND_TIMEOUT);
|
||||
|
||||
|
|
|
@ -37,7 +37,8 @@ enum wl_rx_buf_align;
|
|||
struct wlcore_ops {
|
||||
int (*identify_chip)(struct wl1271 *wl);
|
||||
int (*boot)(struct wl1271 *wl);
|
||||
void (*trigger_cmd)(struct wl1271 *wl);
|
||||
void (*trigger_cmd)(struct wl1271 *wl, int cmd_box_addr,
|
||||
void *buf, size_t len);
|
||||
void (*ack_event)(struct wl1271 *wl);
|
||||
u32 (*calc_tx_blocks)(struct wl1271 *wl, u32 len, u32 spare_blks);
|
||||
void (*set_tx_desc_blocks)(struct wl1271 *wl,
|
||||
|
|
Loading…
Reference in New Issue