Message ID | 20220304073443.27730-1-pkshih@realtek.com |
---|---|
State | New |
Headers | show |
Series | rtw89: declare HE capabilities in 6G band | expand |
> -----Original Message----- > From: Johannes Berg <johannes@sipsolutions.net> > Sent: Friday, March 4, 2022 5:20 PM > To: Pkshih <pkshih@realtek.com>; kvalo@kernel.org > Cc: linux-wireless@vger.kernel.org > Subject: Re: [PATCH] rtw89: declare HE capabilities in 6G band > > On Fri, 2022-03-04 at 15:34 +0800, Ping-Ke Shih wrote: > > To work properly in 6G band, declare HE 6G capabilities. Without this fix, > > it can only TX/RX with OFDM rates. > > > > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> > > --- > > drivers/net/wireless/realtek/rtw89/core.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c > > index a0086b14550a8..81c1c28e6e92c 100644 > > --- a/drivers/net/wireless/realtek/rtw89/core.c > > +++ b/drivers/net/wireless/realtek/rtw89/core.c > > @@ -2383,6 +2383,15 @@ static void rtw89_init_he_cap(struct rtw89_dev *rtwdev, > > he_cap->he_mcs_nss_supp.tx_mcs_160 = cpu_to_le16(mcs_map); > > } > > > > + if (band == NL80211_BAND_6GHZ) { > > + __le16 capa; > > + > > + capa = u16_encode_bits(0, IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) | > > > > le16_encode_bits()? I guess sparse would tell. > > But it looks weird with the constants, I guess you mean > > le16_encode_bits(IEEE80211_HT_MPDU_DENSITY_NONE, > IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) | > le16_encode_bits(IEEE80211_VHT_MAX_AMPDU_1024K, ...) | > ... > > (there's documentation in ieee80211.h which value enums should be used) > Thanks for pointing out these. I have fixed them and sent v2. -- Ping-Ke
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index a0086b14550a8..81c1c28e6e92c 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -2383,6 +2383,15 @@ static void rtw89_init_he_cap(struct rtw89_dev *rtwdev, he_cap->he_mcs_nss_supp.tx_mcs_160 = cpu_to_le16(mcs_map); } + if (band == NL80211_BAND_6GHZ) { + __le16 capa; + + capa = u16_encode_bits(0, IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) | + u16_encode_bits(7, IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP) | + u16_encode_bits(1, IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN); + iftype_data[idx].he_6ghz_capa.capa = capa; + } + idx++; }
To work properly in 6G band, declare HE 6G capabilities. Without this fix, it can only TX/RX with OFDM rates. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> --- drivers/net/wireless/realtek/rtw89/core.c | 9 +++++++++ 1 file changed, 9 insertions(+)