Skip to content

Commit

Permalink
wlcore: remove some unnecessary event mailbox address reads
Browse files Browse the repository at this point in the history
We were reading the even mailbox address three times, which was
completely unnecessary and complicated things regarding partition
selection.  Remove the unnecessry reads and set the address for
mailbox 1 and 2 after the first read.

Signed-off-by: Luciano Coelho <coelho@ti.com>
  • Loading branch information
Luciano Coelho committed Apr 12, 2012
1 parent d203e59 commit 4263c5f
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 17 deletions.
18 changes: 12 additions & 6 deletions drivers/net/wireless/ti/wlcore/boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -399,14 +399,19 @@ int wlcore_boot_run_firmware(struct wl1271 *wl)
/* get hardware config command mail box */
wl->cmd_box_addr = wlcore_read_reg(wl, REG_COMMAND_MAILBOX_PTR);

wl1271_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x", wl->cmd_box_addr);

/* get hardware config event mail box */
wl->event_box_addr = wlcore_read_reg(wl, REG_EVENT_MAILBOX_PTR);
wl->mbox_ptr[0] = wlcore_read_reg(wl, REG_EVENT_MAILBOX_PTR);
wl->mbox_ptr[1] = wl->mbox_ptr[0] + sizeof(struct event_mailbox);

/* set the working partition to its "running" mode offset */
wlcore_set_partition(wl, &wl->ptable[PART_WORK]);
wl1271_debug(DEBUG_MAILBOX, "MBOX ptrs: 0x%x 0x%x",
wl->mbox_ptr[0], wl->mbox_ptr[1]);

wl1271_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x event_box_addr 0x%x",
wl->cmd_box_addr, wl->event_box_addr);
/*
* TODO: wl12xx used to set the partition here, but it seems
* that it can be done later. Make sure this is okay.
*/

wl1271_boot_fw_version(wl);

Expand Down Expand Up @@ -438,7 +443,8 @@ int wlcore_boot_run_firmware(struct wl1271 *wl)
return ret;
}

wl1271_event_mbox_config(wl);
/* set the working partition to its "running" mode offset */
wlcore_set_partition(wl, &wl->ptable[PART_WORK]);

/* firmware startup completed */
return 0;
Expand Down
9 changes: 0 additions & 9 deletions drivers/net/wireless/ti/wlcore/event.c
Original file line number Diff line number Diff line change
Expand Up @@ -278,15 +278,6 @@ int wl1271_event_unmask(struct wl1271 *wl)
return 0;
}

void wl1271_event_mbox_config(struct wl1271 *wl)
{
wl->mbox_ptr[0] = wlcore_read_reg(wl, REG_EVENT_MAILBOX_PTR);
wl->mbox_ptr[1] = wl->mbox_ptr[0] + sizeof(struct event_mailbox);

wl1271_debug(DEBUG_EVENT, "MBOX ptrs: 0x%x 0x%x",
wl->mbox_ptr[0], wl->mbox_ptr[1]);
}

int wl1271_event_handle(struct wl1271 *wl, u8 mbox_num)
{
int ret;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/wireless/ti/wlcore/event.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,6 @@ struct event_mailbox {
struct wl1271;

int wl1271_event_unmask(struct wl1271 *wl);
void wl1271_event_mbox_config(struct wl1271 *wl);
int wl1271_event_handle(struct wl1271 *wl, u8 mbox);

#endif
1 change: 0 additions & 1 deletion drivers/net/wireless/ti/wlcore/wlcore.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ struct wl1271 {
struct wl1271_chip chip;

int cmd_box_addr;
int event_box_addr;

u8 *fw;
size_t fw_len;
Expand Down

0 comments on commit 4263c5f

Please sign in to comment.