qcacmn: Enhance congestion report
Enhance congestion report by pdev extend stats. Change-Id: I88e8456fa1e2cbe4f3aa8e94138dafba1166c9a9 CRs-Fixed: 2951006
This commit is contained in:

committed by
Madan Koyyalamudi

parent
72025682f2
commit
dfb517c3f8
@@ -895,6 +895,7 @@ typedef enum {
|
||||
WMI_HOST_REQUEST_PEER_ADV_STATS = 0x4000,
|
||||
WMI_HOST_REQUEST_PMF_BCN_PROTECT_STAT = 0x8000,
|
||||
WMI_HOST_REQUEST_VDEV_PRB_FILS_STAT = 0x10000,
|
||||
WMI_HOST_REQUEST_PDEV_EXTD_STAT = 0x20000,
|
||||
WMI_HOST_REQUEST_PDEV_TELEMETRY_STAT = 0x40000,
|
||||
} wmi_host_stats_id;
|
||||
|
||||
@@ -4216,6 +4217,14 @@ struct wmi_host_peer_adv_stats {
|
||||
* @rx_mcs: RX MCS array
|
||||
* @tx_mcs: TX MCS array
|
||||
* @ack_rssi: Ack rssi
|
||||
* @my_rx_count: What portion of time, as measured by the MAC HW clock was
|
||||
* occupied by receiving PPDUs addressed to one of the vdevs
|
||||
* within this pdev.
|
||||
* @rx_matched_11ax_msdu_cnt: number of Rx 11ax MSDUs with matching BSS color
|
||||
* counter updated at EOP (end of packet)
|
||||
* @rx_other_11ax_msdu_cnt: number of Rx 11ax MSDUs with other BSS color counter
|
||||
* updated at EOP (end of packet)
|
||||
* @pdev_id: pdev id
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t rx_rssi_comb;
|
||||
@@ -4226,6 +4235,10 @@ typedef struct {
|
||||
uint32_t rx_mcs[10];
|
||||
uint32_t tx_mcs[10];
|
||||
uint32_t ack_rssi;
|
||||
uint32_t my_rx_count;
|
||||
uint32_t rx_matched_11ax_msdu_cnt;
|
||||
uint32_t rx_other_11ax_msdu_cnt;
|
||||
uint32_t pdev_id;
|
||||
} wmi_host_pdev_ext_stats;
|
||||
|
||||
/**
|
||||
|
@@ -641,6 +641,12 @@ extract_all_stats_counts_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
stats_param->stats_id |=
|
||||
WMI_HOST_REQUEST_VDEV_PRB_FILS_STAT;
|
||||
break;
|
||||
|
||||
case WMI_REQUEST_PDEV_EXTD_STAT:
|
||||
stats_param->stats_id |=
|
||||
WMI_HOST_REQUEST_PDEV_EXTD_STAT;
|
||||
break;
|
||||
|
||||
case WMI_REQUEST_PDEV_TELEMETRY_STAT:
|
||||
stats_param->stats_id |=
|
||||
WMI_HOST_REQUEST_PDEV_TELEMETRY_STAT;
|
||||
@@ -672,7 +678,7 @@ extract_all_stats_counts_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
|
||||
stats_param->last_event = ev->last_event;
|
||||
stats_param->num_pdev_stats = ev->num_pdev_stats;
|
||||
stats_param->num_pdev_ext_stats = 0;
|
||||
stats_param->num_pdev_ext_stats = param_buf->num_pdev_extd_stats;
|
||||
stats_param->num_vdev_stats = ev->num_vdev_stats;
|
||||
stats_param->num_peer_stats = ev->num_peer_stats;
|
||||
stats_param->num_peer_extd_stats = ev->num_peer_extd_stats;
|
||||
@@ -797,7 +803,7 @@ extract_pdev_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf, uint32_t index,
|
||||
param_buf = (WMI_UPDATE_STATS_EVENTID_param_tlvs *) evt_buf;
|
||||
ev_param = (wmi_stats_event_fixed_param *) param_buf->fixed_param;
|
||||
pdev_stats->pdev_id =
|
||||
wmi_handle->ops->convert_pdev_id_target_to_host(wmi_handle,
|
||||
wmi_handle->ops->convert_target_pdev_id_to_host(wmi_handle,
|
||||
ev_param->pdev_id);
|
||||
|
||||
data = param_buf->data;
|
||||
|
@@ -12407,6 +12407,26 @@ static QDF_STATUS extract_unit_test_tlv(wmi_unified_t wmi_handle,
|
||||
static QDF_STATUS extract_pdev_ext_stats_tlv(wmi_unified_t wmi_handle,
|
||||
void *evt_buf, uint32_t index, wmi_host_pdev_ext_stats *pdev_ext_stats)
|
||||
{
|
||||
WMI_UPDATE_STATS_EVENTID_param_tlvs *param_buf;
|
||||
wmi_pdev_extd_stats *ev;
|
||||
|
||||
param_buf = evt_buf;
|
||||
if (!param_buf)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
if (!param_buf->pdev_extd_stats)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
ev = param_buf->pdev_extd_stats + index;
|
||||
|
||||
pdev_ext_stats->pdev_id =
|
||||
wmi_handle->ops->convert_target_pdev_id_to_host(
|
||||
wmi_handle,
|
||||
ev->pdev_id);
|
||||
pdev_ext_stats->my_rx_count = ev->my_rx_count;
|
||||
pdev_ext_stats->rx_matched_11ax_msdu_cnt = ev->rx_matched_11ax_msdu_cnt;
|
||||
pdev_ext_stats->rx_other_11ax_msdu_cnt = ev->rx_other_11ax_msdu_cnt;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user