diff mbox series

ath10k: Add a condtion to fill the LDPC capability correctly

Message ID 1548999262-25353-1-git-send-email-svishnoi@codeaurora.org (mailing list archive)
State Accepted
Commit ff488d0ef1c224561d4ec7479de920738aa11e55
Delegated to: Kalle Valo
Headers show
Series ath10k: Add a condtion to fill the LDPC capability correctly | expand

Commit Message

Surabhi Vishnoi Feb. 1, 2019, 5:34 a.m. UTC
The firmware advertises the LDPC support information for HT in
HT capability info in the wmi service ready event. To provide
granularity, firmware now advertises WMI_HT_CAP_RX_LDPC and
WMI_HT_CAP_TX_LDPC separately. To support LDPC, host should
also check for WMI_HT_CAP_RX_LDPC and WMI_HT_CAP_TX_LDPC in HT
capabilities.

Add a condition to existing logic in host to know whether firmware
supports LDPC or not.

Tested HW: WCN3990
Tested SW: WLAN.HL.2.0

Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/mac.c | 3 ++-
 drivers/net/wireless/ath/ath10k/wmi.h | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Kalle Valo Feb. 4, 2019, 3:32 p.m. UTC | #1
Surabhi Vishnoi <svishnoi@codeaurora.org> writes:

> The firmware advertises the LDPC support information for HT in
> HT capability info in the wmi service ready event. To provide
> granularity, firmware now advertises WMI_HT_CAP_RX_LDPC and
> WMI_HT_CAP_TX_LDPC separately. To support LDPC, host should
> also check for WMI_HT_CAP_RX_LDPC and WMI_HT_CAP_TX_LDPC in HT
> capabilities.
>
> Add a condition to existing logic in host to know whether firmware
> supports LDPC or not.
>
> Tested HW: WCN3990
> Tested SW: WLAN.HL.2.0

Can you give exact firmware version you tested, please? I'll add it to
the commit log.

I'll also fix the typo "condtion" in the title.
Kalle Valo Feb. 7, 2019, 9:10 a.m. UTC | #2
+ lists

Surabhi Vishnoi <svishnoi@codeaurora.org> writes:

> On 2019-02-04 21:02, Kalle Valo wrote:
>> Surabhi Vishnoi <svishnoi@codeaurora.org> writes:
>>
>>> The firmware advertises the LDPC support information for HT in
>>> HT capability info in the wmi service ready event. To provide
>>> granularity, firmware now advertises WMI_HT_CAP_RX_LDPC and
>>> WMI_HT_CAP_TX_LDPC separately. To support LDPC, host should
>>> also check for WMI_HT_CAP_RX_LDPC and WMI_HT_CAP_TX_LDPC in HT
>>> capabilities.
>>>
>>> Add a condition to existing logic in host to know whether firmware
>>> supports LDPC or not.
>>>
>>> Tested HW: WCN3990
>>> Tested SW: WLAN.HL.2.0
>>
>> Can you give exact firmware version you tested, please? I'll add it to
>> the commit log.
>>
>> I'll also fix the typo "condtion" in the title.
>
>
> Hi Kalle,
>
> The Fw version tested are:
> Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1,
> WLAN.HL.2.0-01617-QCAHLSWMTPLZ-1

Thanks. But please do not drop the lists, otherwise patchwork won't see
this.
Kalle Valo Feb. 7, 2019, 2:57 p.m. UTC | #3
Surabhi Vishnoi <svishnoi@codeaurora.org> wrote:

> The firmware advertises the LDPC support information for HT in
> HT capability info in the wmi service ready event. To provide
> granularity, firmware now advertises WMI_HT_CAP_RX_LDPC and
> WMI_HT_CAP_TX_LDPC separately. To support LDPC, host should
> also check for WMI_HT_CAP_RX_LDPC and WMI_HT_CAP_TX_LDPC in HT
> capabilities.
> 
> Add a condition to existing logic in host to know whether firmware
> supports LDPC or not.
> 
> Tested HW: WCN3990
> Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1,
>            WLAN.HL.2.0-01617-QCAHLSWMTPLZ-1
> 
> Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

ff488d0ef1c2 ath10k: add a condition to fill the LDPC capability correctly
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index e49b367..1645b1e 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -4549,7 +4549,8 @@  static struct ieee80211_sta_ht_cap ath10k_get_ht_cap(struct ath10k *ar)
 		ht_cap.cap |= stbc;
 	}
 
-	if (ar->ht_cap_info & WMI_HT_CAP_LDPC)
+	if (ar->ht_cap_info & WMI_HT_CAP_LDPC || (ar->ht_cap_info &
+	    WMI_HT_CAP_RX_LDPC && (ar->ht_cap_info & WMI_HT_CAP_TX_LDPC)))
 		ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING;
 
 	if (ar->ht_cap_info & WMI_HT_CAP_L_SIG_TXOP_PROT)
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 427ca79..0aca84e 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -2076,6 +2076,8 @@  enum wmi_channel_change_cause {
 #define WMI_HT_CAP_MPDU_DENSITY           0x0700   /* MPDU Density */
 #define WMI_HT_CAP_MPDU_DENSITY_MASK_SHIFT 8
 #define WMI_HT_CAP_HT40_SGI               0x0800
+#define WMI_HT_CAP_RX_LDPC                0x1000   /* LDPC RX support */
+#define WMI_HT_CAP_TX_LDPC                0x2000   /* LDPC TX support */
 
 #define WMI_HT_CAP_DEFAULT_ALL (WMI_HT_CAP_ENABLED       | \
 				WMI_HT_CAP_HT20_SGI      | \