mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-20 19:03:39 +00:00
299 lines
10 KiB
Diff
299 lines
10 KiB
Diff
From dd7302d5d68f555251b9aeb82eb44fb463648a36 Mon Sep 17 00:00:00 2001
|
|
From: P Praneesh <ppranees@codeaurora.org>
|
|
Date: Mon, 14 Dec 2020 21:16:42 +0530
|
|
Subject: [PATCH] ath11k: Modify dp_rx desc access wrapper calls inline
|
|
|
|
Modify all the desc access wrapper functions in dp_rx
|
|
file as inline to avoid function call overhead.
|
|
|
|
Signed-off-by: Sriram R <srirrama@codeaurora.org>
|
|
Signed-off-by: P Praneesh <ppranees@codeaurora.org>
|
|
---
|
|
drivers/net/wireless/ath/ath11k/dp_rx.c | 123 ++++++++++++++++----------------
|
|
1 file changed, 61 insertions(+), 62 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
|
|
@@ -21,13 +21,13 @@
|
|
|
|
#define ATH11K_DP_RX_FRAGMENT_TIMEOUT_MS (2 * HZ)
|
|
|
|
-static u8 *ath11k_dp_rx_h_80211_hdr(struct ath11k_base *ab, struct hal_rx_desc *desc)
|
|
+static inline u8 *ath11k_dp_rx_h_80211_hdr(struct ath11k_base *ab, struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_hdr_status(desc);
|
|
}
|
|
|
|
-static enum hal_encrypt_type ath11k_dp_rx_h_mpdu_start_enctype(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline enum hal_encrypt_type ath11k_dp_rx_h_mpdu_start_enctype(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
if (!ab->hw_params.hw_ops->rx_desc_encrypt_valid(desc))
|
|
return HAL_ENCRYPT_TYPE_OPEN;
|
|
@@ -35,25 +35,25 @@ static enum hal_encrypt_type ath11k_dp_r
|
|
return ab->hw_params.hw_ops->rx_desc_get_encrypt_type(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_decap_type(struct ath11k_base *ab,
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_decap_type(struct ath11k_base *ab,
|
|
struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_decap_type(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_mesh_ctl_present(struct ath11k_base *ab,
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_mesh_ctl_present(struct ath11k_base *ab,
|
|
struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mesh_ctl(desc);
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_mpdu_start_seq_ctrl_valid(struct ath11k_base *ab,
|
|
+static inline bool ath11k_dp_rx_h_mpdu_start_seq_ctrl_valid(struct ath11k_base *ab,
|
|
struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_seq_ctl_vld(desc);
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_mpdu_start_fc_valid(struct ath11k_base *ab,
|
|
+static inline bool ath11k_dp_rx_h_mpdu_start_fc_valid(struct ath11k_base *ab,
|
|
struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_fc_valid(desc);
|
|
@@ -65,7 +65,7 @@ static u16 ath11k_dp_rxdesc_get_mpdu_fra
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_frame_ctl(desc);
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_mpdu_start_more_frags(struct ath11k_base *ab,
|
|
+static inline bool ath11k_dp_rx_h_mpdu_start_more_frags(struct ath11k_base *ab,
|
|
struct sk_buff *skb)
|
|
{
|
|
struct ieee80211_hdr *hdr;
|
|
@@ -74,8 +74,8 @@ static bool ath11k_dp_rx_h_mpdu_start_mo
|
|
return ieee80211_has_morefrags(hdr->frame_control);
|
|
}
|
|
|
|
-static u16 ath11k_dp_rx_h_mpdu_start_frag_no(struct ath11k_base *ab,
|
|
- struct sk_buff *skb)
|
|
+static inline u16 ath11k_dp_rx_h_mpdu_start_frag_no(struct ath11k_base *ab,
|
|
+ struct sk_buff *skb)
|
|
{
|
|
struct ieee80211_hdr *hdr;
|
|
|
|
@@ -83,37 +83,37 @@ static u16 ath11k_dp_rx_h_mpdu_start_fra
|
|
return le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG;
|
|
}
|
|
|
|
-static u16 ath11k_dp_rx_h_mpdu_start_seq_no(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u16 ath11k_dp_rx_h_mpdu_start_seq_no(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_start_seq_no(desc);
|
|
}
|
|
|
|
-static void *ath11k_dp_rx_get_attention(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline void *ath11k_dp_rx_get_attention(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_attention(desc);
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_attn_msdu_done(struct rx_attention *attn)
|
|
+static inline bool ath11k_dp_rx_h_attn_msdu_done(struct rx_attention *attn)
|
|
{
|
|
return !!FIELD_GET(RX_ATTENTION_INFO2_MSDU_DONE,
|
|
__le32_to_cpu(attn->info2));
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_attn_l4_cksum_fail(struct rx_attention *attn)
|
|
+static inline bool ath11k_dp_rx_h_attn_l4_cksum_fail(struct rx_attention *attn)
|
|
{
|
|
return !!FIELD_GET(RX_ATTENTION_INFO1_TCP_UDP_CKSUM_FAIL,
|
|
__le32_to_cpu(attn->info1));
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_attn_ip_cksum_fail(struct rx_attention *attn)
|
|
+static inline bool ath11k_dp_rx_h_attn_ip_cksum_fail(struct rx_attention *attn)
|
|
{
|
|
return !!FIELD_GET(RX_ATTENTION_INFO1_IP_CKSUM_FAIL,
|
|
__le32_to_cpu(attn->info1));
|
|
}
|
|
|
|
-static bool ath11k_dp_rx_h_attn_is_decrypted(struct rx_attention *attn)
|
|
+static inline bool ath11k_dp_rx_h_attn_is_decrypted(struct rx_attention *attn)
|
|
{
|
|
return (FIELD_GET(RX_ATTENTION_INFO2_DCRYPT_STATUS_CODE,
|
|
__le32_to_cpu(attn->info2)) ==
|
|
@@ -149,68 +149,68 @@ static u32 ath11k_dp_rx_h_attn_mpdu_err(
|
|
return errmap;
|
|
}
|
|
|
|
-static u16 ath11k_dp_rx_h_msdu_start_msdu_len(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u16 ath11k_dp_rx_h_msdu_start_msdu_len(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_msdu_len(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_sgi(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_sgi(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_msdu_sgi(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_rate_mcs(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_rate_mcs(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_msdu_rate_mcs(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_rx_bw(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_rx_bw(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_msdu_rx_bw(desc);
|
|
}
|
|
|
|
-static u32 ath11k_dp_rx_h_msdu_start_freq(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u32 ath11k_dp_rx_h_msdu_start_freq(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_msdu_freq(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_pkt_type(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_pkt_type(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_msdu_pkt_type(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_start_nss(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_msdu_start_nss(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return hweight8(ab->hw_params.hw_ops->rx_desc_get_msdu_nss(desc));
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_mpdu_start_tid(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_mpdu_start_tid(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_tid(desc);
|
|
}
|
|
|
|
-u16 ath11k_dp_rx_h_mpdu_start_peer_id(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+inline u16 ath11k_dp_rx_h_mpdu_start_peer_id(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_peer_id(desc);
|
|
}
|
|
|
|
-static u8 ath11k_dp_rx_h_msdu_end_l3pad(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline u8 ath11k_dp_rx_h_msdu_end_l3pad(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_l3_pad_bytes(desc);
|
|
}
|
|
|
|
-bool ath11k_dp_rx_h_msdu_end_first_msdu(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+inline bool ath11k_dp_rx_h_msdu_end_first_msdu(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_first_msdu(desc);
|
|
}
|
|
@@ -228,14 +228,14 @@ static void ath11k_dp_rx_desc_end_tlv_co
|
|
ab->hw_params.hw_ops->rx_desc_copy_attn_end_tlv(fdesc, ldesc);
|
|
}
|
|
|
|
-static u32 ath11k_dp_rxdesc_get_mpdulen_err(struct rx_attention *attn)
|
|
+static inline u32 ath11k_dp_rxdesc_get_mpdulen_err(struct rx_attention *attn)
|
|
{
|
|
return FIELD_GET(RX_ATTENTION_INFO1_MPDU_LEN_ERR,
|
|
__le32_to_cpu(attn->info1));
|
|
}
|
|
|
|
-static u8 *ath11k_dp_rxdesc_get_80211hdr(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *rx_desc)
|
|
+static inline u8 *ath11k_dp_rxdesc_get_80211hdr(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *rx_desc)
|
|
{
|
|
u8 *rx_pkt_hdr;
|
|
|
|
@@ -244,8 +244,8 @@ static u8 *ath11k_dp_rxdesc_get_80211hdr
|
|
return rx_pkt_hdr;
|
|
}
|
|
|
|
-static bool ath11k_dp_rxdesc_mpdu_valid(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *rx_desc)
|
|
+static inline bool ath11k_dp_rxdesc_mpdu_valid(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *rx_desc)
|
|
{
|
|
u32 tlv_tag;
|
|
|
|
@@ -254,15 +254,15 @@ static bool ath11k_dp_rxdesc_mpdu_valid(
|
|
return tlv_tag == HAL_RX_MPDU_START;
|
|
}
|
|
|
|
-static u32 ath11k_dp_rxdesc_get_ppduid(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *rx_desc)
|
|
+static inline u32 ath11k_dp_rxdesc_get_ppduid(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *rx_desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_get_mpdu_ppdu_id(rx_desc);
|
|
}
|
|
|
|
-static void ath11k_dp_rxdesc_set_msdu_len(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc,
|
|
- u16 len)
|
|
+static inline void ath11k_dp_rxdesc_set_msdu_len(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc,
|
|
+ u16 len)
|
|
{
|
|
ab->hw_params.hw_ops->rx_desc_set_msdu_len(desc, len);
|
|
}
|
|
@@ -301,8 +301,8 @@ static int ath11k_dp_purge_mon_ring(stru
|
|
return -ETIMEDOUT;
|
|
}
|
|
|
|
-bool ath11k_dp_rx_h_attn_is_mcbc(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+inline bool ath11k_dp_rx_h_attn_is_mcbc(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
struct rx_attention *attn = ath11k_dp_rx_get_attention(ab, desc);
|
|
|
|
@@ -311,13 +311,13 @@ bool ath11k_dp_rx_h_attn_is_mcbc(struct
|
|
__le32_to_cpu(attn->info1)));
|
|
}
|
|
|
|
-static bool ath11k_dp_rxdesc_mac_addr2_valid(struct ath11k_base *ab,
|
|
- struct hal_rx_desc *desc)
|
|
+static inline bool ath11k_dp_rxdesc_mac_addr2_valid(struct ath11k_base *ab,
|
|
+ struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_mac_addr2_valid(desc);
|
|
}
|
|
|
|
-static u8* ath11k_dp_rxdesc_get_mpdu_start_addr2(struct ath11k_base *ab,
|
|
+static inline u8* ath11k_dp_rxdesc_get_mpdu_start_addr2(struct ath11k_base *ab,
|
|
struct hal_rx_desc *desc)
|
|
{
|
|
return ab->hw_params.hw_ops->rx_desc_mpdu_start_addr2;
|