diff mbox series

[v3,5/8] rtw88: 8723d: 11N chips don't support LDPC

Message ID 20200429095656.19315-6-yhchuang@realtek.com (mailing list archive)
State Changes Requested
Delegated to: Kalle Valo
Headers show
Series rtw88: 8723d: add BB related routines | expand

Commit Message

Tony Chuang April 29, 2020, 9:56 a.m. UTC
From: Ping-Ke Shih <pkshih@realtek.com>

Since 8723D devices don't support LDPC, tell mac80211 not to advertise
LDPC capability to peer.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
---
 drivers/net/wireless/realtek/rtw88/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sebastian Andrzej Siewior April 30, 2020, 10:54 a.m. UTC | #1
On 2020-04-29 17:56:53 [+0800], yhchuang@realtek.com wrote:
> --- a/drivers/net/wireless/realtek/rtw88/main.c
> +++ b/drivers/net/wireless/realtek/rtw88/main.c
> @@ -933,7 +933,7 @@ static void rtw_init_ht_cap(struct rtw_dev *rtwdev,
>  	ht_cap->cap = 0;
>  	ht_cap->cap |= IEEE80211_HT_CAP_SGI_20 |
>  			IEEE80211_HT_CAP_MAX_AMSDU |
> -			IEEE80211_HT_CAP_LDPC_CODING |
> +			(rtw_chip_wcpu_11ac(rtwdev) ? IEEE80211_HT_CAP_LDPC_CODING : 0) |
>  			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);

What about

 	ht_cap->cap = IEEE80211_HT_CAP_SGI_20 |
 			IEEE80211_HT_CAP_MAX_AMSDU |
 			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
	if (rtw_chip_wcpu_11ac(rtwdev))
			ht_cap->cap |= IEEE80211_HT_CAP_LDPC_CODING;
instead?

>  	if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_40))
>  		ht_cap->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40 |

Sebastian
Kalle Valo April 30, 2020, 11:55 a.m. UTC | #2
Sebastian Andrzej Siewior <bigeasy@linutronix.de> writes:

> On 2020-04-29 17:56:53 [+0800], yhchuang@realtek.com wrote:
>> --- a/drivers/net/wireless/realtek/rtw88/main.c
>> +++ b/drivers/net/wireless/realtek/rtw88/main.c
>> @@ -933,7 +933,7 @@ static void rtw_init_ht_cap(struct rtw_dev *rtwdev,
>>  	ht_cap->cap = 0;
>>  	ht_cap->cap |= IEEE80211_HT_CAP_SGI_20 |
>>  			IEEE80211_HT_CAP_MAX_AMSDU |
>> -			IEEE80211_HT_CAP_LDPC_CODING |
>> +			(rtw_chip_wcpu_11ac(rtwdev) ? IEEE80211_HT_CAP_LDPC_CODING : 0) |
>>  			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
>
> What about
>
>  	ht_cap->cap = IEEE80211_HT_CAP_SGI_20 |
>  			IEEE80211_HT_CAP_MAX_AMSDU |
>  			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
> 	if (rtw_chip_wcpu_11ac(rtwdev))
> 			ht_cap->cap |= IEEE80211_HT_CAP_LDPC_CODING;
> instead?

Yes, that's much better. I even missed the '?' operator in my own review
as it was not that visible.
Tony Chuang May 4, 2020, 8:38 a.m. UTC | #3
> Sebastian Andrzej Siewior <bigeasy@linutronix.de> writes:
> 
> > On 2020-04-29 17:56:53 [+0800], yhchuang@realtek.com wrote:
> >> --- a/drivers/net/wireless/realtek/rtw88/main.c
> >> +++ b/drivers/net/wireless/realtek/rtw88/main.c
> >> @@ -933,7 +933,7 @@ static void rtw_init_ht_cap(struct rtw_dev
> *rtwdev,
> >>  	ht_cap->cap = 0;
> >>  	ht_cap->cap |= IEEE80211_HT_CAP_SGI_20 |
> >>  			IEEE80211_HT_CAP_MAX_AMSDU |
> >> -			IEEE80211_HT_CAP_LDPC_CODING |
> >> +			(rtw_chip_wcpu_11ac(rtwdev) ?
> IEEE80211_HT_CAP_LDPC_CODING : 0) |
> >>  			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
> >
> > What about
> >
> >  	ht_cap->cap = IEEE80211_HT_CAP_SGI_20 |
> >  			IEEE80211_HT_CAP_MAX_AMSDU |
> >  			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
> > 	if (rtw_chip_wcpu_11ac(rtwdev))
> > 			ht_cap->cap |= IEEE80211_HT_CAP_LDPC_CODING;
> > instead?
> 
> Yes, that's much better. I even missed the '?' operator in my own review
> as it was not that visible.
> 

Will fix that in v4, thanks.

Yen-Hsuan
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
index b0dadff0dc7b..21371576a6b2 100644
--- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c
@@ -933,7 +933,7 @@  static void rtw_init_ht_cap(struct rtw_dev *rtwdev,
 	ht_cap->cap = 0;
 	ht_cap->cap |= IEEE80211_HT_CAP_SGI_20 |
 			IEEE80211_HT_CAP_MAX_AMSDU |
-			IEEE80211_HT_CAP_LDPC_CODING |
+			(rtw_chip_wcpu_11ac(rtwdev) ? IEEE80211_HT_CAP_LDPC_CODING : 0) |
 			(1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
 	if (efuse->hw_cap.bw & BIT(RTW_CHANNEL_WIDTH_40))
 		ht_cap->cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40 |