Message ID | 20200604070952.15481-13-john@phrozen.org (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | mac80211: add multiple bssid support | expand |
John Crispin <john@phrozen.org> writes: > This patch sets the SUPPORTS_MULTI_BSSID inside ath11k. > > Signed-off-by: John Crispin <john@phrozen.org> On what hardware and firmware did you test this? > --- a/drivers/net/wireless/ath/ath11k/wmi.h > +++ b/drivers/net/wireless/ath/ath11k/wmi.h > @@ -109,8 +109,8 @@ enum { > > enum { > WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP = 1, > - WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 2, > - WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 4, > + WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 2, > + WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 4, I wonder if this is a safe thing to do? Do all firmware branches use these new values?
On 08.06.20 13:09, Kalle Valo wrote: > John Crispin <john@phrozen.org> writes: > >> This patch sets the SUPPORTS_MULTI_BSSID inside ath11k. >> >> Signed-off-by: John Crispin <john@phrozen.org> > > On what hardware and firmware did you test this? > >> --- a/drivers/net/wireless/ath/ath11k/wmi.h >> +++ b/drivers/net/wireless/ath/ath11k/wmi.h >> @@ -109,8 +109,8 @@ enum { >> >> enum { >> WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP = 1, >> - WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 2, >> - WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 4, >> + WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 2, >> + WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 4, > > I wonder if this is a safe thing to do? Do all firmware branches use > these new values? > Hi, looks like i folded the fix patch into the wrong patch. these values get added in this same patchset. Johannes commented on the nl80211 part already and i will send out a V2 this week. John
On 2020-06-04 00:09, John Crispin wrote: > This patch sets the SUPPORTS_MULTI_BSSID inside ath11k. > > Signed-off-by: John Crispin <john@phrozen.org> > [...] > diff --git a/drivers/net/wireless/ath/ath11k/wmi.h > b/drivers/net/wireless/ath/ath11k/wmi.h > index 548fa05cb1f6..14cffda43ed0 100644 > --- a/drivers/net/wireless/ath/ath11k/wmi.h > +++ b/drivers/net/wireless/ath/ath11k/wmi.h > @@ -109,8 +109,8 @@ enum { > > enum { > WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP = 1, > - WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 2, > - WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 4, > + WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 2, > + WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 4, > }; > John, Not sure how you got the above values? Please confirm. #define VDEV_FLAGS_NON_MBSSID_AP 0x00000001 /* legacy AP */ #define VDEV_FLAGS_TRANSMIT_AP 0x00000002 /* indicate if this vdev is transmitting AP */ #define VDEV_FLAGS_NON_TRANSMIT_AP 0x00000004 /* explicitly indicate this vdev is non-transmitting AP */ #define VDEV_FLAGS_EMA_MODE 0x00000008 /* vdev is EMA and supports multiple beacon profiles. */ -Rajkumar
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 8ec11c654b3e..55876600b7c5 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -5980,17 +5980,20 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar, static const u8 ath11k_if_types_ext_capa[] = { [0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING, + [2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT, [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF, }; static const u8 ath11k_if_types_ext_capa_sta[] = { [0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING, + [2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT, [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF, [9] = WLAN_EXT_CAPA10_TWT_REQUESTER_SUPPORT, }; static const u8 ath11k_if_types_ext_capa_ap[] = { [0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING, + [2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT, [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF, [9] = WLAN_EXT_CAPA10_TWT_RESPONDER_SUPPORT, }; @@ -6101,6 +6104,7 @@ static int __ath11k_mac_register(struct ath11k *ar) ieee80211_hw_set(ar->hw, QUEUE_CONTROL); ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG); ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK); + ieee80211_hw_set(ar->hw, SUPPORTS_MULTI_BSSID); if (ht_cap & WMI_HT_CAP_ENABLED) { ieee80211_hw_set(ar->hw, AMPDU_AGGREGATION); ieee80211_hw_set(ar->hw, TX_AMPDU_SETUP_IN_HW); diff --git a/drivers/net/wireless/ath/ath11k/wmi.h b/drivers/net/wireless/ath/ath11k/wmi.h index 548fa05cb1f6..14cffda43ed0 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.h +++ b/drivers/net/wireless/ath/ath11k/wmi.h @@ -109,8 +109,8 @@ enum { enum { WMI_HOST_VDEV_FLAGS_NON_MBSSID_AP = 1, - WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 2, - WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 4, + WMI_HOST_VDEV_FLAGS_NON_TRANSMIT_AP = 2, + WMI_HOST_VDEV_FLAGS_TRANSMIT_AP = 4, }; /*
This patch sets the SUPPORTS_MULTI_BSSID inside ath11k. Signed-off-by: John Crispin <john@phrozen.org> --- drivers/net/wireless/ath/ath11k/mac.c | 4 ++++ drivers/net/wireless/ath/ath11k/wmi.h | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-)