mac80211: refresh patches
Previous commits missed some refreshing Signed-off-by: Mantas Pucka <mantas@8devices.com> Link: https://github.com/openwrt/openwrt/pull/18512 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
891c8244f2
commit
903566c2d6
10 changed files with 37 additions and 37 deletions
|
@ -34,7 +34,7 @@ Signed-off-by: Sriram R <srirrama@codeaurora.org>
|
||||||
.name = "qca2066 hw2.1",
|
.name = "qca2066 hw2.1",
|
||||||
--- a/drivers/net/wireless/ath/ath11k/dp.c
|
--- a/drivers/net/wireless/ath/ath11k/dp.c
|
||||||
+++ b/drivers/net/wireless/ath/ath11k/dp.c
|
+++ b/drivers/net/wireless/ath/ath11k/dp.c
|
||||||
@@ -361,12 +361,66 @@ void ath11k_dp_stop_shadow_timers(struct
|
@@ -348,12 +348,66 @@ void ath11k_dp_stop_shadow_timers(struct
|
||||||
ath11k_dp_shadow_stop_timer(ab, &ab->dp.reo_cmd_timer);
|
ath11k_dp_shadow_stop_timer(ab, &ab->dp.reo_cmd_timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ Signed-off-by: Sriram R <srirrama@codeaurora.org>
|
||||||
ath11k_dp_srng_cleanup(ab, &dp->wbm_desc_rel_ring);
|
ath11k_dp_srng_cleanup(ab, &dp->wbm_desc_rel_ring);
|
||||||
ath11k_dp_srng_cleanup(ab, &dp->tcl_cmd_ring);
|
ath11k_dp_srng_cleanup(ab, &dp->tcl_cmd_ring);
|
||||||
ath11k_dp_srng_cleanup(ab, &dp->tcl_status_ring);
|
ath11k_dp_srng_cleanup(ab, &dp->tcl_status_ring);
|
||||||
@@ -388,6 +442,8 @@ static int ath11k_dp_srng_common_setup(s
|
@@ -375,6 +429,8 @@ static int ath11k_dp_srng_common_setup(s
|
||||||
int i, ret;
|
int i, ret;
|
||||||
u8 tcl_num, wbm_num;
|
u8 tcl_num, wbm_num;
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ Signed-off-by: Sriram R <srirrama@codeaurora.org>
|
||||||
DP_WBM_RELEASE_RING_SIZE);
|
DP_WBM_RELEASE_RING_SIZE);
|
||||||
--- a/drivers/net/wireless/ath/ath11k/dp.h
|
--- a/drivers/net/wireless/ath/ath11k/dp.h
|
||||||
+++ b/drivers/net/wireless/ath/ath11k/dp.h
|
+++ b/drivers/net/wireless/ath/ath11k/dp.h
|
||||||
@@ -44,6 +44,8 @@ struct dp_rx_tid {
|
@@ -46,6 +46,8 @@ struct dp_rx_tid {
|
||||||
#define DP_MON_PURGE_TIMEOUT_MS 100
|
#define DP_MON_PURGE_TIMEOUT_MS 100
|
||||||
#define DP_MON_SERVICE_BUDGET 128
|
#define DP_MON_SERVICE_BUDGET 128
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ Signed-off-by: Sriram R <srirrama@codeaurora.org>
|
||||||
struct dp_reo_cache_flush_elem {
|
struct dp_reo_cache_flush_elem {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
struct dp_rx_tid data;
|
struct dp_rx_tid data;
|
||||||
@@ -286,6 +288,10 @@ struct ath11k_dp {
|
@@ -288,6 +290,10 @@ struct ath11k_dp {
|
||||||
spinlock_t reo_cmd_lock;
|
spinlock_t reo_cmd_lock;
|
||||||
struct ath11k_hp_update_timer reo_cmd_timer;
|
struct ath11k_hp_update_timer reo_cmd_timer;
|
||||||
struct ath11k_hp_update_timer tx_ring_timer[DP_TCL_NUM_RING_MAX];
|
struct ath11k_hp_update_timer tx_ring_timer[DP_TCL_NUM_RING_MAX];
|
||||||
|
@ -132,7 +132,7 @@ Signed-off-by: Sriram R <srirrama@codeaurora.org>
|
||||||
};
|
};
|
||||||
|
|
||||||
/* HTT definitions */
|
/* HTT definitions */
|
||||||
@@ -1689,5 +1695,6 @@ void ath11k_dp_shadow_init_timer(struct
|
@@ -1691,5 +1697,6 @@ void ath11k_dp_shadow_init_timer(struct
|
||||||
struct ath11k_hp_update_timer *update_timer,
|
struct ath11k_hp_update_timer *update_timer,
|
||||||
u32 interval, u32 ring_id);
|
u32 interval, u32 ring_id);
|
||||||
void ath11k_dp_stop_shadow_timers(struct ath11k_base *ab);
|
void ath11k_dp_stop_shadow_timers(struct ath11k_base *ab);
|
||||||
|
|
|
@ -124,7 +124,7 @@ Best regards,
|
||||||
|
|
||||||
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
||||||
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
||||||
@@ -5185,9 +5185,7 @@ static void ath12k_mac_setup_ht_vht_cap(
|
@@ -5186,9 +5186,7 @@ static void ath12k_mac_setup_ht_vht_cap(
|
||||||
rate_cap_rx_chainmask);
|
rate_cap_rx_chainmask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -284,7 +284,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
ath12k_control_beaconing(arvif, info);
|
ath12k_control_beaconing(arvif, info);
|
||||||
|
|
||||||
if (arvif->is_up && vif->bss_conf.he_support &&
|
if (arvif->is_up && vif->bss_conf.he_support &&
|
||||||
@@ -5351,11 +5483,14 @@ static void ath12k_mac_copy_he_cap(struc
|
@@ -5352,11 +5484,14 @@ static void ath12k_mac_copy_he_cap(struc
|
||||||
|
|
||||||
he_cap_elem->mac_cap_info[1] &=
|
he_cap_elem->mac_cap_info[1] &=
|
||||||
IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_MASK;
|
IEEE80211_HE_MAC_CAP1_TF_MAC_PAD_DUR_MASK;
|
||||||
|
@ -302,7 +302,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
he_cap_elem->phy_cap_info[5] |= num_tx_chains - 1;
|
he_cap_elem->phy_cap_info[5] |= num_tx_chains - 1;
|
||||||
|
|
||||||
switch (iftype) {
|
switch (iftype) {
|
||||||
@@ -6317,71 +6452,6 @@ static int ath12k_mac_setup_vdev_create_
|
@@ -6318,71 +6453,6 @@ static int ath12k_mac_setup_vdev_create_
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
static void ath12k_mac_update_vif_offload(struct ath12k_vif *arvif)
|
static void ath12k_mac_update_vif_offload(struct ath12k_vif *arvif)
|
||||||
{
|
{
|
||||||
struct ieee80211_vif *vif = arvif->vif;
|
struct ieee80211_vif *vif = arvif->vif;
|
||||||
@@ -7339,7 +7409,6 @@ ath12k_mac_vdev_start_restart(struct ath
|
@@ -7340,7 +7410,6 @@ ath12k_mac_vdev_start_restart(struct ath
|
||||||
struct ath12k_base *ab = ar->ab;
|
struct ath12k_base *ab = ar->ab;
|
||||||
struct wmi_vdev_start_req_arg arg = {};
|
struct wmi_vdev_start_req_arg arg = {};
|
||||||
const struct cfg80211_chan_def *chandef = &ctx->def;
|
const struct cfg80211_chan_def *chandef = &ctx->def;
|
||||||
|
@ -382,7 +382,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
lockdep_assert_held(&ar->conf_mutex);
|
lockdep_assert_held(&ar->conf_mutex);
|
||||||
@@ -7395,14 +7464,6 @@ ath12k_mac_vdev_start_restart(struct ath
|
@@ -7396,14 +7465,6 @@ ath12k_mac_vdev_start_restart(struct ath
|
||||||
spin_unlock_bh(&ab->base_lock);
|
spin_unlock_bh(&ab->base_lock);
|
||||||
|
|
||||||
/* TODO: Notify if secondary 80Mhz also needs radar detection */
|
/* TODO: Notify if secondary 80Mhz also needs radar detection */
|
||||||
|
|
|
@ -119,7 +119,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
||||||
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
||||||
@@ -5518,12 +5518,24 @@ static __le16 ath12k_mac_setup_he_6ghz_c
|
@@ -5519,12 +5519,24 @@ static __le16 ath12k_mac_setup_he_6ghz_c
|
||||||
return cpu_to_le16(bcap->he_6ghz_capa);
|
return cpu_to_le16(bcap->he_6ghz_capa);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
he_cap->has_he = true;
|
he_cap->has_he = true;
|
||||||
memcpy(he_cap_elem->mac_cap_info, band_cap->he_cap_info,
|
memcpy(he_cap_elem->mac_cap_info, band_cap->he_cap_info,
|
||||||
@@ -5561,13 +5573,7 @@ static void ath12k_mac_copy_he_cap(struc
|
@@ -5562,13 +5574,7 @@ static void ath12k_mac_copy_he_cap(struc
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
||||||
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
||||||
@@ -5518,20 +5518,40 @@ static __le16 ath12k_mac_setup_he_6ghz_c
|
@@ -5519,20 +5519,40 @@ static __le16 ath12k_mac_setup_he_6ghz_c
|
||||||
return cpu_to_le16(bcap->he_6ghz_capa);
|
return cpu_to_le16(bcap->he_6ghz_capa);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
int iftype, u8 num_tx_chains,
|
int iftype, u8 num_tx_chains,
|
||||||
struct ieee80211_sta_he_cap *he_cap)
|
struct ieee80211_sta_he_cap *he_cap)
|
||||||
{
|
{
|
||||||
@@ -5573,7 +5593,7 @@ static void ath12k_mac_copy_he_cap(struc
|
@@ -5574,7 +5594,7 @@ static void ath12k_mac_copy_he_cap(struc
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
memset(he_cap->ppe_thres, 0, sizeof(he_cap->ppe_thres));
|
memset(he_cap->ppe_thres, 0, sizeof(he_cap->ppe_thres));
|
||||||
if (he_cap_elem->phy_cap_info[6] &
|
if (he_cap_elem->phy_cap_info[6] &
|
||||||
IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT)
|
IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT)
|
||||||
@@ -5762,7 +5782,7 @@ static int ath12k_mac_copy_sband_iftype_
|
@@ -5763,7 +5783,7 @@ static int ath12k_mac_copy_sband_iftype_
|
||||||
|
|
||||||
data[idx].types_mask = BIT(i);
|
data[idx].types_mask = BIT(i);
|
||||||
|
|
||||||
|
|
|
@ -604,7 +604,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
ath12k_peer_assoc_prepare(ar, arvif->vif, sta,
|
ath12k_peer_assoc_prepare(ar, arvif->vif, sta,
|
||||||
&peer_arg, true);
|
&peer_arg, true);
|
||||||
|
|
||||||
@@ -7058,10 +7317,13 @@ static int ath12k_mac_op_add_interface(s
|
@@ -7059,10 +7318,13 @@ static int ath12k_mac_op_add_interface(s
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) {
|
for (i = 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) {
|
||||||
arvif->bitrate_mask.control[i].legacy = 0xffffffff;
|
arvif->bitrate_mask.control[i].legacy = 0xffffffff;
|
||||||
|
@ -618,7 +618,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate Default Queue now and reassign during actual vdev create */
|
/* Allocate Default Queue now and reassign during actual vdev create */
|
||||||
@@ -8222,19 +8484,40 @@ ath12k_mac_has_single_legacy_rate(struct
|
@@ -8223,19 +8485,40 @@ ath12k_mac_has_single_legacy_rate(struct
|
||||||
if (ath12k_mac_bitrate_mask_num_vht_rates(ar, band, mask))
|
if (ath12k_mac_bitrate_mask_num_vht_rates(ar, band, mask))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -659,7 +659,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* No need to consider legacy here. Basic rates are always present
|
/* No need to consider legacy here. Basic rates are always present
|
||||||
@@ -8261,7 +8544,24 @@ ath12k_mac_bitrate_mask_get_single_nss(s
|
@@ -8262,7 +8545,24 @@ ath12k_mac_bitrate_mask_get_single_nss(s
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -685,7 +685,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (ht_nss_mask == 0)
|
if (ht_nss_mask == 0)
|
||||||
@@ -8308,54 +8608,158 @@ ath12k_mac_get_single_legacy_rate(struct
|
@@ -8309,54 +8609,158 @@ ath12k_mac_get_single_legacy_rate(struct
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -864,7 +864,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8384,6 +8788,31 @@ ath12k_mac_vht_mcs_range_present(struct
|
@@ -8385,6 +8789,31 @@ ath12k_mac_vht_mcs_range_present(struct
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -896,7 +896,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
static void ath12k_mac_set_bitrate_mask_iter(void *data,
|
static void ath12k_mac_set_bitrate_mask_iter(void *data,
|
||||||
struct ieee80211_sta *sta)
|
struct ieee80211_sta *sta)
|
||||||
{
|
{
|
||||||
@@ -8423,6 +8852,54 @@ static void ath12k_mac_disable_peer_fixe
|
@@ -8424,6 +8853,54 @@ static void ath12k_mac_disable_peer_fixe
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -951,7 +951,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
ath12k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw,
|
ath12k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw,
|
||||||
struct ieee80211_vif *vif,
|
struct ieee80211_vif *vif,
|
||||||
const struct cfg80211_bitrate_mask *mask)
|
const struct cfg80211_bitrate_mask *mask)
|
||||||
@@ -8433,13 +8910,17 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
@@ -8434,13 +8911,17 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
||||||
enum nl80211_band band;
|
enum nl80211_band band;
|
||||||
const u8 *ht_mcs_mask;
|
const u8 *ht_mcs_mask;
|
||||||
const u16 *vht_mcs_mask;
|
const u16 *vht_mcs_mask;
|
||||||
|
@ -970,7 +970,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
if (ath12k_mac_vif_chan(vif, &def))
|
if (ath12k_mac_vif_chan(vif, &def))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
@@ -8447,6 +8928,7 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
@@ -8448,6 +8929,7 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
||||||
band = def.chan->band;
|
band = def.chan->band;
|
||||||
ht_mcs_mask = mask->control[band].ht_mcs;
|
ht_mcs_mask = mask->control[band].ht_mcs;
|
||||||
vht_mcs_mask = mask->control[band].vht_mcs;
|
vht_mcs_mask = mask->control[band].vht_mcs;
|
||||||
|
@ -978,7 +978,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
ldpc = !!(ar->ht_cap_info & WMI_HT_CAP_LDPC);
|
ldpc = !!(ar->ht_cap_info & WMI_HT_CAP_LDPC);
|
||||||
|
|
||||||
sgi = mask->control[band].gi;
|
sgi = mask->control[band].gi;
|
||||||
@@ -8455,6 +8937,9 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
@@ -8456,6 +8938,9 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -988,7 +988,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
/* mac80211 doesn't support sending a fixed HT/VHT MCS alone, rather it
|
/* mac80211 doesn't support sending a fixed HT/VHT MCS alone, rather it
|
||||||
* requires passing at least one of used basic rates along with them.
|
* requires passing at least one of used basic rates along with them.
|
||||||
* Fixed rate setting across different preambles(legacy, HT, VHT) is
|
* Fixed rate setting across different preambles(legacy, HT, VHT) is
|
||||||
@@ -8474,15 +8959,27 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
@@ -8475,15 +8960,27 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
||||||
ieee80211_iterate_stations_mtx(hw,
|
ieee80211_iterate_stations_mtx(hw,
|
||||||
ath12k_mac_disable_peer_fixed_rate,
|
ath12k_mac_disable_peer_fixed_rate,
|
||||||
arvif);
|
arvif);
|
||||||
|
@ -1020,7 +1020,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
/* If multiple rates across different preambles are given
|
/* If multiple rates across different preambles are given
|
||||||
* we can reconfigure this info with all peers using PEER_ASSOC
|
* we can reconfigure this info with all peers using PEER_ASSOC
|
||||||
@@ -8518,12 +9015,22 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
@@ -8519,12 +9016,22 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1045,7 +1045,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
arvif->bitrate_mask = *mask;
|
arvif->bitrate_mask = *mask;
|
||||||
ieee80211_iterate_stations_mtx(hw,
|
ieee80211_iterate_stations_mtx(hw,
|
||||||
ath12k_mac_set_bitrate_mask_iter,
|
ath12k_mac_set_bitrate_mask_iter,
|
||||||
@@ -8534,9 +9041,10 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
@@ -8535,9 +9042,10 @@ ath12k_mac_op_set_bitrate_mask(struct ie
|
||||||
|
|
||||||
mutex_lock(&ar->conf_mutex);
|
mutex_lock(&ar->conf_mutex);
|
||||||
|
|
||||||
|
|
|
@ -200,7 +200,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_80)
|
if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_80)
|
||||||
@@ -5805,8 +5779,6 @@ static void ath12k_mac_set_hemcsmap(stru
|
@@ -5806,8 +5780,6 @@ static void ath12k_mac_set_hemcsmap(stru
|
||||||
mcs_nss->tx_mcs_80 = cpu_to_le16(txmcs_map & 0xffff);
|
mcs_nss->tx_mcs_80 = cpu_to_le16(txmcs_map & 0xffff);
|
||||||
mcs_nss->rx_mcs_160 = cpu_to_le16(rxmcs_map & 0xffff);
|
mcs_nss->rx_mcs_160 = cpu_to_le16(rxmcs_map & 0xffff);
|
||||||
mcs_nss->tx_mcs_160 = cpu_to_le16(txmcs_map & 0xffff);
|
mcs_nss->tx_mcs_160 = cpu_to_le16(txmcs_map & 0xffff);
|
||||||
|
@ -209,7 +209,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ath12k_mac_copy_he_cap(struct ath12k *ar,
|
static void ath12k_mac_copy_he_cap(struct ath12k *ar,
|
||||||
@@ -5828,6 +5800,7 @@ static void ath12k_mac_copy_he_cap(struc
|
@@ -5829,6 +5801,7 @@ static void ath12k_mac_copy_he_cap(struc
|
||||||
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G |
|
||||||
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
|
||||||
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G;
|
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G;
|
||||||
|
@ -217,7 +217,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
he_cap_elem->phy_cap_info[0] &=
|
he_cap_elem->phy_cap_info[0] &=
|
||||||
~IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G;
|
~IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_80PLUS80_MHZ_IN_5G;
|
||||||
he_cap_elem->phy_cap_info[5] &=
|
he_cap_elem->phy_cap_info[5] &=
|
||||||
@@ -8494,10 +8467,6 @@ static __le16
|
@@ -8495,10 +8468,6 @@ static __le16
|
||||||
ath12k_mac_get_tx_mcs_map(const struct ieee80211_sta_he_cap *he_cap)
|
ath12k_mac_get_tx_mcs_map(const struct ieee80211_sta_he_cap *he_cap)
|
||||||
{
|
{
|
||||||
if (he_cap->he_cap_elem.phy_cap_info[0] &
|
if (he_cap->he_cap_elem.phy_cap_info[0] &
|
||||||
|
|
|
@ -263,7 +263,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
ath12k_peer_assoc_h_smps(sta, arg);
|
ath12k_peer_assoc_h_smps(sta, arg);
|
||||||
|
|
||||||
/* TODO: amsdu_disable req? */
|
/* TODO: amsdu_disable req? */
|
||||||
@@ -5551,10 +5612,8 @@ ath12k_create_vht_cap(struct ath12k *ar,
|
@@ -5552,10 +5613,8 @@ ath12k_create_vht_cap(struct ath12k *ar,
|
||||||
|
|
||||||
ath12k_set_vht_txbf_cap(ar, &vht_cap.cap);
|
ath12k_set_vht_txbf_cap(ar, &vht_cap.cap);
|
||||||
|
|
||||||
|
@ -276,7 +276,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
rxmcs_map = 0;
|
rxmcs_map = 0;
|
||||||
txmcs_map = 0;
|
txmcs_map = 0;
|
||||||
@@ -9710,7 +9769,8 @@ static int ath12k_mac_setup_iface_combin
|
@@ -9711,7 +9770,8 @@ static int ath12k_mac_setup_iface_combin
|
||||||
combinations[0].radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
|
combinations[0].radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
|
||||||
BIT(NL80211_CHAN_WIDTH_20) |
|
BIT(NL80211_CHAN_WIDTH_20) |
|
||||||
BIT(NL80211_CHAN_WIDTH_40) |
|
BIT(NL80211_CHAN_WIDTH_40) |
|
||||||
|
@ -286,7 +286,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
|
|
||||||
wiphy->iface_combinations = combinations;
|
wiphy->iface_combinations = combinations;
|
||||||
wiphy->n_iface_combinations = 1;
|
wiphy->n_iface_combinations = 1;
|
||||||
@@ -9926,6 +9986,9 @@ static int ath12k_mac_hw_register(struct
|
@@ -9927,6 +9987,9 @@ static int ath12k_mac_hw_register(struct
|
||||||
ieee80211_hw_set(hw, SUPPORTS_TX_FRAG);
|
ieee80211_hw_set(hw, SUPPORTS_TX_FRAG);
|
||||||
ieee80211_hw_set(hw, REPORTS_LOW_ACK);
|
ieee80211_hw_set(hw, REPORTS_LOW_ACK);
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
arg->peer_bw_rxnss_override = ATH12K_BW_NSS_MAP_ENABLE;
|
arg->peer_bw_rxnss_override = ATH12K_BW_NSS_MAP_ENABLE;
|
||||||
|
|
||||||
if (!rx_nss) {
|
if (!rx_nss) {
|
||||||
@@ -5635,6 +5637,12 @@ ath12k_create_vht_cap(struct ath12k *ar,
|
@@ -5636,6 +5638,12 @@ ath12k_create_vht_cap(struct ath12k *ar,
|
||||||
vht_cap.vht_mcs.rx_mcs_map = cpu_to_le16(rxmcs_map);
|
vht_cap.vht_mcs.rx_mcs_map = cpu_to_le16(rxmcs_map);
|
||||||
vht_cap.vht_mcs.tx_mcs_map = cpu_to_le16(txmcs_map);
|
vht_cap.vht_mcs.tx_mcs_map = cpu_to_le16(txmcs_map);
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
return vht_cap;
|
return vht_cap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5815,11 +5823,12 @@ static void ath12k_mac_set_hemcsmap(stru
|
@@ -5816,11 +5824,12 @@ static void ath12k_mac_set_hemcsmap(stru
|
||||||
struct ieee80211_sta_he_cap *he_cap)
|
struct ieee80211_sta_he_cap *he_cap)
|
||||||
{
|
{
|
||||||
struct ieee80211_he_mcs_nss_supp *mcs_nss = &he_cap->he_mcs_nss_supp;
|
struct ieee80211_he_mcs_nss_supp *mcs_nss = &he_cap->he_mcs_nss_supp;
|
||||||
|
@ -162,7 +162,7 @@ Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
if (i < ar->num_tx_chains &&
|
if (i < ar->num_tx_chains &&
|
||||||
(ar->cfg_tx_chainmask >> cap->tx_chain_mask_shift) & BIT(i))
|
(ar->cfg_tx_chainmask >> cap->tx_chain_mask_shift) & BIT(i))
|
||||||
@@ -5832,12 +5841,24 @@ static void ath12k_mac_set_hemcsmap(stru
|
@@ -5833,12 +5842,24 @@ static void ath12k_mac_set_hemcsmap(stru
|
||||||
rxmcs_map |= IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2);
|
rxmcs_map |= IEEE80211_HE_MCS_SUPPORT_0_11 << (i * 2);
|
||||||
else
|
else
|
||||||
rxmcs_map |= IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2);
|
rxmcs_map |= IEEE80211_HE_MCS_NOT_SUPPORTED << (i * 2);
|
||||||
|
|
|
@ -43,8 +43,8 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
+compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o backport-genetlink.o
|
+compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o backport-genetlink.o
|
||||||
+compat-$(CPTCFG_KERNEL_6_1) += backport-genetlink.o
|
+compat-$(CPTCFG_KERNEL_6_1) += backport-genetlink.o
|
||||||
compat-$(CPTCFG_KERNEL_6_4) += backport-6.4.o
|
compat-$(CPTCFG_KERNEL_6_4) += backport-6.4.o
|
||||||
|
compat-$(CPTCFG_KERNEL_6_11) += backport-6.11.o
|
||||||
|
|
||||||
compat-$(CPTCFG_BPAUTO_BUILD_CRYPTO_LIB_ARC4) += lib-crypto-arc4.o
|
|
||||||
--- a/compat/backport-genetlink.c
|
--- a/compat/backport-genetlink.c
|
||||||
+++ b/compat/backport-genetlink.c
|
+++ b/compat/backport-genetlink.c
|
||||||
@@ -17,6 +17,7 @@
|
@@ -17,6 +17,7 @@
|
||||||
|
|
Loading…
Reference in a new issue