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

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

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
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -116,7 +116,12 @@ struct event_mailbox {
	u8 scheduled_scan_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;

int wl1271_event_unmask(struct wl1271 *wl);
+7 −3
Original line number Diff line number Diff line
@@ -86,8 +86,9 @@
/*
 * RX Descriptor status
 *
 * Bits 0-2 - status
 * Bits 3-7 - reserved
 * Bits 0-2 - error code
 * Bits 3-5 - process_id tag (AP mode FW)
 * Bits 6-7 - reserved
 */
#define WL1271_RX_DESC_STATUS_MASK      0x07

@@ -110,7 +111,10 @@ struct wl1271_rx_descriptor {
	u8  snr;
	__le32 timestamp;
	u8  packet_class;
	u8  process_id;
	union {
		u8  process_id; /* STA FW */
		u8  hlid; /* AP FW */
	} __packed;
	u8  pad_len;
	u8  reserved;
} __packed;
+7 −2
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#define TX_HW_BLOCK_SIZE                 252

#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
 * is for infra-BSS, but is still always used */
#define TX_HW_DEFAULT_AID                1
@@ -77,8 +78,12 @@ struct wl1271_tx_hw_descr {
	u8 id;
	/* The packet TID value (as User-Priority) */
	u8 tid;
	/* Identifier of the remote STA in IBSS, 1 in infra-BSS */
	union {
		/* STA - Identifier of the remote STA in IBSS, 1 in infra-BSS */
		u8 aid;
		/* AP - host link ID (HLID) */
		u8 hlid;
	} __packed;
	u8 reserved;
} __packed;

+17 −1
Original line number Diff line number Diff line
@@ -195,6 +195,11 @@ struct wl1271_stats {
#define NUM_TX_QUEUES              4
#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 */
struct wl1271_fw_status {
	__le32 intr;
@@ -205,7 +210,18 @@ struct wl1271_fw_status {
	__le32 rx_pkt_descs[NUM_RX_PKT_DESC];
	__le32 tx_released_blks[NUM_TX_QUEUES];
	__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;

struct wl1271_rx_mem_pool_addr {