qcacmn: Get the peer meta data from msdu end tlv

In QCN9224 fetch the peer meta data from the msdu end tlv
instead of MPDU start

Change-Id: Icd9420cd83e06abe5e54e9e05cc8cbf8d8312ae1
CRs-Fixed: 3245626
This commit is contained in:
Sai Rupesh Chevuru
2022-07-18 23:41:36 +05:30
committed by Madan Koyyalamudi
parent 7ca62390e7
commit ceccc982e3
16 changed files with 38 additions and 20 deletions

View File

@@ -2910,8 +2910,8 @@ done:
(uint8_t *)&wbm_err_info,
sizeof(wbm_err_info));
peer_meta_data = hal_rx_mpdu_peer_meta_data_get(soc->hal_soc,
rx_tlv_hdr);
peer_meta_data = hal_rx_tlv_peer_meta_data_get(soc->hal_soc,
rx_tlv_hdr);
peer_id = dp_rx_peer_metadata_peer_id_get(soc, peer_meta_data);
txrx_peer = dp_tgt_txrx_peer_get_ref_by_id(soc, peer_id,
&txrx_ref_handle,

View File

@@ -229,6 +229,11 @@ struct rx_pkt_tlvs {
#define HAL_RX_TLV_L3_TYPE_GET(_rx_pkt_tlv) \
HAL_RX_MSDU_END(_rx_pkt_tlv).l3_type
#ifdef RX_MSDU_END_PEER_META_DATA_OFFSET
#define HAL_RX_TLV_MSDU_PEER_META_DATA_GET(_rx_pkt_tlv) \
HAL_RX_MSDU_END(_rx_pkt_tlv).peer_meta_data
#endif
#define HAL_RX_GET_FILTER_CATEGORY(_rx_pkt_tlv) \
HAL_RX_MPDU_START(_rx_pkt_tlv).rxpcu_mpdu_filter_in_category
@@ -522,6 +527,19 @@ static inline uint32_t hal_rx_mpdu_peer_meta_data_get_be(uint8_t *buf)
return HAL_RX_TLV_PEER_META_DATA_GET(rx_pkt_tlvs);
}
#ifdef RX_MSDU_END_PEER_META_DATA_OFFSET
/*
* Get peer_meta_data from RX_MSDU_END
*/
static inline uint32_t hal_rx_msdu_peer_meta_data_get_be(uint8_t *buf)
{
struct rx_pkt_tlvs *rx_pkt_tlvs = (struct rx_pkt_tlvs *)buf;
return HAL_RX_TLV_MSDU_PEER_META_DATA_GET(rx_pkt_tlvs);
}
#endif
/**
* hal_rx_mpdu_info_ampdu_flag_get_be(): get ampdu flag bit
* from rx mpdu info

View File

@@ -939,7 +939,7 @@ struct hal_hw_txrx_ops {
uint8_t (*hal_rx_msdu_end_last_msdu_get)(uint8_t *buf);
bool (*hal_rx_get_mpdu_mac_ad4_valid)(uint8_t *buf);
uint32_t (*hal_rx_mpdu_start_sw_peer_id_get)(uint8_t *buf);
uint32_t (*hal_rx_mpdu_peer_meta_data_get)(uint8_t *buf);
uint32_t (*hal_rx_tlv_peer_meta_data_get)(uint8_t *buf);
uint32_t (*hal_rx_mpdu_get_to_ds)(uint8_t *buf);
uint32_t (*hal_rx_mpdu_get_fr_ds)(uint8_t *buf);
uint8_t (*hal_rx_get_mpdu_frame_control_valid)(uint8_t *buf);

View File

@@ -959,19 +959,19 @@ hal_rx_mpdu_start_sw_peer_id_get(hal_soc_handle_t hal_soc_hdl,
}
/**
* hal_rx_mpdu_peer_meta_data_get() - Retrieve PEER_META_DATA
* hal_rx_tlv_peer_meta_data_get() - Retrieve PEER_META_DATA
* @hal_soc_hdl: hal soc handle
* @buf: pointer to rx pkt TLV.
*
* Return: peer meta data
*/
static inline uint32_t
hal_rx_mpdu_peer_meta_data_get(hal_soc_handle_t hal_soc_hdl,
uint8_t *buf)
hal_rx_tlv_peer_meta_data_get(hal_soc_handle_t hal_soc_hdl,
uint8_t *buf)
{
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
return hal_soc->ops->hal_rx_mpdu_peer_meta_data_get(buf);
return hal_soc->ops->hal_rx_tlv_peer_meta_data_get(buf);
}
/*

View File

@@ -1909,7 +1909,7 @@ static void hal_hw_txrx_ops_attach_kiwi(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_be;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_be;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_be;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_be;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_be;

View File

@@ -1780,7 +1780,7 @@ static void hal_hw_txrx_ops_attach_qca5018(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_5018;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_5018;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_5018;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_5018;

View File

@@ -1763,7 +1763,7 @@ static void hal_hw_txrx_ops_attach_qca5332(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_be;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_be;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_be;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_be;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_be;

View File

@@ -1161,7 +1161,7 @@ static void hal_hw_txrx_ops_attach_6290(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_6290;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_6290;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_6290;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_6290;

View File

@@ -1228,7 +1228,7 @@ static void hal_hw_txrx_ops_attach_qca6390(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_6390;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_6390;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_6390;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_6390;

View File

@@ -1847,7 +1847,7 @@ static void hal_hw_txrx_ops_attach_qca6490(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_6490;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_6490;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_6490;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_6490;

View File

@@ -1983,7 +1983,7 @@ static void hal_hw_txrx_ops_attach_qca6750(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_6750;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_6750;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_6750;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_6750;

View File

@@ -1325,7 +1325,7 @@ static void hal_hw_txrx_ops_attach_qca8074(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_8074v1;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_8074v1;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_8074v1;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_8074v1;

View File

@@ -1322,7 +1322,7 @@ static void hal_hw_txrx_ops_attach_qca8074v2(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_8074v2;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_8074v2;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_8074v2;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_8074v2;

View File

@@ -1831,7 +1831,7 @@ static void hal_hw_txrx_ops_attach_qcn6122(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_6122;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_6122;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_6122;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_6122;

View File

@@ -1875,7 +1875,7 @@ static void hal_hw_txrx_ops_attach_qcn9000(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_9000;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_9000;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_li;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_9000;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_9000;

View File

@@ -1900,8 +1900,8 @@ static void hal_hw_txrx_ops_attach_qcn9224(struct hal_soc *hal_soc)
hal_rx_get_mpdu_mac_ad4_valid_be;
hal_soc->ops->hal_rx_mpdu_start_sw_peer_id_get =
hal_rx_mpdu_start_sw_peer_id_get_be;
hal_soc->ops->hal_rx_mpdu_peer_meta_data_get =
hal_rx_mpdu_peer_meta_data_get_be;
hal_soc->ops->hal_rx_tlv_peer_meta_data_get =
hal_rx_msdu_peer_meta_data_get_be;
hal_soc->ops->hal_rx_mpdu_get_to_ds = hal_rx_mpdu_get_to_ds_be;
hal_soc->ops->hal_rx_mpdu_get_fr_ds = hal_rx_mpdu_get_fr_ds_be;
hal_soc->ops->hal_rx_get_mpdu_frame_control_valid =