forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'rebase-qualcommax-6.x-nss-wifi' into qualcommax-6.x-nss…
…-wifi
- Loading branch information
Showing
40 changed files
with
208 additions
and
179 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
package/kernel/mac80211/patches/nss/ath11k/191-ath11k-add-mgmt-and-data-ack-rssi.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2995,7 +2995,7 @@ Signed-off-by: Sriram R <[email protected]> | |
int ath11k_dp_pdev_reo_setup(struct ath11k_base *ab); | ||
--- a/drivers/net/wireless/ath/ath11k/mac.c | ||
+++ b/drivers/net/wireless/ath/ath11k/mac.c | ||
@@ -6369,6 +6369,16 @@ static int ath11k_mac_op_start(struct ie | ||
@@ -6367,6 +6367,16 @@ static int ath11k_mac_op_start(struct ie | ||
goto err; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -585,7 +585,7 @@ Signed-off-by: Sriram R <[email protected]> | |
static void ath11k_mac_op_bss_info_changed(struct ieee80211_hw *hw, | ||
struct ieee80211_vif *vif, | ||
struct ieee80211_bss_conf *info, | ||
@@ -4297,6 +4341,26 @@ static int ath11k_mac_op_set_key(struct | ||
@@ -4295,6 +4339,26 @@ static int ath11k_mac_op_set_key(struct | ||
|
||
spin_lock_bh(&ab->base_lock); | ||
peer = ath11k_peer_find(ab, arvif->vdev_id, peer_addr); | ||
|
@@ -612,7 +612,7 @@ Signed-off-by: Sriram R <[email protected]> | |
if (peer && cmd == SET_KEY) { | ||
peer->keys[key->keyidx] = key; | ||
if (key->flags & IEEE80211_KEY_FLAG_PAIRWISE) { | ||
@@ -4335,9 +4399,8 @@ static int ath11k_mac_op_set_key(struct | ||
@@ -4333,9 +4397,8 @@ static int ath11k_mac_op_set_key(struct | ||
break; | ||
} | ||
} | ||
|
@@ -623,7 +623,7 @@ Signed-off-by: Sriram R <[email protected]> | |
exit: | ||
mutex_unlock(&ar->conf_mutex); | ||
return ret; | ||
@@ -6218,10 +6281,14 @@ static void ath11k_mac_op_tx(struct ieee | ||
@@ -6216,10 +6279,14 @@ static void ath11k_mac_op_tx(struct ieee | ||
if (control->sta) | ||
arsta = ath11k_sta_to_arsta(control->sta); | ||
|
||
|
@@ -639,7 +639,7 @@ Signed-off-by: Sriram R <[email protected]> | |
} | ||
} | ||
|
||
@@ -6243,6 +6310,8 @@ static int ath11k_mac_config_mon_status_ | ||
@@ -6241,6 +6308,8 @@ static int ath11k_mac_config_mon_status_ | ||
|
||
if (enable) { | ||
tlv_filter = ath11k_mac_mon_status_filter_default; | ||
|
@@ -648,7 +648,7 @@ Signed-off-by: Sriram R <[email protected]> | |
if (ath11k_debugfs_rx_filter(ar)) | ||
tlv_filter.rx_filter = ath11k_debugfs_rx_filter(ar); | ||
} | ||
@@ -6541,7 +6610,7 @@ static int ath11k_mac_setup_vdev_create_ | ||
@@ -6539,7 +6608,7 @@ static int ath11k_mac_setup_vdev_create_ | ||
return 0; | ||
} | ||
|
||
|
@@ -657,7 +657,7 @@ Signed-off-by: Sriram R <[email protected]> | |
struct ieee80211_vif *vif) | ||
{ | ||
struct ath11k *ar = hw->priv; | ||
@@ -6587,6 +6656,8 @@ static void ath11k_mac_op_update_vif_off | ||
@@ -6585,6 +6654,8 @@ static void ath11k_mac_op_update_vif_off | ||
arvif->vdev_id, ret); | ||
vif->offload_flags &= ~IEEE80211_OFFLOAD_DECAP_ENABLED; | ||
} | ||
|
@@ -666,7 +666,7 @@ Signed-off-by: Sriram R <[email protected]> | |
} | ||
|
||
static bool ath11k_mac_vif_ap_active_any(struct ath11k_base *ab) | ||
@@ -6717,6 +6788,8 @@ static int ath11k_mac_vdev_delete(struct | ||
@@ -6715,6 +6786,8 @@ static int ath11k_mac_vdev_delete(struct | ||
|
||
reinit_completion(&ar->vdev_delete_done); | ||
|
||
|
@@ -675,7 +675,7 @@ Signed-off-by: Sriram R <[email protected]> | |
ret = ath11k_wmi_vdev_delete(ar, arvif->vdev_id); | ||
if (ret) { | ||
ath11k_warn(ar->ab, "failed to delete WMI vdev %d: %d\n", | ||
@@ -6857,7 +6930,34 @@ static int ath11k_mac_op_add_interface(s | ||
@@ -6855,7 +6928,34 @@ static int ath11k_mac_op_add_interface(s | ||
list_add(&arvif->list, &ar->arvifs); | ||
spin_unlock_bh(&ar->data_lock); | ||
|
||
|
@@ -711,15 +711,15 @@ Signed-off-by: Sriram R <[email protected]> | |
|
||
nss = get_num_chains(ar->cfg_tx_chainmask) ? : 1; | ||
ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, | ||
@@ -6981,6 +7081,7 @@ err_peer_del: | ||
@@ -6979,6 +7079,7 @@ err_peer_del: | ||
} | ||
|
||
err_vdev_del: | ||
+ ath11k_nss_vdev_delete(arvif); | ||
ath11k_mac_vdev_delete(ar, arvif); | ||
spin_lock_bh(&ar->data_lock); | ||
list_del(&arvif->list); | ||
@@ -7491,6 +7592,10 @@ ath11k_mac_update_vif_chan(struct ath11k | ||
@@ -7489,6 +7590,10 @@ ath11k_mac_update_vif_chan(struct ath11k | ||
arvif->vdev_id, ret); | ||
continue; | ||
} | ||
|
@@ -730,7 +730,7 @@ Signed-off-by: Sriram R <[email protected]> | |
} | ||
|
||
/* Restart the internal monitor vdev on new channel */ | ||
@@ -8719,6 +8824,8 @@ static void ath11k_mac_op_sta_statistics | ||
@@ -8717,6 +8822,8 @@ static void ath11k_mac_op_sta_statistics | ||
sinfo->signal_avg = ewma_avg_rssi_read(&arsta->avg_rssi) + | ||
ATH11K_DEFAULT_NOISE_FLOOR; | ||
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG); | ||
|
@@ -739,15 +739,15 @@ Signed-off-by: Sriram R <[email protected]> | |
} | ||
|
||
#if IS_ENABLED(CONFIG_IPV6) | ||
@@ -9138,6 +9245,7 @@ static const struct ieee80211_ops ath11k | ||
@@ -9144,6 +9251,7 @@ static const struct ieee80211_ops ath11k | ||
.update_vif_offload = ath11k_mac_op_update_vif_offload, | ||
.config = ath11k_mac_op_config, | ||
.bss_info_changed = ath11k_mac_op_bss_info_changed, | ||
+ .nss_bss_info_changed = ath11k_mac_op_nss_bss_info_changed, | ||
.configure_filter = ath11k_mac_op_configure_filter, | ||
.hw_scan = ath11k_mac_op_hw_scan, | ||
.cancel_hw_scan = ath11k_mac_op_cancel_hw_scan, | ||
@@ -9523,7 +9631,8 @@ static int __ath11k_mac_register(struct | ||
@@ -9530,7 +9638,8 @@ static int __ath11k_mac_register(struct | ||
ieee80211_hw_set(ar->hw, TX_AMPDU_SETUP_IN_HW); | ||
ieee80211_hw_set(ar->hw, SUPPORTS_REORDERING_BUFFER); | ||
ieee80211_hw_set(ar->hw, SUPPORTS_AMSDU_IN_AMPDU); | ||
|
@@ -757,7 +757,7 @@ Signed-off-by: Sriram R <[email protected]> | |
} | ||
|
||
ar->hw->wiphy->features |= NL80211_FEATURE_STATIC_SMPS; | ||
@@ -9638,6 +9747,9 @@ static int __ath11k_mac_register(struct | ||
@@ -9645,6 +9754,9 @@ static int __ath11k_mac_register(struct | ||
ab->hw_params.bios_sar_capa) | ||
ar->hw->wiphy->sar_capa = ab->hw_params.bios_sar_capa; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -369,7 +369,7 @@ Signed-off-by: Seevalamuthu Mariappan <[email protected]> | |
int ath11k_dp_tx(struct ath11k *ar, struct ath11k_vif *arvif, | ||
--- a/drivers/net/wireless/ath/ath11k/mac.c | ||
+++ b/drivers/net/wireless/ath/ath11k/mac.c | ||
@@ -9764,6 +9764,9 @@ static int __ath11k_mac_register(struct | ||
@@ -9771,6 +9771,9 @@ static int __ath11k_mac_register(struct | ||
*/ | ||
ar->hw->wiphy->interface_modes &= ~BIT(NL80211_IFTYPE_MONITOR); | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,7 +22,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <[email protected]> | |
|
||
--- a/drivers/net/wireless/ath/ath11k/mac.c | ||
+++ b/drivers/net/wireless/ath/ath11k/mac.c | ||
@@ -6131,6 +6131,16 @@ static int ath11k_mac_mgmt_tx_wmi(struct | ||
@@ -6129,6 +6129,16 @@ static int ath11k_mac_mgmt_tx_wmi(struct | ||
|
||
ATH11K_SKB_CB(skb)->paddr = paddr; | ||
|
||
|
@@ -39,7 +39,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <[email protected]> | |
ret = ath11k_wmi_mgmt_send(ar, arvif->vdev_id, buf_id, skb); | ||
if (ret) { | ||
ath11k_warn(ar->ab, "failed to send mgmt frame: %d\n", ret); | ||
@@ -6198,8 +6208,8 @@ static void ath11k_mgmt_over_wmi_tx_work | ||
@@ -6196,8 +6206,8 @@ static void ath11k_mgmt_over_wmi_tx_work | ||
} | ||
} | ||
|
||
|
@@ -50,7 +50,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <[email protected]> | |
{ | ||
struct sk_buff_head *q = &ar->wmi_mgmt_tx_queue; | ||
|
||
@@ -6261,7 +6271,7 @@ static void ath11k_mac_op_tx(struct ieee | ||
@@ -6259,7 +6269,7 @@ static void ath11k_mac_op_tx(struct ieee | ||
} else if (ieee80211_is_mgmt(hdr->frame_control)) { | ||
frm_type = FIELD_GET(IEEE80211_FCTL_STYPE, hdr->frame_control); | ||
is_prb_rsp = ieee80211_is_probe_resp(hdr->frame_control); | ||
|
@@ -59,7 +59,7 @@ Signed-off-by: Sowmiya Sree Elavalagan <[email protected]> | |
if (ret) { | ||
if (ret != -EBUSY) | ||
ath11k_warn(ar->ab, "failed to queue management frame %d\n", | ||
@@ -6276,6 +6286,20 @@ static void ath11k_mac_op_tx(struct ieee | ||
@@ -6274,6 +6284,20 @@ static void ath11k_mac_op_tx(struct ieee | ||
spin_unlock_bh(&ar->data_lock); | ||
} | ||
return; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -43,7 +43,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
struct ath11k_vif_iter { | ||
--- a/drivers/net/wireless/ath/ath11k/mac.c | ||
+++ b/drivers/net/wireless/ath/ath11k/mac.c | ||
@@ -4741,6 +4741,11 @@ static void ath11k_sta_rc_update_wk(stru | ||
@@ -4739,6 +4739,11 @@ static void ath11k_sta_rc_update_wk(stru | ||
arvif = arsta->arvif; | ||
ar = arvif->ar; | ||
|
||
|
@@ -55,7 +55,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
if (WARN_ON(ath11k_mac_vif_chan(arvif->vif, &def))) | ||
return; | ||
|
||
@@ -4912,17 +4917,28 @@ err_rc_bw_changed: | ||
@@ -4910,17 +4915,28 @@ err_rc_bw_changed: | ||
static void ath11k_sta_set_4addr_wk(struct work_struct *wk) | ||
{ | ||
struct ath11k *ar; | ||
|
@@ -86,7 +86,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
"setting USE_4ADDR for peer %pM\n", sta->addr); | ||
|
||
ret = ath11k_wmi_set_peer_param(ar, sta->addr, | ||
@@ -4930,8 +4946,93 @@ static void ath11k_sta_set_4addr_wk(stru | ||
@@ -4928,8 +4944,93 @@ static void ath11k_sta_set_4addr_wk(stru | ||
WMI_PEER_USE_4ADDR, 1); | ||
|
||
if (ret) | ||
|
@@ -181,7 +181,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
} | ||
|
||
static int ath11k_mac_inc_num_stations(struct ath11k_vif *arvif, | ||
@@ -5261,9 +5362,32 @@ static void ath11k_mac_op_sta_set_4addr( | ||
@@ -5259,9 +5360,32 @@ static void ath11k_mac_op_sta_set_4addr( | ||
struct ieee80211_sta *sta, bool enabled) | ||
{ | ||
struct ath11k *ar = hw->priv; | ||
|
@@ -214,7 +214,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
ieee80211_queue_work(ar->hw, &arsta->set_4addr_wk); | ||
arsta->use_4addr_set = true; | ||
} | ||
@@ -6643,6 +6767,9 @@ static int ath11k_mac_op_update_vif_offl | ||
@@ -6641,6 +6765,9 @@ static int ath11k_mac_op_update_vif_offl | ||
u32 param_id, param_value; | ||
int ret; | ||
|
||
|
@@ -224,7 +224,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
param_id = WMI_VDEV_PARAM_TX_ENCAP_TYPE; | ||
if (ath11k_frame_mode != ATH11K_HW_TXRX_ETHERNET || | ||
(vif->type != NL80211_IFTYPE_STATION && | ||
@@ -6863,7 +6990,8 @@ static int ath11k_mac_op_add_interface(s | ||
@@ -6861,7 +6988,8 @@ static int ath11k_mac_op_add_interface(s | ||
goto err; | ||
} | ||
|
||
|
@@ -234,7 +234,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
ath11k_warn(ab, "failed to create vdev %u, reached max vdev limit %d\n", | ||
ar->num_created_vdevs, TARGET_NUM_VDEVS(ab)); | ||
ret = -EBUSY; | ||
@@ -6883,6 +7011,28 @@ static int ath11k_mac_op_add_interface(s | ||
@@ -6881,6 +7009,28 @@ static int ath11k_mac_op_add_interface(s | ||
arvif->vif = vif; | ||
|
||
INIT_LIST_HEAD(&arvif->list); | ||
|
@@ -263,15 +263,15 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
INIT_DELAYED_WORK(&arvif->connection_loss_work, | ||
ath11k_mac_vif_sta_connection_loss_work); | ||
|
||
@@ -6912,6 +7062,7 @@ static int ath11k_mac_op_add_interface(s | ||
@@ -6910,6 +7060,7 @@ static int ath11k_mac_op_add_interface(s | ||
fallthrough; | ||
case NL80211_IFTYPE_AP: | ||
arvif->vdev_type = WMI_VDEV_TYPE_AP; | ||
+ INIT_LIST_HEAD(&arvif->ap_vlan_arvifs); | ||
break; | ||
case NL80211_IFTYPE_MONITOR: | ||
arvif->vdev_type = WMI_VDEV_TYPE_MONITOR; | ||
@@ -7134,13 +7285,30 @@ static void ath11k_mac_op_remove_interfa | ||
@@ -7132,13 +7283,30 @@ static void ath11k_mac_op_remove_interfa | ||
struct ath11k *ar = hw->priv; | ||
struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); | ||
struct ath11k_base *ab = ar->ab; | ||
|
@@ -304,7 +304,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
ath11k_dbg(ab, ATH11K_DBG_MAC, "remove interface (vdev %d)\n", | ||
arvif->vdev_id); | ||
|
||
@@ -7157,6 +7325,14 @@ static void ath11k_mac_op_remove_interfa | ||
@@ -7155,6 +7323,14 @@ static void ath11k_mac_op_remove_interfa | ||
if (ret) | ||
ath11k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d\n", | ||
arvif->vdev_id, ret); | ||
|
@@ -319,7 +319,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
} | ||
|
||
ret = ath11k_mac_vdev_delete(ar, arvif); | ||
@@ -7200,8 +7376,7 @@ err_vdev_del: | ||
@@ -7198,8 +7374,7 @@ err_vdev_del: | ||
|
||
ath11k_debugfs_remove_interface(arvif); | ||
|
||
|
@@ -329,7 +329,7 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
mutex_unlock(&ar->conf_mutex); | ||
} | ||
|
||
@@ -7261,16 +7436,17 @@ static int ath11k_mac_op_ampdu_action(st | ||
@@ -7259,16 +7434,17 @@ static int ath11k_mac_op_ampdu_action(st | ||
struct ieee80211_ampdu_params *params) | ||
{ | ||
struct ath11k *ar = hw->priv; | ||
|
@@ -349,15 +349,15 @@ Signed-off-by: Sathishkumar Muruganandam <[email protected]> | |
break; | ||
case IEEE80211_AMPDU_TX_START: | ||
case IEEE80211_AMPDU_TX_STOP_CONT: | ||
@@ -8793,6 +8969,7 @@ static void ath11k_mac_op_sta_statistics | ||
@@ -8791,6 +8967,7 @@ static void ath11k_mac_op_sta_statistics | ||
{ | ||
struct ath11k_sta *arsta = ath11k_sta_to_arsta(sta); | ||
struct ath11k *ar = arsta->arvif->ar; | ||
+ struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); | ||
s8 signal; | ||
bool db2dbm = test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT, | ||
ar->ab->wmi_ab.svc_map); | ||
@@ -8849,7 +9026,8 @@ static void ath11k_mac_op_sta_statistics | ||
@@ -8847,7 +9024,8 @@ static void ath11k_mac_op_sta_statistics | ||
ATH11K_DEFAULT_NOISE_FLOOR; | ||
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG); | ||
|
||
|
Oops, something went wrong.