1
0

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
Este cometimento está contido em:
Chaithanya Garrepalli
2021-06-25 23:31:53 +05:30
cometido por Gerrit - the friendly Code Review server
ascendente b8b8c4e718
cometimento e122023f44
3 ficheiros modificados com 44 adições e 45 eliminações

Ver ficheiro

@@ -102,7 +102,6 @@ void hal_tx_init_data_ring_li(hal_soc_handle_t hal_soc_hdl,
*/ */
void hal_hw_txrx_default_ops_attach_li(struct hal_soc *soc); void hal_hw_txrx_default_ops_attach_li(struct hal_soc *soc);
void hal_rx_wbm_err_info_get_generic_li(void *wbm_desc, void *wbm_er_info1);
uint32_t hal_rx_wbm_err_src_get_li(hal_ring_desc_t ring_desc); uint32_t hal_rx_wbm_err_src_get_li(hal_ring_desc_t ring_desc);
uint8_t hal_rx_ret_buf_manager_get_li(hal_ring_desc_t ring_desc); uint8_t hal_rx_ret_buf_manager_get_li(hal_ring_desc_t ring_desc);

Ver ficheiro

@@ -727,50 +727,6 @@ uint32_t hal_rx_wbm_err_src_get_li(hal_ring_desc_t ring_desc)
return HAL_WBM2SW_RELEASE_SRC_GET(ring_desc); return HAL_WBM2SW_RELEASE_SRC_GET(ring_desc);
} }
#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
*/
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_rx_ret_buf_manager_get_li() - Get return buffer manager from ring desc * hal_rx_ret_buf_manager_get_li() - Get return buffer manager from ring desc
* @ring_desc: ring descriptor * @ring_desc: ring descriptor

Ver ficheiro

@@ -23,6 +23,50 @@
#include "hal_li_tx.h" #include "hal_li_tx.h"
#include "hal_li_rx.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_tx_comp_get_status() - TQM Release reason
* @hal_desc: completion ring Tx status * @hal_desc: completion ring Tx status