qcacmn: Get buffer_timestamp from wbm release ring

Upon TX completion, get buffer_timestamp from wbm release
ring descriptor.

Change-Id: I0203b51c52a265711e62afc3a940392674ac014a
CRs-Fixed: 2978492
Цей коміт міститься в:
Jia Ding
2021-06-28 10:51:09 +08:00
зафіксовано Madan Koyyalamudi
джерело 37ee80923a
коміт ffcab816e9
2 змінених файлів з 23 додано та 0 видалено

Переглянути файл

@@ -178,6 +178,8 @@ do { \
* @transmit_cnt: Number of times this frame has been transmitted
* @tid: TID of the flow or MPDU queue
* @peer_id: Peer ID of the flow or MPDU queue
* @buffer_timestamp: Frame system entrance timestamp in units of 1024
* microseconds
*/
struct hal_tx_completion_status {
uint8_t status;
@@ -200,6 +202,9 @@ struct hal_tx_completion_status {
uint8_t transmit_cnt;
uint8_t tid;
uint16_t peer_id;
#ifdef WLAN_FEATURE_TSF_UPLINK_DELAY
uint32_t buffer_timestamp:19;
#endif
};
/**

Переглянути файл

@@ -68,6 +68,22 @@ void hal_rx_wbm_err_info_get_generic_li(void *wbm_desc,
wbm_er_info->rxdma_err_code = HAL_RX_WBM_RXDMA_ERROR_CODE_GET(wbm_desc);
}
#ifdef WLAN_FEATURE_TSF_UPLINK_DELAY
static inline void
hal_tx_comp_get_buffer_timestamp(void *desc,
struct hal_tx_completion_status *ts)
{
ts->buffer_timestamp = HAL_TX_DESC_GET(desc, WBM_RELEASE_RING_4,
BUFFER_TIMESTAMP);
}
#else /* !WLAN_FEATURE_TSF_UPLINK_DELAY */
static inline void
hal_tx_comp_get_buffer_timestamp(void *desc,
struct hal_tx_completion_status *ts)
{
}
#endif /* WLAN_FEATURE_TSF_UPLINK_DELAY */
/**
* hal_tx_comp_get_status() - TQM Release reason
* @hal_desc: completion ring Tx status
@@ -135,6 +151,8 @@ hal_tx_comp_get_status_generic_li(void *desc, void *ts1,
ts->tsf = HAL_TX_DESC_GET(desc, UNIFIED_WBM_RELEASE_RING_6,
TX_RATE_STATS_INFO_TX_RATE_STATS);
hal_tx_comp_get_buffer_timestamp(desc, ts);
}
/**