qcacmn: Add hal_rx_tlv_get_tcp_chksum API
Implement hal_rx_tlv_get_tcp_chksum API to retrieve tcp_udp_checksum value based on the chipset. Change-Id: Ifab970f10af06f8c0cdbd14d57cb66b49bae1648 CRs-Fixed: 2522133
This commit is contained in:

committed by
nshrivas

parent
1059fae62c
commit
5c5d409000
@@ -917,16 +917,18 @@ void dp_rx_process_invalid_peer_wrapper(struct dp_soc *soc,
|
|||||||
#ifdef RECEIVE_OFFLOAD
|
#ifdef RECEIVE_OFFLOAD
|
||||||
/**
|
/**
|
||||||
* dp_rx_print_offload_info() - Print offload info from RX TLV
|
* dp_rx_print_offload_info() - Print offload info from RX TLV
|
||||||
|
* @soc: dp soc handle
|
||||||
* @rx_tlv: RX TLV for which offload information is to be printed
|
* @rx_tlv: RX TLV for which offload information is to be printed
|
||||||
*
|
*
|
||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
static void dp_rx_print_offload_info(uint8_t *rx_tlv)
|
static void dp_rx_print_offload_info(struct dp_soc *soc, uint8_t *rx_tlv)
|
||||||
{
|
{
|
||||||
dp_verbose_debug("----------------------RX DESC LRO/GRO----------------------");
|
dp_verbose_debug("----------------------RX DESC LRO/GRO----------------------");
|
||||||
dp_verbose_debug("lro_eligible 0x%x", HAL_RX_TLV_GET_LRO_ELIGIBLE(rx_tlv));
|
dp_verbose_debug("lro_eligible 0x%x", HAL_RX_TLV_GET_LRO_ELIGIBLE(rx_tlv));
|
||||||
dp_verbose_debug("pure_ack 0x%x", HAL_RX_TLV_GET_TCP_PURE_ACK(rx_tlv));
|
dp_verbose_debug("pure_ack 0x%x", HAL_RX_TLV_GET_TCP_PURE_ACK(rx_tlv));
|
||||||
dp_verbose_debug("chksum 0x%x", HAL_RX_TLV_GET_TCP_CHKSUM(rx_tlv));
|
dp_verbose_debug("chksum 0x%x", hal_rx_tlv_get_tcp_chksum(soc->hal_soc,
|
||||||
|
rx_tlv));
|
||||||
dp_verbose_debug("TCP seq num 0x%x", HAL_RX_TLV_GET_TCP_SEQ(rx_tlv));
|
dp_verbose_debug("TCP seq num 0x%x", HAL_RX_TLV_GET_TCP_SEQ(rx_tlv));
|
||||||
dp_verbose_debug("TCP ack num 0x%x", HAL_RX_TLV_GET_TCP_ACK(rx_tlv));
|
dp_verbose_debug("TCP ack num 0x%x", HAL_RX_TLV_GET_TCP_ACK(rx_tlv));
|
||||||
dp_verbose_debug("TCP window 0x%x", HAL_RX_TLV_GET_TCP_WIN(rx_tlv));
|
dp_verbose_debug("TCP window 0x%x", HAL_RX_TLV_GET_TCP_WIN(rx_tlv));
|
||||||
@@ -963,7 +965,8 @@ void dp_rx_fill_gro_info(struct dp_soc *soc, uint8_t *rx_tlv,
|
|||||||
QDF_NBUF_CB_RX_TCP_PURE_ACK(msdu) =
|
QDF_NBUF_CB_RX_TCP_PURE_ACK(msdu) =
|
||||||
HAL_RX_TLV_GET_TCP_PURE_ACK(rx_tlv);
|
HAL_RX_TLV_GET_TCP_PURE_ACK(rx_tlv);
|
||||||
QDF_NBUF_CB_RX_TCP_CHKSUM(msdu) =
|
QDF_NBUF_CB_RX_TCP_CHKSUM(msdu) =
|
||||||
HAL_RX_TLV_GET_TCP_CHKSUM(rx_tlv);
|
hal_rx_tlv_get_tcp_chksum(soc->hal_soc,
|
||||||
|
rx_tlv);
|
||||||
QDF_NBUF_CB_RX_TCP_SEQ_NUM(msdu) =
|
QDF_NBUF_CB_RX_TCP_SEQ_NUM(msdu) =
|
||||||
HAL_RX_TLV_GET_TCP_SEQ(rx_tlv);
|
HAL_RX_TLV_GET_TCP_SEQ(rx_tlv);
|
||||||
QDF_NBUF_CB_RX_TCP_ACK_NUM(msdu) =
|
QDF_NBUF_CB_RX_TCP_ACK_NUM(msdu) =
|
||||||
@@ -979,7 +982,7 @@ void dp_rx_fill_gro_info(struct dp_soc *soc, uint8_t *rx_tlv,
|
|||||||
QDF_NBUF_CB_RX_FLOW_ID(msdu) =
|
QDF_NBUF_CB_RX_FLOW_ID(msdu) =
|
||||||
HAL_RX_TLV_GET_FLOW_ID_TOEPLITZ(rx_tlv);
|
HAL_RX_TLV_GET_FLOW_ID_TOEPLITZ(rx_tlv);
|
||||||
|
|
||||||
dp_rx_print_offload_info(rx_tlv);
|
dp_rx_print_offload_info(soc, rx_tlv);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static void dp_rx_fill_gro_info(struct dp_soc *soc, uint8_t *rx_tlv,
|
static void dp_rx_fill_gro_info(struct dp_soc *soc, uint8_t *rx_tlv,
|
||||||
|
@@ -448,6 +448,7 @@ struct hal_hw_txrx_ops {
|
|||||||
bool *flow_invalid,
|
bool *flow_invalid,
|
||||||
bool *flow_timeout,
|
bool *flow_timeout,
|
||||||
uint32_t *flow_index);
|
uint32_t *flow_index);
|
||||||
|
uint16_t (*hal_rx_tlv_get_tcp_chksum)(uint8_t *buf);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -917,14 +917,6 @@ hal_rx_mpdu_peer_meta_data_set(uint8_t *buf, uint32_t peer_mdata)
|
|||||||
RX_MSDU_END_9_LRO_ELIGIBLE_MASK, \
|
RX_MSDU_END_9_LRO_ELIGIBLE_MASK, \
|
||||||
RX_MSDU_END_9_LRO_ELIGIBLE_LSB))
|
RX_MSDU_END_9_LRO_ELIGIBLE_LSB))
|
||||||
|
|
||||||
#define HAL_RX_TLV_GET_TCP_CHKSUM(buf) \
|
|
||||||
(_HAL_MS( \
|
|
||||||
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
|
||||||
msdu_end_tlv.rx_msdu_end), \
|
|
||||||
RX_MSDU_END_1_TCP_UDP_CHKSUM_OFFSET)), \
|
|
||||||
RX_MSDU_END_1_TCP_UDP_CHKSUM_MASK, \
|
|
||||||
RX_MSDU_END_1_TCP_UDP_CHKSUM_LSB))
|
|
||||||
|
|
||||||
#define HAL_RX_TLV_GET_TCP_ACK(buf) \
|
#define HAL_RX_TLV_GET_TCP_ACK(buf) \
|
||||||
(_HAL_MS( \
|
(_HAL_MS( \
|
||||||
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
||||||
@@ -3406,4 +3398,13 @@ hal_rx_msdu_get_flow_params(hal_soc_handle_t hal_soc_hdl,
|
|||||||
flow_timeout,
|
flow_timeout,
|
||||||
flow_index);
|
flow_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
uint16_t hal_rx_tlv_get_tcp_chksum(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_tlv_get_tcp_chksum(buf);
|
||||||
|
}
|
||||||
#endif /* _HAL_RX_H */
|
#endif /* _HAL_RX_H */
|
||||||
|
@@ -950,6 +950,18 @@ hal_rx_msdu_get_flow_params_6290(uint8_t *buf,
|
|||||||
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_rx_tlv_get_tcp_chksum_6290() - API to get tcp checksum
|
||||||
|
* @buf: rx_tlv_hdr
|
||||||
|
*
|
||||||
|
* Return: tcp checksum
|
||||||
|
*/
|
||||||
|
static uint16_t
|
||||||
|
hal_rx_tlv_get_tcp_chksum_6290(uint8_t *buf)
|
||||||
|
{
|
||||||
|
return HAL_RX_TLV_GET_TCP_CHKSUM(buf);
|
||||||
|
}
|
||||||
|
|
||||||
struct hal_hw_txrx_ops qca6290_hal_hw_txrx_ops = {
|
struct hal_hw_txrx_ops qca6290_hal_hw_txrx_ops = {
|
||||||
/* init and setup */
|
/* init and setup */
|
||||||
hal_srng_dst_hw_init_generic,
|
hal_srng_dst_hw_init_generic,
|
||||||
@@ -1033,6 +1045,7 @@ struct hal_hw_txrx_ops qca6290_hal_hw_txrx_ops = {
|
|||||||
hal_rx_msdu_fse_metadata_get_6290,
|
hal_rx_msdu_fse_metadata_get_6290,
|
||||||
hal_rx_msdu_cce_metadata_get_6290,
|
hal_rx_msdu_cce_metadata_get_6290,
|
||||||
hal_rx_msdu_get_flow_params_6290,
|
hal_rx_msdu_get_flow_params_6290,
|
||||||
|
hal_rx_tlv_get_tcp_chksum_6290,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hal_hw_srng_config hw_srng_table_6290[] = {
|
struct hal_hw_srng_config hw_srng_table_6290[] = {
|
||||||
|
@@ -324,6 +324,14 @@ UNIFIED_RX_MSDU_DETAILS_2_RX_MSDU_DESC_INFO_RX_MSDU_DESC_INFO_DETAILS_OFFSET))
|
|||||||
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
||||||
RX_MSDU_END_16_CCE_METADATA_LSB))
|
RX_MSDU_END_16_CCE_METADATA_LSB))
|
||||||
|
|
||||||
|
#define HAL_RX_TLV_GET_TCP_CHKSUM(buf) \
|
||||||
|
(_HAL_MS( \
|
||||||
|
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
||||||
|
msdu_end_tlv.rx_msdu_end), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_OFFSET)), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_MASK, \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_LSB))
|
||||||
|
|
||||||
#if defined(QCA_WIFI_QCA6290_11AX)
|
#if defined(QCA_WIFI_QCA6290_11AX)
|
||||||
#define HAL_RX_MSDU_START_MIMO_SS_BITMAP(_rx_msdu_start)\
|
#define HAL_RX_MSDU_START_MIMO_SS_BITMAP(_rx_msdu_start)\
|
||||||
(_HAL_MS((*_OFFSET_TO_WORD_PTR((_rx_msdu_start),\
|
(_HAL_MS((*_OFFSET_TO_WORD_PTR((_rx_msdu_start),\
|
||||||
|
@@ -946,6 +946,18 @@ hal_rx_msdu_get_flow_params_6390(uint8_t *buf,
|
|||||||
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_rx_tlv_get_tcp_chksum_6390() - API to get tcp checksum
|
||||||
|
* @buf: rx_tlv_hdr
|
||||||
|
*
|
||||||
|
* Return: tcp checksum
|
||||||
|
*/
|
||||||
|
static uint16_t
|
||||||
|
hal_rx_tlv_get_tcp_chksum_6390(uint8_t *buf)
|
||||||
|
{
|
||||||
|
return HAL_RX_TLV_GET_TCP_CHKSUM(buf);
|
||||||
|
}
|
||||||
|
|
||||||
struct hal_hw_txrx_ops qca6390_hal_hw_txrx_ops = {
|
struct hal_hw_txrx_ops qca6390_hal_hw_txrx_ops = {
|
||||||
/* init and setup */
|
/* init and setup */
|
||||||
hal_srng_dst_hw_init_generic,
|
hal_srng_dst_hw_init_generic,
|
||||||
@@ -1029,6 +1041,7 @@ struct hal_hw_txrx_ops qca6390_hal_hw_txrx_ops = {
|
|||||||
hal_rx_msdu_fse_metadata_get_6390,
|
hal_rx_msdu_fse_metadata_get_6390,
|
||||||
hal_rx_msdu_cce_metadata_get_6390,
|
hal_rx_msdu_cce_metadata_get_6390,
|
||||||
hal_rx_msdu_get_flow_params_6390,
|
hal_rx_msdu_get_flow_params_6390,
|
||||||
|
hal_rx_tlv_get_tcp_chksum_6390,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hal_hw_srng_config hw_srng_table_6390[] = {
|
struct hal_hw_srng_config hw_srng_table_6390[] = {
|
||||||
|
@@ -329,6 +329,14 @@ UNIFIED_RX_MSDU_DETAILS_2_RX_MSDU_DESC_INFO_RX_MSDU_DESC_INFO_DETAILS_OFFSET))
|
|||||||
RX_MSDU_END_16_CCE_METADATA_OFFSET)), \
|
RX_MSDU_END_16_CCE_METADATA_OFFSET)), \
|
||||||
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
||||||
RX_MSDU_END_16_CCE_METADATA_LSB))
|
RX_MSDU_END_16_CCE_METADATA_LSB))
|
||||||
|
|
||||||
|
#define HAL_RX_TLV_GET_TCP_CHKSUM(buf) \
|
||||||
|
(_HAL_MS( \
|
||||||
|
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
||||||
|
msdu_end_tlv.rx_msdu_end), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_OFFSET)), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_MASK, \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_LSB))
|
||||||
/*
|
/*
|
||||||
* hal_rx_msdu_start_nss_get_6390(): API to get the NSS
|
* hal_rx_msdu_start_nss_get_6390(): API to get the NSS
|
||||||
* Interval from rx_msdu_start
|
* Interval from rx_msdu_start
|
||||||
|
@@ -796,6 +796,18 @@ hal_rx_msdu_cce_metadata_get_6490(uint8_t *buf)
|
|||||||
return HAL_RX_MSDU_END_CCE_METADATA_GET(msdu_end);
|
return HAL_RX_MSDU_END_CCE_METADATA_GET(msdu_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_rx_tlv_get_tcp_chksum_6490() - API to get tcp checksum
|
||||||
|
* @buf: rx_tlv_hdr
|
||||||
|
*
|
||||||
|
* Return: tcp checksum
|
||||||
|
*/
|
||||||
|
static uint16_t
|
||||||
|
hal_rx_tlv_get_tcp_chksum_6490(uint8_t *buf)
|
||||||
|
{
|
||||||
|
return HAL_RX_TLV_GET_TCP_CHKSUM(buf);
|
||||||
|
}
|
||||||
|
|
||||||
struct hal_hw_txrx_ops qca6490_hal_hw_txrx_ops = {
|
struct hal_hw_txrx_ops qca6490_hal_hw_txrx_ops = {
|
||||||
/* tx */
|
/* tx */
|
||||||
hal_tx_desc_set_mesh_en_6490,
|
hal_tx_desc_set_mesh_en_6490,
|
||||||
@@ -841,4 +853,5 @@ struct hal_hw_txrx_ops qca6490_hal_hw_txrx_ops = {
|
|||||||
hal_rx_msdu_fse_metadata_get_6490,
|
hal_rx_msdu_fse_metadata_get_6490,
|
||||||
hal_rx_msdu_cce_metadata_get_6490,
|
hal_rx_msdu_cce_metadata_get_6490,
|
||||||
NULL,
|
NULL,
|
||||||
|
hal_rx_tlv_get_tcp_chksum_6490,
|
||||||
};
|
};
|
||||||
|
@@ -314,3 +314,11 @@ RX_MSDU_DETAILS_2_RX_MSDU_DESC_INFO_DETAILS_RESERVED_0A_OFFSET))
|
|||||||
RX_MSDU_END_14_CCE_METADATA_OFFSET)), \
|
RX_MSDU_END_14_CCE_METADATA_OFFSET)), \
|
||||||
RX_MSDU_END_14_CCE_METADATA_MASK, \
|
RX_MSDU_END_14_CCE_METADATA_MASK, \
|
||||||
RX_MSDU_END_14_CCE_METADATA_LSB))
|
RX_MSDU_END_14_CCE_METADATA_LSB))
|
||||||
|
|
||||||
|
#define HAL_RX_TLV_GET_TCP_CHKSUM(buf) \
|
||||||
|
(_HAL_MS( \
|
||||||
|
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
||||||
|
msdu_end_tlv.rx_msdu_end), \
|
||||||
|
RX_MSDU_END_10_TCP_UDP_CHKSUM_OFFSET)), \
|
||||||
|
RX_MSDU_END_10_TCP_UDP_CHKSUM_MASK, \
|
||||||
|
RX_MSDU_END_10_TCP_UDP_CHKSUM_LSB))
|
||||||
|
@@ -946,6 +946,18 @@ hal_rx_msdu_get_flow_params_8074v1(uint8_t *buf,
|
|||||||
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_rx_tlv_get_tcp_chksum_8074v1() - API to get tcp checksum
|
||||||
|
* @buf: rx_tlv_hdr
|
||||||
|
*
|
||||||
|
* Return: tcp checksum
|
||||||
|
*/
|
||||||
|
static uint16_t
|
||||||
|
hal_rx_tlv_get_tcp_chksum_8074v1(uint8_t *buf)
|
||||||
|
{
|
||||||
|
return HAL_RX_TLV_GET_TCP_CHKSUM(buf);
|
||||||
|
}
|
||||||
|
|
||||||
struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
|
struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
|
||||||
|
|
||||||
/* init and setup */
|
/* init and setup */
|
||||||
@@ -1030,6 +1042,7 @@ struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
|
|||||||
hal_rx_msdu_fse_metadata_get_8074v1,
|
hal_rx_msdu_fse_metadata_get_8074v1,
|
||||||
hal_rx_msdu_cce_metadata_get_8074v1,
|
hal_rx_msdu_cce_metadata_get_8074v1,
|
||||||
hal_rx_msdu_get_flow_params_8074v1,
|
hal_rx_msdu_get_flow_params_8074v1,
|
||||||
|
hal_rx_tlv_get_tcp_chksum_8074v1,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hal_hw_srng_config hw_srng_table_8074[] = {
|
struct hal_hw_srng_config hw_srng_table_8074[] = {
|
||||||
|
@@ -313,6 +313,14 @@ UNIFIED_RX_MSDU_DETAILS_2_RX_MSDU_DESC_INFO_RX_MSDU_DESC_INFO_DETAILS_OFFSET))
|
|||||||
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
||||||
RX_MSDU_END_16_CCE_METADATA_LSB))
|
RX_MSDU_END_16_CCE_METADATA_LSB))
|
||||||
|
|
||||||
|
#define HAL_RX_TLV_GET_TCP_CHKSUM(buf) \
|
||||||
|
(_HAL_MS( \
|
||||||
|
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
||||||
|
msdu_end_tlv.rx_msdu_end), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_OFFSET)), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_MASK, \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_LSB))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hal_rx_msdu_start_nss_get_8074(): API to get the NSS
|
* hal_rx_msdu_start_nss_get_8074(): API to get the NSS
|
||||||
* Interval from rx_msdu_start
|
* Interval from rx_msdu_start
|
||||||
|
@@ -943,6 +943,18 @@ hal_rx_msdu_get_flow_params_8074v2(uint8_t *buf,
|
|||||||
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_rx_tlv_get_tcp_chksum_8074v2() - API to get tcp checksum
|
||||||
|
* @buf: rx_tlv_hdr
|
||||||
|
*
|
||||||
|
* Return: tcp checksum
|
||||||
|
*/
|
||||||
|
static uint16_t
|
||||||
|
hal_rx_tlv_get_tcp_chksum_8074v2(uint8_t *buf)
|
||||||
|
{
|
||||||
|
return HAL_RX_TLV_GET_TCP_CHKSUM(buf);
|
||||||
|
}
|
||||||
|
|
||||||
struct hal_hw_txrx_ops qca8074v2_hal_hw_txrx_ops = {
|
struct hal_hw_txrx_ops qca8074v2_hal_hw_txrx_ops = {
|
||||||
|
|
||||||
/* init and setup */
|
/* init and setup */
|
||||||
@@ -1028,6 +1040,7 @@ struct hal_hw_txrx_ops qca8074v2_hal_hw_txrx_ops = {
|
|||||||
hal_rx_msdu_fse_metadata_get_8074v2,
|
hal_rx_msdu_fse_metadata_get_8074v2,
|
||||||
hal_rx_msdu_cce_metadata_get_8074v2,
|
hal_rx_msdu_cce_metadata_get_8074v2,
|
||||||
hal_rx_msdu_get_flow_params_8074v2,
|
hal_rx_msdu_get_flow_params_8074v2,
|
||||||
|
hal_rx_tlv_get_tcp_chksum_8074v2,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hal_hw_srng_config hw_srng_table_8074v2[] = {
|
struct hal_hw_srng_config hw_srng_table_8074v2[] = {
|
||||||
|
@@ -322,6 +322,14 @@ UNIFIED_RX_MSDU_DETAILS_2_RX_MSDU_DESC_INFO_RX_MSDU_DESC_INFO_DETAILS_OFFSET))
|
|||||||
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
RX_MSDU_END_16_CCE_METADATA_MASK, \
|
||||||
RX_MSDU_END_16_CCE_METADATA_LSB))
|
RX_MSDU_END_16_CCE_METADATA_LSB))
|
||||||
|
|
||||||
|
#define HAL_RX_TLV_GET_TCP_CHKSUM(buf) \
|
||||||
|
(_HAL_MS( \
|
||||||
|
(*_OFFSET_TO_WORD_PTR(&(((struct rx_pkt_tlvs *)(buf))->\
|
||||||
|
msdu_end_tlv.rx_msdu_end), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_OFFSET)), \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_MASK, \
|
||||||
|
RX_MSDU_END_1_TCP_UDP_CHKSUM_LSB))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* hal_rx_msdu_start_nss_get_8074v2(): API to get the NSS
|
* hal_rx_msdu_start_nss_get_8074v2(): API to get the NSS
|
||||||
* Interval from rx_msdu_start
|
* Interval from rx_msdu_start
|
||||||
|
@@ -952,6 +952,18 @@ hal_rx_msdu_get_flow_params_9000(uint8_t *buf,
|
|||||||
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hal_rx_tlv_get_tcp_chksum_9000() - API to get tcp checksum
|
||||||
|
* @buf: rx_tlv_hdr
|
||||||
|
*
|
||||||
|
* Return: tcp checksum
|
||||||
|
*/
|
||||||
|
static uint16_t
|
||||||
|
hal_rx_tlv_get_tcp_chksum_9000(uint8_t *buf)
|
||||||
|
{
|
||||||
|
return HAL_RX_TLV_GET_TCP_CHKSUM(buf);
|
||||||
|
}
|
||||||
|
|
||||||
struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = {
|
struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = {
|
||||||
|
|
||||||
/* init and setup */
|
/* init and setup */
|
||||||
@@ -1037,6 +1049,7 @@ struct hal_hw_txrx_ops qcn9000_hal_hw_txrx_ops = {
|
|||||||
hal_rx_msdu_fse_metadata_get_9000,
|
hal_rx_msdu_fse_metadata_get_9000,
|
||||||
hal_rx_msdu_cce_metadata_get_9000,
|
hal_rx_msdu_cce_metadata_get_9000,
|
||||||
hal_rx_msdu_get_flow_params_9000,
|
hal_rx_msdu_get_flow_params_9000,
|
||||||
|
hal_rx_tlv_get_tcp_chksum_9000,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct hal_hw_srng_config hw_srng_table_9000[] = {
|
struct hal_hw_srng_config hw_srng_table_9000[] = {
|
||||||
|
Reference in New Issue
Block a user