diff mbox series

[01/10] wifi: mac80211: Add EHT UL MU-MIMO flag in ieee80211_bss_conf

Message ID 20240325201031.10837-2-quic_pradeepc@quicinc.com (mailing list archive)
State Changes Requested
Delegated to: Johannes Berg
Headers show
Series wifi: ath12k: add MU-MIMO and 160 MHz bandwidth support | expand

Commit Message

Pradeep Kumar Chitrapu March 25, 2024, 8:10 p.m. UTC
Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
to pass EHT MU-MIMO configurations from user space to driver in
AP mode.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
---
 include/net/mac80211.h | 4 ++++
 net/mac80211/cfg.c     | 5 +++++
 2 files changed, 9 insertions(+)

Comments

Jeff Johnson March 25, 2024, 10:10 p.m. UTC | #1
On 3/25/2024 1:10 PM, Pradeep Kumar Chitrapu wrote:
> Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
> to pass EHT MU-MIMO configurations from user space to driver in
> AP mode.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Pradeep Kumar Chitrapu <quic_pradeepc@quicinc.com>
Reviewed-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Johannes Berg March 26, 2024, 1 p.m. UTC | #2
On Mon, 2024-03-25 at 13:10 -0700, Pradeep Kumar Chitrapu wrote:
> Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
> to pass EHT MU-MIMO configurations from user space to driver in
> AP mode.

This ^^ doesn't match this:

> + * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
> + *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
> + *	bandwidth
> 

which doesn't match the implementation ... Wouldn't be a bad idea to
actually do what it documents though, I guess?

johannes
Pradeep Kumar Chitrapu March 26, 2024, 6:31 p.m. UTC | #3
On 3/26/2024 6:00 AM, Johannes Berg wrote:
> On Mon, 2024-03-25 at 13:10 -0700, Pradeep Kumar Chitrapu wrote:
>> Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
>> to pass EHT MU-MIMO configurations from user space to driver in
>> AP mode.
> 
> This ^^ doesn't match this:
> 
>> + * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
>> + *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
>> + *	bandwidth
>>
> 
> which doesn't match the implementation ... Wouldn't be a bad idea to
> actually do what it documents though, I guess?
> 
> johannes
Thanks Johannes for review.
can you please help clarify what you meant by "actually do what it 
documents"? This will help me to amend next revision appropriately.

I have tried to describe what this flag is trying to represent. This is 
part of EHT MU-MIMO capabilities and driver may want to look at this 
flag for MU-MIMO configurations.

Also this follows other parameters added to struct earlier.
example: 
https://patchwork.kernel.org/project/linux-wireless/patch/1665006886-23874-2-git-send-email-quic_msinada@quicinc.com/
Johannes Berg March 26, 2024, 6:32 p.m. UTC | #4
On Tue, 2024-03-26 at 11:31 -0700, Pradeep Kumar Chitrapu wrote:
> 
> On 3/26/2024 6:00 AM, Johannes Berg wrote:
> > On Mon, 2024-03-25 at 13:10 -0700, Pradeep Kumar Chitrapu wrote:
> > > Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
> > > to pass EHT MU-MIMO configurations from user space to driver in
> > > AP mode.
> > 
> > This ^^ doesn't match this:
> > 
> > > + * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
> > > + *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
> > > + *	bandwidth
> > > 
> > 
> > which doesn't match the implementation ... Wouldn't be a bad idea to
> > actually do what it documents though, I guess?
> > 
> Thanks Johannes for review.
> can you please help clarify what you meant by "actually do what it 
> documents"? This will help me to amend next revision appropriately.
> 
> I have tried to describe what this flag is trying to represent.

Yes but ... you document AP and non-AP STA, but only implemented it for
AP?

johannes
Pradeep Kumar Chitrapu March 26, 2024, 6:36 p.m. UTC | #5
On 3/26/2024 11:32 AM, Johannes Berg wrote:
> On Tue, 2024-03-26 at 11:31 -0700, Pradeep Kumar Chitrapu wrote:
>>
>> On 3/26/2024 6:00 AM, Johannes Berg wrote:
>>> On Mon, 2024-03-25 at 13:10 -0700, Pradeep Kumar Chitrapu wrote:
>>>> Add flag for Full Bandwidth UL MU-MIMO for EHT. This is utilized
>>>> to pass EHT MU-MIMO configurations from user space to driver in
>>>> AP mode.
>>>
>>> This ^^ doesn't match this:
>>>
>>>> + * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
>>>> + *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
>>>> + *	bandwidth
>>>>
>>>
>>> which doesn't match the implementation ... Wouldn't be a bad idea to
>>> actually do what it documents though, I guess?
>>>
>> Thanks Johannes for review.
>> can you please help clarify what you meant by "actually do what it
>> documents"? This will help me to amend next revision appropriately.
>>
>> I have tried to describe what this flag is trying to represent.
> 
> Yes but ... you document AP and non-AP STA, but only implemented it for
> AP?
> 
> johannes
Sure. Thanks. will fix this in next revision.
Johannes Berg May 3, 2024, 7:30 a.m. UTC | #6
On Tue, 2024-03-26 at 11:36 -0700, Pradeep Kumar Chitrapu wrote:
> > 
> > Yes but ... you document AP and non-AP STA, but only implemented it for
> > AP?
> > 
> > johannes
> Sure. Thanks. will fix this in next revision.
> 

We got to v3 and you didn't?

johannes
diff mbox series

Patch

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 353488ab94a2..54bd2a988d91 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -701,6 +701,9 @@  struct ieee80211_fils_discovery {
  *	beamformee
  * @eht_mu_beamformer: in AP-mode, does this BSS enable operation as an EHT MU
  *	beamformer
+ * @eht_80mhz_full_bw_ul_mumimo: does this BSS support the reception (AP) or transmission
+ *	(non-AP STA) of an EHT TB PPDU on an RU that spans the entire PPDU
+ *	bandwidth
  */
 struct ieee80211_bss_conf {
 	struct ieee80211_vif *vif;
@@ -793,6 +796,7 @@  struct ieee80211_bss_conf {
 	bool eht_su_beamformer;
 	bool eht_su_beamformee;
 	bool eht_mu_beamformer;
+	bool eht_80mhz_full_bw_ul_mumimo;
 };
 
 /**
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index f03452dc716d..894c7b6ddb0a 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1379,6 +1379,11 @@  static int ieee80211_start_ap(struct wiphy *wiphy, struct net_device *dev,
 				(IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_80MHZ |
 				 IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_160MHZ |
 				 IEEE80211_EHT_PHY_CAP7_MU_BEAMFORMER_320MHZ);
+		link_conf->eht_80mhz_full_bw_ul_mumimo =
+			params->eht_cap->fixed.phy_cap_info[7] &
+				(IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_80MHZ |
+				 IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_160MHZ |
+				 IEEE80211_EHT_PHY_CAP7_NON_OFDMA_UL_MU_MIMO_320MHZ);
 	} else {
 		link_conf->eht_su_beamformer = false;
 		link_conf->eht_su_beamformee = false;