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:

cometido por
Gerrit - the friendly Code Review server

ascendente
b8b8c4e718
cometimento
e122023f44
@@ -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);
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador