qcacmn: Add logic for allocation and reset of vdev_stats_id

In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to HW at the time of REO TID Queue setup for the peer.

Add logic for allocation and deallocation of vdev_stats_id and
convey this id to HW.

Change-Id: If5611bf54d057ccf71c6444b5c79a26eb28df87e
CRs-Fixed: 3067843
This commit is contained in:
Harsh Kumar Bijlani
2021-04-28 18:43:09 +05:30
committed by Madan Koyyalamudi
parent f76548dd04
commit 6c7fcf1d61
13 changed files with 152 additions and 10 deletions

View File

@@ -28,6 +28,22 @@
#define HAL_MAX_REO2SW_RINGS 8
#define HAL_NUM_RX_RING_PER_IX_MAP 8
#ifdef QCA_VDEV_STATS_HW_OFFLOAD_SUPPORT
static inline void hal_update_stats_counter_index(uint32_t *reo_queue_desc,
uint8_t vdev_stats_id)
{
#ifdef RX_REO_QUEUE_STATISTICS_COUNTER_INDEX_MASK
HAL_DESC_SET_FIELD(reo_queue_desc, RX_REO_QUEUE,
STATISTICS_COUNTER_INDEX, vdev_stats_id);
#endif
}
#else
static inline void hal_update_stats_counter_index(uint32_t *reo_queue_desc,
uint8_t vdev_stats_id)
{
}
#endif
/* Proto-types */
void hal_get_ba_aging_timeout_be(hal_soc_handle_t hal_soc_hdl, uint8_t ac,
uint32_t *value);