qcacmn: change hal_wbm_err_info to use proper HW headers

HW macros used for hal_rx_wbm_err_info_get_generic_li are
different across chipset. Move this API to header file to
ensure chipset specific HAL is compiled with appropriate
HW headers

Change-Id: I053d243235f187d931048d1fd22293f9142a00c7
This commit is contained in:
Chaithanya Garrepalli
2021-06-25 23:31:53 +05:30
committed by Gerrit - the friendly Code Review server
parent b8b8c4e718
commit e122023f44
3 changed files with 44 additions and 45 deletions

View File

@@ -23,6 +23,50 @@
#include "hal_li_tx.h"
#include "hal_li_rx.h"
#define HAL_RX_WBM_REO_PUSH_REASON_GET(wbm_desc) \
(_HAL_MS((*_OFFSET_TO_WORD_PTR(wbm_desc, \
WBM_RELEASE_RING_2_REO_PUSH_REASON_OFFSET)), \
WBM_RELEASE_RING_2_REO_PUSH_REASON_MASK, \
WBM_RELEASE_RING_2_REO_PUSH_REASON_LSB))
#define HAL_RX_WBM_REO_ERROR_CODE_GET(wbm_desc) \
(_HAL_MS((*_OFFSET_TO_WORD_PTR(wbm_desc, \
WBM_RELEASE_RING_2_REO_ERROR_CODE_OFFSET)), \
WBM_RELEASE_RING_2_REO_ERROR_CODE_MASK, \
WBM_RELEASE_RING_2_REO_ERROR_CODE_LSB))
#define HAL_RX_WBM_RXDMA_PUSH_REASON_GET(wbm_desc) \
(((*(((uint32_t *)wbm_desc) + \
(WBM_RELEASE_RING_2_RXDMA_PUSH_REASON_OFFSET >> 2))) & \
WBM_RELEASE_RING_2_RXDMA_PUSH_REASON_MASK) >> \
WBM_RELEASE_RING_2_RXDMA_PUSH_REASON_LSB)
#define HAL_RX_WBM_RXDMA_ERROR_CODE_GET(wbm_desc) \
(((*(((uint32_t *)wbm_desc) + \
(WBM_RELEASE_RING_2_RXDMA_ERROR_CODE_OFFSET >> 2))) & \
WBM_RELEASE_RING_2_RXDMA_ERROR_CODE_MASK) >> \
WBM_RELEASE_RING_2_RXDMA_ERROR_CODE_LSB)
/**
* hal_rx_wbm_err_info_get_generic_li(): Retrieves WBM error code and reason and
* save it to hal_wbm_err_desc_info structure passed by caller
* @wbm_desc: wbm ring descriptor
* @wbm_er_info1: hal_wbm_err_desc_info structure, output parameter.
* Return: void
*/
static inline void hal_rx_wbm_err_info_get_generic_li(void *wbm_desc,
void *wbm_er_info1)
{
struct hal_wbm_err_desc_info *wbm_er_info =
(struct hal_wbm_err_desc_info *)wbm_er_info1;
wbm_er_info->wbm_err_src = HAL_WBM2SW_RELEASE_SRC_GET(wbm_desc);
wbm_er_info->reo_psh_rsn = HAL_RX_WBM_REO_PUSH_REASON_GET(wbm_desc);
wbm_er_info->reo_err_code = HAL_RX_WBM_REO_ERROR_CODE_GET(wbm_desc);
wbm_er_info->rxdma_psh_rsn = HAL_RX_WBM_RXDMA_PUSH_REASON_GET(wbm_desc);
wbm_er_info->rxdma_err_code = HAL_RX_WBM_RXDMA_ERROR_CODE_GET(wbm_desc);
}
/**
* hal_tx_comp_get_status() - TQM Release reason
* @hal_desc: completion ring Tx status