1
0

qcacmn: Add hal_rx_msdu_get_flow_params chip specific

Implement hal_rx_msdu_get_flow_params API
per chipset as the macro
to retrieve the flow parameters is
chipset dependent.

Change-Id: I6ef83232ebdf7497871a7fc588e082d14cdc9e75
CRs-Fixed: 2522133
Este cometimento está contido em:
Venkata Sharath Chandra Manchala
2019-09-25 13:00:36 -07:00
cometido por nshrivas
ascendente 8fc894afc8
cometimento 1059fae62c
9 ficheiros modificados com 167 adições e 23 eliminações

Ver ficheiro

@@ -922,6 +922,30 @@ hal_rx_msdu_cce_metadata_get_8074v1(uint8_t *buf)
return HAL_RX_MSDU_END_CCE_METADATA_GET(msdu_end);
}
/**
* hal_rx_msdu_get_flow_params_8074v1: API to get flow index, flow index invalid
* and flow index timeout from rx_msdu_end TLV
* @buf: pointer to the start of RX PKT TLV headers
* @flow_invalid: pointer to return value of flow_idx_valid
* @flow_timeout: pointer to return value of flow_idx_timeout
* @flow_index: pointer to return value of flow_idx
*
* Return: none
*/
static inline void
hal_rx_msdu_get_flow_params_8074v1(uint8_t *buf,
bool *flow_invalid,
bool *flow_timeout,
uint32_t *flow_index)
{
struct rx_pkt_tlvs *pkt_tlvs = (struct rx_pkt_tlvs *)buf;
struct rx_msdu_end *msdu_end = &pkt_tlvs->msdu_end_tlv.rx_msdu_end;
*flow_invalid = HAL_RX_MSDU_END_FLOW_IDX_INVALID_GET(msdu_end);
*flow_timeout = HAL_RX_MSDU_END_FLOW_IDX_TIMEOUT_GET(msdu_end);
*flow_index = HAL_RX_MSDU_END_FLOW_IDX_GET(msdu_end);
}
struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
/* init and setup */
@@ -1005,6 +1029,7 @@ struct hal_hw_txrx_ops qca8074_hal_hw_txrx_ops = {
hal_rx_msdu_flow_idx_timeout_8074v1,
hal_rx_msdu_fse_metadata_get_8074v1,
hal_rx_msdu_cce_metadata_get_8074v1,
hal_rx_msdu_get_flow_params_8074v1,
};
struct hal_hw_srng_config hw_srng_table_8074[] = {