qcacmn: Add support for tx monitor full buffer and minor fix
Add support and handle tx monitor full buffer payload and other minior fix include change of name for uniformity. Change-Id: If401ecd5e1c6263584fa7013df672459c883ca8b CRs-Fixed: 3215244
This commit is contained in:

committed by
Madan Koyyalamudi

parent
af37507eba
commit
09bc440ca9
@@ -866,6 +866,7 @@ struct hal_tx_status_info {
|
||||
* @cur_usr_idx: Current user index of the PPDU
|
||||
* @reserved: for furture purpose
|
||||
* @prot_tlv_status: protection tlv status
|
||||
* @packet_info: packet information
|
||||
* @rx_status: monitor mode rx status information
|
||||
* @rx_user_status: monitor mode rx user status information
|
||||
*/
|
||||
@@ -879,6 +880,8 @@ struct hal_tx_ppdu_info {
|
||||
|
||||
uint32_t prot_tlv_status;
|
||||
|
||||
/* placeholder to hold packet buffer info */
|
||||
struct hal_mon_packet_info packet_info;
|
||||
struct mon_rx_status rx_status;
|
||||
struct mon_rx_user_status rx_user_status[];
|
||||
};
|
||||
@@ -950,25 +953,6 @@ hal_txmon_status_get_num_users(hal_soc_handle_t hal_soc_hdl,
|
||||
num_users);
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_txmon_status_free_buffer() - api to free status buffer
|
||||
* @hal_soc: HAL soc handle
|
||||
* @status_frag: qdf_frag_t buffer
|
||||
* @end_offset: end offset within buffer that has valid data
|
||||
*
|
||||
* Return status
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
hal_txmon_status_free_buffer(hal_soc_handle_t hal_soc_hdl,
|
||||
qdf_frag_t status_frag,
|
||||
uint32_t end_offset)
|
||||
{
|
||||
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
|
||||
|
||||
return hal_soc->ops->hal_txmon_status_free_buffer(status_frag,
|
||||
end_offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_tx_status_get_tlv_tag() - api to get tlv tag
|
||||
* @tx_tlv_hdr: pointer to TLV header
|
||||
@@ -986,6 +970,45 @@ hal_tx_status_get_tlv_tag(void *tx_tlv_hdr)
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* hal_txmon_is_mon_buf_addr_tlv() - api to find packet buffer addr tlv
|
||||
* @hal_soc: HAL soc handle
|
||||
* @tx_tlv_hdr: pointer to TLV header
|
||||
*
|
||||
* Return: bool
|
||||
*/
|
||||
static inline bool
|
||||
hal_txmon_is_mon_buf_addr_tlv(hal_soc_handle_t hal_soc_hdl, void *tx_tlv_hdr)
|
||||
{
|
||||
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
|
||||
|
||||
if (qdf_unlikely(!hal_soc->ops->hal_txmon_is_mon_buf_addr_tlv))
|
||||
return false;
|
||||
|
||||
return hal_soc->ops->hal_txmon_is_mon_buf_addr_tlv(tx_tlv_hdr);
|
||||
}
|
||||
|
||||
/**
|
||||
* hal_txmon_populate_packet_info() - api to populate packet info
|
||||
* @hal_soc: HAL soc handle
|
||||
* @tx_tlv_hdr: pointer to TLV header
|
||||
* @packet_info: pointer to placeholder for packet info
|
||||
*
|
||||
* Return void
|
||||
*/
|
||||
static inline void
|
||||
hal_txmon_populate_packet_info(hal_soc_handle_t hal_soc_hdl,
|
||||
void *tx_tlv_hdr,
|
||||
void *packet_info)
|
||||
{
|
||||
struct hal_soc *hal_soc = (struct hal_soc *)hal_soc_hdl;
|
||||
|
||||
if (qdf_unlikely(!hal_soc->ops->hal_txmon_populate_packet_info))
|
||||
return;
|
||||
|
||||
hal_soc->ops->hal_txmon_populate_packet_info(tx_tlv_hdr, packet_info);
|
||||
}
|
||||
|
||||
static inline uint32_t
|
||||
hal_rx_parse_u_sig_cmn(struct hal_soc *hal_soc, void *rx_tlv,
|
||||
struct hal_rx_ppdu_info *ppdu_info)
|
||||
|
Reference in New Issue
Block a user