mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-05 08:16:49 +07:00
wlcore: set max num of Rx BA sessions per chip
Maximum number of supported RX BA sessions depends on chip type. wl18xx supports 5 RX BA sessions while wl12xx supports 3. Signed-off-by: Igal Chernobelsky <igalc@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
parent
0c7cc7f226
commit
d21553f890
@ -723,6 +723,7 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
|
||||
wl->sched_scan_templ_id_2_4 = CMD_TEMPL_CFG_PROBE_REQ_2_4;
|
||||
wl->sched_scan_templ_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5;
|
||||
wl->max_channels_5 = WL12XX_MAX_CHANNELS_5GHZ;
|
||||
wl->ba_rx_session_count_max = WL12XX_RX_BA_MAX_SESSIONS;
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
@ -63,6 +63,8 @@
|
||||
|
||||
#define WL12XX_NUM_MAC_ADDRESSES 2
|
||||
|
||||
#define WL12XX_RX_BA_MAX_SESSIONS 3
|
||||
|
||||
struct wl127x_rx_mem_pool_addr {
|
||||
u32 addr;
|
||||
u32 addr_extra;
|
||||
|
@ -678,6 +678,7 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
|
||||
wl->sched_scan_templ_id_2_4 = CMD_TEMPL_PROBE_REQ_2_4_PERIODIC;
|
||||
wl->sched_scan_templ_id_5 = CMD_TEMPL_PROBE_REQ_5_PERIODIC;
|
||||
wl->max_channels_5 = WL18XX_MAX_CHANNELS_5GHZ;
|
||||
wl->ba_rx_session_count_max = WL18XX_RX_BA_MAX_SESSIONS;
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
#define WL18XX_IFTYPE_VER 5
|
||||
#define WL18XX_MAJOR_VER WLCORE_FW_VER_IGNORE
|
||||
#define WL18XX_SUBTYPE_VER WLCORE_FW_VER_IGNORE
|
||||
#define WL18XX_MINOR_VER 28
|
||||
#define WL18XX_MINOR_VER 39
|
||||
|
||||
#define WL18XX_CMD_MAX_SIZE 740
|
||||
|
||||
@ -40,6 +40,8 @@
|
||||
|
||||
#define WL18XX_NUM_MAC_ADDRESSES 3
|
||||
|
||||
#define WL18XX_RX_BA_MAX_SESSIONS 5
|
||||
|
||||
struct wl18xx_priv {
|
||||
/* buffer for sending commands to FW */
|
||||
u8 cmd_buf[WL18XX_CMD_MAX_SIZE];
|
||||
|
@ -728,8 +728,6 @@ struct wl1271_acx_ht_information {
|
||||
u8 padding[2];
|
||||
} __packed;
|
||||
|
||||
#define RX_BA_MAX_SESSIONS 3
|
||||
|
||||
struct wl1271_acx_ba_initiator_policy {
|
||||
struct acx_header header;
|
||||
|
||||
|
@ -4784,7 +4784,7 @@ static int wl1271_op_ampdu_action(struct ieee80211_hw *hw,
|
||||
break;
|
||||
}
|
||||
|
||||
if (wl->ba_rx_session_count >= RX_BA_MAX_SESSIONS) {
|
||||
if (wl->ba_rx_session_count >= wl->ba_rx_session_count_max) {
|
||||
ret = -EBUSY;
|
||||
wl1271_error("exceeded max RX BA sessions");
|
||||
break;
|
||||
|
@ -390,6 +390,9 @@ struct wl1271 {
|
||||
/* number of currently active RX BA sessions */
|
||||
int ba_rx_session_count;
|
||||
|
||||
/* Maximum number of supported RX BA sessions */
|
||||
int ba_rx_session_count_max;
|
||||
|
||||
/* AP-mode - number of currently connected stations */
|
||||
int active_sta_count;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user