* [PATCH 0/2] mac80211/ath11k: add FEC type in radiotap header
@ 2021-11-30 17:50 ` P Praneesh
0 siblings, 0 replies; 14+ messages in thread
From: P Praneesh @ 2021-11-30 17:50 UTC (permalink / raw)
To: ath11k, johannes; +Cc: linux-wireless, P Praneesh
This patch series adds LDPC FEC type in 802.11 radiotap header
in the captured packets.
P Praneesh (2):
mac80211: fix FEC flag in radio tap header
ath11k: add LDPC FEC type in 802.11 radiotap header
drivers/net/wireless/ath/ath11k/dp_rx.c | 12 +++++++++++-
drivers/net/wireless/ath/ath11k/hw.c | 16 ++++++++++++++++
drivers/net/wireless/ath/ath11k/hw.h | 1 +
net/mac80211/rx.c | 7 ++++++-
4 files changed, 34 insertions(+), 2 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 0/2] mac80211/ath11k: add FEC type in radiotap header
@ 2021-11-30 17:50 ` P Praneesh
0 siblings, 0 replies; 14+ messages in thread
From: P Praneesh @ 2021-11-30 17:50 UTC (permalink / raw)
To: ath11k, johannes; +Cc: linux-wireless, P Praneesh
This patch series adds LDPC FEC type in 802.11 radiotap header
in the captured packets.
P Praneesh (2):
mac80211: fix FEC flag in radio tap header
ath11k: add LDPC FEC type in 802.11 radiotap header
drivers/net/wireless/ath/ath11k/dp_rx.c | 12 +++++++++++-
drivers/net/wireless/ath/ath11k/hw.c | 16 ++++++++++++++++
drivers/net/wireless/ath/ath11k/hw.h | 1 +
net/mac80211/rx.c | 7 ++++++-
4 files changed, 34 insertions(+), 2 deletions(-)
--
2.7.4
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/2] mac80211: fix FEC flag in radio tap header
2021-11-30 17:50 ` P Praneesh
@ 2021-11-30 17:50 ` P Praneesh
-1 siblings, 0 replies; 14+ messages in thread
From: P Praneesh @ 2021-11-30 17:50 UTC (permalink / raw)
To: ath11k, johannes; +Cc: linux-wireless, P Praneesh
In mac80211, while building radiotap header
IEEE80211_RADIOTAP_MCS_HAVE_FEC flag is missing when LDPC enabled
from driver, hence LDPC is not updated properly in radiotap header.
Fix that by adding HAVE_FEC flag while building radiotap header.
Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
---
net/mac80211/rx.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 9541a4c..be12fa8 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -465,7 +465,12 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
unsigned int stbc;
rthdr->it_present |= cpu_to_le32(BIT(IEEE80211_RADIOTAP_MCS));
- *pos++ = local->hw.radiotap_mcs_details;
+ *pos = local->hw.radiotap_mcs_details;
+ if (status->enc_flags & RX_ENC_FLAG_HT_GF)
+ *pos |= IEEE80211_RADIOTAP_MCS_HAVE_FMT;
+ if (status->enc_flags & RX_ENC_FLAG_LDPC)
+ *pos |= IEEE80211_RADIOTAP_MCS_HAVE_FEC;
+ pos++;
*pos = 0;
if (status->enc_flags & RX_ENC_FLAG_SHORT_GI)
*pos |= IEEE80211_RADIOTAP_MCS_SGI;
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 1/2] mac80211: fix FEC flag in radio tap header
@ 2021-11-30 17:50 ` P Praneesh
0 siblings, 0 replies; 14+ messages in thread
From: P Praneesh @ 2021-11-30 17:50 UTC (permalink / raw)
To: ath11k, johannes; +Cc: linux-wireless, P Praneesh
In mac80211, while building radiotap header
IEEE80211_RADIOTAP_MCS_HAVE_FEC flag is missing when LDPC enabled
from driver, hence LDPC is not updated properly in radiotap header.
Fix that by adding HAVE_FEC flag while building radiotap header.
Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
---
net/mac80211/rx.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 9541a4c..be12fa8 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -465,7 +465,12 @@ ieee80211_add_rx_radiotap_header(struct ieee80211_local *local,
unsigned int stbc;
rthdr->it_present |= cpu_to_le32(BIT(IEEE80211_RADIOTAP_MCS));
- *pos++ = local->hw.radiotap_mcs_details;
+ *pos = local->hw.radiotap_mcs_details;
+ if (status->enc_flags & RX_ENC_FLAG_HT_GF)
+ *pos |= IEEE80211_RADIOTAP_MCS_HAVE_FMT;
+ if (status->enc_flags & RX_ENC_FLAG_LDPC)
+ *pos |= IEEE80211_RADIOTAP_MCS_HAVE_FEC;
+ pos++;
*pos = 0;
if (status->enc_flags & RX_ENC_FLAG_SHORT_GI)
*pos |= IEEE80211_RADIOTAP_MCS_SGI;
--
2.7.4
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
2021-11-30 17:50 ` P Praneesh
@ 2021-11-30 17:50 ` P Praneesh
-1 siblings, 0 replies; 14+ messages in thread
From: P Praneesh @ 2021-11-30 17:50 UTC (permalink / raw)
To: ath11k, johannes; +Cc: linux-wireless, P Praneesh
LDPC is one the FEC type advertised in msdu_start info2 for HT packet
type. Hence, add hardware specific callback for fetching LDPC
support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
rx status to mac80211.
Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
---
drivers/net/wireless/ath/ath11k/dp_rx.c | 12 +++++++++++-
drivers/net/wireless/ath/ath11k/hw.c | 16 ++++++++++++++++
drivers/net/wireless/ath/ath11k/hw.h | 1 +
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index 40f1c86..ed14a90 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -43,6 +43,13 @@ static inline u8 ath11k_dp_rx_h_msdu_start_decap_type(struct ath11k_base *ab,
}
static inline
+bool ath11k_dp_rx_h_msdu_start_ldpc_support(struct ath11k_base *ab,
+ struct hal_rx_desc *desc)
+{
+ return ab->hw_params.hw_ops->rx_desc_get_ldpc_support(desc);
+}
+
+static inline
u8 ath11k_dp_rx_h_msdu_start_mesh_ctl_present(struct ath11k_base *ab,
struct hal_rx_desc *desc)
{
@@ -2331,7 +2338,7 @@ static void ath11k_dp_rx_h_rate(struct ath11k *ar, struct hal_rx_desc *rx_desc,
u8 bw;
u8 rate_mcs, nss;
u8 sgi;
- bool is_cck;
+ bool is_cck, is_ldpc;
pkt_type = ath11k_dp_rx_h_msdu_start_pkt_type(ar->ab, rx_desc);
bw = ath11k_dp_rx_h_msdu_start_rx_bw(ar->ab, rx_desc);
@@ -2373,6 +2380,9 @@ static void ath11k_dp_rx_h_rate(struct ath11k *ar, struct hal_rx_desc *rx_desc,
if (sgi)
rx_status->enc_flags |= RX_ENC_FLAG_SHORT_GI;
rx_status->bw = ath11k_mac_bw_to_mac80211_bw(bw);
+ is_ldpc = ath11k_dp_rx_h_msdu_start_ldpc_support(ar->ab, rx_desc);
+ if (is_ldpc)
+ rx_status->enc_flags |= RX_ENC_FLAG_LDPC;
break;
case RX_MSDU_START_PKT_TYPE_11AX:
rx_status->rate_idx = rate_mcs;
diff --git a/drivers/net/wireless/ath/ath11k/hw.c b/drivers/net/wireless/ath/ath11k/hw.c
index 2f0b526..25e902d 100644
--- a/drivers/net/wireless/ath/ath11k/hw.c
+++ b/drivers/net/wireless/ath/ath11k/hw.c
@@ -273,6 +273,12 @@ static u8 ath11k_hw_ipq8074_rx_desc_get_mesh_ctl(struct hal_rx_desc *desc)
__le32_to_cpu(desc->u.ipq8074.msdu_start.info2));
}
+static bool ath11k_hw_ipq8074_rx_desc_get_ldpc_support(struct hal_rx_desc *desc)
+{
+ return FIELD_GET(RX_MSDU_START_INFO2_LDPC,
+ __le32_to_cpu(desc->u.ipq8074.msdu_start.info2));
+}
+
static bool ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld(struct hal_rx_desc *desc)
{
return !!FIELD_GET(RX_MPDU_START_INFO1_MPDU_SEQ_CTRL_VALID,
@@ -444,6 +450,12 @@ static u8 ath11k_hw_qcn9074_rx_desc_get_mesh_ctl(struct hal_rx_desc *desc)
__le32_to_cpu(desc->u.qcn9074.msdu_start.info2));
}
+static bool ath11k_hw_qcn9074_rx_desc_get_ldpc_support(struct hal_rx_desc *desc)
+{
+ return FIELD_GET(RX_MSDU_START_INFO2_LDPC,
+ __le32_to_cpu(desc->u.qcn9074.msdu_start.info2));
+}
+
static bool ath11k_hw_qcn9074_rx_desc_get_mpdu_seq_ctl_vld(struct hal_rx_desc *desc)
{
return !!FIELD_GET(RX_MPDU_START_INFO11_MPDU_SEQ_CTRL_VALID,
@@ -815,6 +827,7 @@ const struct ath11k_hw_ops ipq8074_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_ipq8074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_ipq8074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_ipq8074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_ipq8074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_ipq8074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_ipq8074_rx_desc_get_mpdu_start_seq_no,
@@ -853,6 +866,7 @@ const struct ath11k_hw_ops ipq6018_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_ipq8074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_ipq8074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_ipq8074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_ipq8074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_ipq8074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_ipq8074_rx_desc_get_mpdu_start_seq_no,
@@ -891,6 +905,7 @@ const struct ath11k_hw_ops qca6390_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_ipq8074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_ipq8074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_ipq8074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_ipq8074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_ipq8074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_ipq8074_rx_desc_get_mpdu_start_seq_no,
@@ -929,6 +944,7 @@ const struct ath11k_hw_ops qcn9074_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_qcn9074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_qcn9074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_qcn9074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_qcn9074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_qcn9074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_qcn9074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_qcn9074_rx_desc_get_mpdu_start_seq_no,
diff --git a/drivers/net/wireless/ath/ath11k/hw.h b/drivers/net/wireless/ath/ath11k/hw.h
index 2c9d232..e025eda 100644
--- a/drivers/net/wireless/ath/ath11k/hw.h
+++ b/drivers/net/wireless/ath/ath11k/hw.h
@@ -199,6 +199,7 @@ struct ath11k_hw_ops {
u32 (*rx_desc_get_encrypt_type)(struct hal_rx_desc *desc);
u8 (*rx_desc_get_decap_type)(struct hal_rx_desc *desc);
u8 (*rx_desc_get_mesh_ctl)(struct hal_rx_desc *desc);
+ bool (*rx_desc_get_ldpc_support)(struct hal_rx_desc *desc);
bool (*rx_desc_get_mpdu_seq_ctl_vld)(struct hal_rx_desc *desc);
bool (*rx_desc_get_mpdu_fc_valid)(struct hal_rx_desc *desc);
u16 (*rx_desc_get_mpdu_start_seq_no)(struct hal_rx_desc *desc);
--
2.7.4
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
@ 2021-11-30 17:50 ` P Praneesh
0 siblings, 0 replies; 14+ messages in thread
From: P Praneesh @ 2021-11-30 17:50 UTC (permalink / raw)
To: ath11k, johannes; +Cc: linux-wireless, P Praneesh
LDPC is one the FEC type advertised in msdu_start info2 for HT packet
type. Hence, add hardware specific callback for fetching LDPC
support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
rx status to mac80211.
Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
---
drivers/net/wireless/ath/ath11k/dp_rx.c | 12 +++++++++++-
drivers/net/wireless/ath/ath11k/hw.c | 16 ++++++++++++++++
drivers/net/wireless/ath/ath11k/hw.h | 1 +
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index 40f1c86..ed14a90 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -43,6 +43,13 @@ static inline u8 ath11k_dp_rx_h_msdu_start_decap_type(struct ath11k_base *ab,
}
static inline
+bool ath11k_dp_rx_h_msdu_start_ldpc_support(struct ath11k_base *ab,
+ struct hal_rx_desc *desc)
+{
+ return ab->hw_params.hw_ops->rx_desc_get_ldpc_support(desc);
+}
+
+static inline
u8 ath11k_dp_rx_h_msdu_start_mesh_ctl_present(struct ath11k_base *ab,
struct hal_rx_desc *desc)
{
@@ -2331,7 +2338,7 @@ static void ath11k_dp_rx_h_rate(struct ath11k *ar, struct hal_rx_desc *rx_desc,
u8 bw;
u8 rate_mcs, nss;
u8 sgi;
- bool is_cck;
+ bool is_cck, is_ldpc;
pkt_type = ath11k_dp_rx_h_msdu_start_pkt_type(ar->ab, rx_desc);
bw = ath11k_dp_rx_h_msdu_start_rx_bw(ar->ab, rx_desc);
@@ -2373,6 +2380,9 @@ static void ath11k_dp_rx_h_rate(struct ath11k *ar, struct hal_rx_desc *rx_desc,
if (sgi)
rx_status->enc_flags |= RX_ENC_FLAG_SHORT_GI;
rx_status->bw = ath11k_mac_bw_to_mac80211_bw(bw);
+ is_ldpc = ath11k_dp_rx_h_msdu_start_ldpc_support(ar->ab, rx_desc);
+ if (is_ldpc)
+ rx_status->enc_flags |= RX_ENC_FLAG_LDPC;
break;
case RX_MSDU_START_PKT_TYPE_11AX:
rx_status->rate_idx = rate_mcs;
diff --git a/drivers/net/wireless/ath/ath11k/hw.c b/drivers/net/wireless/ath/ath11k/hw.c
index 2f0b526..25e902d 100644
--- a/drivers/net/wireless/ath/ath11k/hw.c
+++ b/drivers/net/wireless/ath/ath11k/hw.c
@@ -273,6 +273,12 @@ static u8 ath11k_hw_ipq8074_rx_desc_get_mesh_ctl(struct hal_rx_desc *desc)
__le32_to_cpu(desc->u.ipq8074.msdu_start.info2));
}
+static bool ath11k_hw_ipq8074_rx_desc_get_ldpc_support(struct hal_rx_desc *desc)
+{
+ return FIELD_GET(RX_MSDU_START_INFO2_LDPC,
+ __le32_to_cpu(desc->u.ipq8074.msdu_start.info2));
+}
+
static bool ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld(struct hal_rx_desc *desc)
{
return !!FIELD_GET(RX_MPDU_START_INFO1_MPDU_SEQ_CTRL_VALID,
@@ -444,6 +450,12 @@ static u8 ath11k_hw_qcn9074_rx_desc_get_mesh_ctl(struct hal_rx_desc *desc)
__le32_to_cpu(desc->u.qcn9074.msdu_start.info2));
}
+static bool ath11k_hw_qcn9074_rx_desc_get_ldpc_support(struct hal_rx_desc *desc)
+{
+ return FIELD_GET(RX_MSDU_START_INFO2_LDPC,
+ __le32_to_cpu(desc->u.qcn9074.msdu_start.info2));
+}
+
static bool ath11k_hw_qcn9074_rx_desc_get_mpdu_seq_ctl_vld(struct hal_rx_desc *desc)
{
return !!FIELD_GET(RX_MPDU_START_INFO11_MPDU_SEQ_CTRL_VALID,
@@ -815,6 +827,7 @@ const struct ath11k_hw_ops ipq8074_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_ipq8074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_ipq8074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_ipq8074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_ipq8074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_ipq8074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_ipq8074_rx_desc_get_mpdu_start_seq_no,
@@ -853,6 +866,7 @@ const struct ath11k_hw_ops ipq6018_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_ipq8074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_ipq8074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_ipq8074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_ipq8074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_ipq8074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_ipq8074_rx_desc_get_mpdu_start_seq_no,
@@ -891,6 +905,7 @@ const struct ath11k_hw_ops qca6390_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_ipq8074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_ipq8074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_ipq8074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_ipq8074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_ipq8074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_ipq8074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_ipq8074_rx_desc_get_mpdu_start_seq_no,
@@ -929,6 +944,7 @@ const struct ath11k_hw_ops qcn9074_ops = {
.rx_desc_get_encrypt_type = ath11k_hw_qcn9074_rx_desc_get_encrypt_type,
.rx_desc_get_decap_type = ath11k_hw_qcn9074_rx_desc_get_decap_type,
.rx_desc_get_mesh_ctl = ath11k_hw_qcn9074_rx_desc_get_mesh_ctl,
+ .rx_desc_get_ldpc_support = ath11k_hw_qcn9074_rx_desc_get_ldpc_support,
.rx_desc_get_mpdu_seq_ctl_vld = ath11k_hw_qcn9074_rx_desc_get_mpdu_seq_ctl_vld,
.rx_desc_get_mpdu_fc_valid = ath11k_hw_qcn9074_rx_desc_get_mpdu_fc_valid,
.rx_desc_get_mpdu_start_seq_no = ath11k_hw_qcn9074_rx_desc_get_mpdu_start_seq_no,
diff --git a/drivers/net/wireless/ath/ath11k/hw.h b/drivers/net/wireless/ath/ath11k/hw.h
index 2c9d232..e025eda 100644
--- a/drivers/net/wireless/ath/ath11k/hw.h
+++ b/drivers/net/wireless/ath/ath11k/hw.h
@@ -199,6 +199,7 @@ struct ath11k_hw_ops {
u32 (*rx_desc_get_encrypt_type)(struct hal_rx_desc *desc);
u8 (*rx_desc_get_decap_type)(struct hal_rx_desc *desc);
u8 (*rx_desc_get_mesh_ctl)(struct hal_rx_desc *desc);
+ bool (*rx_desc_get_ldpc_support)(struct hal_rx_desc *desc);
bool (*rx_desc_get_mpdu_seq_ctl_vld)(struct hal_rx_desc *desc);
bool (*rx_desc_get_mpdu_fc_valid)(struct hal_rx_desc *desc);
u16 (*rx_desc_get_mpdu_start_seq_no)(struct hal_rx_desc *desc);
--
2.7.4
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
2021-11-30 17:50 ` P Praneesh
@ 2021-12-20 19:16 ` Kalle Valo
-1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2021-12-20 19:16 UTC (permalink / raw)
To: P Praneesh; +Cc: ath11k, johannes, linux-wireless, P Praneesh
P Praneesh <quic_ppranees@quicinc.com> wrote:
> LDPC is one the FEC type advertised in msdu_start info2 for HT packet
> type. Hence, add hardware specific callback for fetching LDPC
> support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
> rx status to mac80211.
>
> Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
Depends on:
57553c3a6cfe ("mac80211: fix FEC flag in radio tap header")
Currently in mac80211-next.
--
https://patchwork.kernel.org/project/linux-wireless/patch/1638294648-844-3-git-send-email-quic_ppranees@quicinc.com/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
@ 2021-12-20 19:16 ` Kalle Valo
0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2021-12-20 19:16 UTC (permalink / raw)
To: P Praneesh; +Cc: ath11k, johannes, linux-wireless, P Praneesh
P Praneesh <quic_ppranees@quicinc.com> wrote:
> LDPC is one the FEC type advertised in msdu_start info2 for HT packet
> type. Hence, add hardware specific callback for fetching LDPC
> support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
> rx status to mac80211.
>
> Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
Depends on:
57553c3a6cfe ("mac80211: fix FEC flag in radio tap header")
Currently in mac80211-next.
--
https://patchwork.kernel.org/project/linux-wireless/patch/1638294648-844-3-git-send-email-quic_ppranees@quicinc.com/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
2021-12-20 19:16 ` Kalle Valo
@ 2021-12-20 19:59 ` Johannes Berg
-1 siblings, 0 replies; 14+ messages in thread
From: Johannes Berg @ 2021-12-20 19:59 UTC (permalink / raw)
To: Kalle Valo, P Praneesh; +Cc: ath11k, linux-wireless
On Mon, 2021-12-20 at 19:16 +0000, Kalle Valo wrote:
> P Praneesh <quic_ppranees@quicinc.com> wrote:
>
> > LDPC is one the FEC type advertised in msdu_start info2 for HT packet
> > type. Hence, add hardware specific callback for fetching LDPC
> > support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
> > rx status to mac80211.
> >
> > Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
> >
> > Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
>
> Depends on:
>
> 57553c3a6cfe ("mac80211: fix FEC flag in radio tap header")
>
Technically, you could apply it, it just won't be very useful until you
have both together.
johannes
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
@ 2021-12-20 19:59 ` Johannes Berg
0 siblings, 0 replies; 14+ messages in thread
From: Johannes Berg @ 2021-12-20 19:59 UTC (permalink / raw)
To: Kalle Valo, P Praneesh; +Cc: ath11k, linux-wireless
On Mon, 2021-12-20 at 19:16 +0000, Kalle Valo wrote:
> P Praneesh <quic_ppranees@quicinc.com> wrote:
>
> > LDPC is one the FEC type advertised in msdu_start info2 for HT packet
> > type. Hence, add hardware specific callback for fetching LDPC
> > support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
> > rx status to mac80211.
> >
> > Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
> >
> > Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
>
> Depends on:
>
> 57553c3a6cfe ("mac80211: fix FEC flag in radio tap header")
>
Technically, you could apply it, it just won't be very useful until you
have both together.
johannes
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
2021-12-20 19:59 ` Johannes Berg
@ 2021-12-21 9:57 ` Kalle Valo
-1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2021-12-21 9:57 UTC (permalink / raw)
To: Johannes Berg; +Cc: P Praneesh, ath11k, linux-wireless
Johannes Berg <johannes@sipsolutions.net> writes:
> On Mon, 2021-12-20 at 19:16 +0000, Kalle Valo wrote:
>> P Praneesh <quic_ppranees@quicinc.com> wrote:
>>
>> > LDPC is one the FEC type advertised in msdu_start info2 for HT packet
>> > type. Hence, add hardware specific callback for fetching LDPC
>> > support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
>> > rx status to mac80211.
>> >
>> > Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>> >
>> > Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
>>
>> Depends on:
>>
>> 57553c3a6cfe ("mac80211: fix FEC flag in radio tap header")
>
> Technically, you could apply it, it just won't be very useful until you
> have both together.
Ok, thanks. But to keep things simple I'll still wait for the mac80211
patch to land ath-next.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
@ 2021-12-21 9:57 ` Kalle Valo
0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2021-12-21 9:57 UTC (permalink / raw)
To: Johannes Berg; +Cc: P Praneesh, ath11k, linux-wireless
Johannes Berg <johannes@sipsolutions.net> writes:
> On Mon, 2021-12-20 at 19:16 +0000, Kalle Valo wrote:
>> P Praneesh <quic_ppranees@quicinc.com> wrote:
>>
>> > LDPC is one the FEC type advertised in msdu_start info2 for HT packet
>> > type. Hence, add hardware specific callback for fetching LDPC
>> > support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
>> > rx status to mac80211.
>> >
>> > Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>> >
>> > Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
>>
>> Depends on:
>>
>> 57553c3a6cfe ("mac80211: fix FEC flag in radio tap header")
>
> Technically, you could apply it, it just won't be very useful until you
> have both together.
Ok, thanks. But to keep things simple I'll still wait for the mac80211
patch to land ath-next.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
2021-11-30 17:50 ` P Praneesh
@ 2022-01-12 8:06 ` Kalle Valo
-1 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2022-01-12 8:06 UTC (permalink / raw)
To: P Praneesh; +Cc: ath11k, johannes, linux-wireless, P Praneesh
P Praneesh <quic_ppranees@quicinc.com> wrote:
> LDPC is one the FEC type advertised in msdu_start info2 for HT packet
> type. Hence, add hardware specific callback for fetching LDPC
> support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
> rx status to mac80211.
>
> Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Patch applied to ath-next branch of ath.git, thanks.
b3febdccde3e ath11k: add LDPC FEC type in 802.11 radiotap header
--
https://patchwork.kernel.org/project/linux-wireless/patch/1638294648-844-3-git-send-email-quic_ppranees@quicinc.com/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header
@ 2022-01-12 8:06 ` Kalle Valo
0 siblings, 0 replies; 14+ messages in thread
From: Kalle Valo @ 2022-01-12 8:06 UTC (permalink / raw)
To: P Praneesh; +Cc: ath11k, johannes, linux-wireless, P Praneesh
P Praneesh <quic_ppranees@quicinc.com> wrote:
> LDPC is one the FEC type advertised in msdu_start info2 for HT packet
> type. Hence, add hardware specific callback for fetching LDPC
> support from msdu start and enable RX_ENC_FLAG_LDPC flag while passing
> rx status to mac80211.
>
> Tested-on: IPQ8074 WLAN.HK.2.4.0.1-01467-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: P Praneesh <quic_ppranees@quicinc.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Patch applied to ath-next branch of ath.git, thanks.
b3febdccde3e ath11k: add LDPC FEC type in 802.11 radiotap header
--
https://patchwork.kernel.org/project/linux-wireless/patch/1638294648-844-3-git-send-email-quic_ppranees@quicinc.com/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-01-12 8:07 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-30 17:50 [PATCH 0/2] mac80211/ath11k: add FEC type in radiotap header P Praneesh
2021-11-30 17:50 ` P Praneesh
2021-11-30 17:50 ` [PATCH 1/2] mac80211: fix FEC flag in radio tap header P Praneesh
2021-11-30 17:50 ` P Praneesh
2021-11-30 17:50 ` [PATCH 2/2] ath11k: add LDPC FEC type in 802.11 radiotap header P Praneesh
2021-11-30 17:50 ` P Praneesh
2021-12-20 19:16 ` Kalle Valo
2021-12-20 19:16 ` Kalle Valo
2021-12-20 19:59 ` Johannes Berg
2021-12-20 19:59 ` Johannes Berg
2021-12-21 9:57 ` Kalle Valo
2021-12-21 9:57 ` Kalle Valo
2022-01-12 8:06 ` Kalle Valo
2022-01-12 8:06 ` Kalle Valo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.