Commit beb6c880 authored by Arik Nemtsov's avatar Arik Nemtsov Committed by Luciano Coelho

wl12xx: Add AP related definitions to HOST-FW interface

Change structures in a non-destructive manner. This means no
changes in size or location of existing members used by STA.
Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent ae113b57
...@@ -116,7 +116,12 @@ struct event_mailbox { ...@@ -116,7 +116,12 @@ struct event_mailbox {
u8 scheduled_scan_status; u8 scheduled_scan_status;
u8 ps_status; u8 ps_status;
u8 reserved_5[29]; /* AP FW only */
u8 hlid_removed;
__le16 sta_aging_status;
__le16 sta_tx_retry_exceeded;
u8 reserved_5[24];
} __packed; } __packed;
int wl1271_event_unmask(struct wl1271 *wl); int wl1271_event_unmask(struct wl1271 *wl);
......
...@@ -86,8 +86,9 @@ ...@@ -86,8 +86,9 @@
/* /*
* RX Descriptor status * RX Descriptor status
* *
* Bits 0-2 - status * Bits 0-2 - error code
* Bits 3-7 - reserved * Bits 3-5 - process_id tag (AP mode FW)
* Bits 6-7 - reserved
*/ */
#define WL1271_RX_DESC_STATUS_MASK 0x07 #define WL1271_RX_DESC_STATUS_MASK 0x07
...@@ -110,7 +111,10 @@ struct wl1271_rx_descriptor { ...@@ -110,7 +111,10 @@ struct wl1271_rx_descriptor {
u8 snr; u8 snr;
__le32 timestamp; __le32 timestamp;
u8 packet_class; u8 packet_class;
u8 process_id; union {
u8 process_id; /* STA FW */
u8 hlid; /* AP FW */
} __packed;
u8 pad_len; u8 pad_len;
u8 reserved; u8 reserved;
} __packed; } __packed;
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#define TX_HW_BLOCK_SIZE 252 #define TX_HW_BLOCK_SIZE 252
#define TX_HW_MGMT_PKT_LIFETIME_TU 2000 #define TX_HW_MGMT_PKT_LIFETIME_TU 2000
#define TX_HW_AP_MODE_PKT_LIFETIME_TU 8000
/* The chipset reference driver states, that the "aid" value 1 /* The chipset reference driver states, that the "aid" value 1
* is for infra-BSS, but is still always used */ * is for infra-BSS, but is still always used */
#define TX_HW_DEFAULT_AID 1 #define TX_HW_DEFAULT_AID 1
...@@ -77,8 +78,12 @@ struct wl1271_tx_hw_descr { ...@@ -77,8 +78,12 @@ struct wl1271_tx_hw_descr {
u8 id; u8 id;
/* The packet TID value (as User-Priority) */ /* The packet TID value (as User-Priority) */
u8 tid; u8 tid;
/* Identifier of the remote STA in IBSS, 1 in infra-BSS */ union {
u8 aid; /* STA - Identifier of the remote STA in IBSS, 1 in infra-BSS */
u8 aid;
/* AP - host link ID (HLID) */
u8 hlid;
} __packed;
u8 reserved; u8 reserved;
} __packed; } __packed;
......
...@@ -195,6 +195,11 @@ struct wl1271_stats { ...@@ -195,6 +195,11 @@ struct wl1271_stats {
#define NUM_TX_QUEUES 4 #define NUM_TX_QUEUES 4
#define NUM_RX_PKT_DESC 8 #define NUM_RX_PKT_DESC 8
#define AP_MAX_STATIONS 5
/* Broadcast and Global links + links to stations */
#define AP_MAX_LINKS (AP_MAX_STATIONS + 2)
/* FW status registers */ /* FW status registers */
struct wl1271_fw_status { struct wl1271_fw_status {
__le32 intr; __le32 intr;
...@@ -205,7 +210,18 @@ struct wl1271_fw_status { ...@@ -205,7 +210,18 @@ struct wl1271_fw_status {
__le32 rx_pkt_descs[NUM_RX_PKT_DESC]; __le32 rx_pkt_descs[NUM_RX_PKT_DESC];
__le32 tx_released_blks[NUM_TX_QUEUES]; __le32 tx_released_blks[NUM_TX_QUEUES];
__le32 fw_localtime; __le32 fw_localtime;
__le32 padding[2];
/* Next fields valid only in AP FW */
/*
* A bitmap (where each bit represents a single HLID)
* to indicate if the station is in PS mode.
*/
__le32 link_ps_bitmap;
/* Number of freed MBs per HLID */
u8 tx_lnk_free_blks[AP_MAX_LINKS];
u8 padding_1[1];
} __packed; } __packed;
struct wl1271_rx_mem_pool_addr { struct wl1271_rx_mem_pool_addr {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment