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_PEER_ADV_STATS = 0x4000,
|
||||||
WMI_HOST_REQUEST_PMF_BCN_PROTECT_STAT = 0x8000,
|
WMI_HOST_REQUEST_PMF_BCN_PROTECT_STAT = 0x8000,
|
||||||
WMI_HOST_REQUEST_VDEV_PRB_FILS_STAT = 0x10000,
|
WMI_HOST_REQUEST_VDEV_PRB_FILS_STAT = 0x10000,
|
||||||
|
WMI_HOST_REQUEST_PDEV_EXTD_STAT = 0x20000,
|
||||||
WMI_HOST_REQUEST_PDEV_TELEMETRY_STAT = 0x40000,
|
WMI_HOST_REQUEST_PDEV_TELEMETRY_STAT = 0x40000,
|
||||||
} wmi_host_stats_id;
|
} wmi_host_stats_id;
|
||||||
|
|
||||||
@@ -4216,6 +4217,14 @@ struct wmi_host_peer_adv_stats {
|
|||||||
* @rx_mcs: RX MCS array
|
* @rx_mcs: RX MCS array
|
||||||
* @tx_mcs: TX MCS array
|
* @tx_mcs: TX MCS array
|
||||||
* @ack_rssi: Ack rssi
|
* @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 {
|
typedef struct {
|
||||||
uint32_t rx_rssi_comb;
|
uint32_t rx_rssi_comb;
|
||||||
@@ -4226,6 +4235,10 @@ typedef struct {
|
|||||||
uint32_t rx_mcs[10];
|
uint32_t rx_mcs[10];
|
||||||
uint32_t tx_mcs[10];
|
uint32_t tx_mcs[10];
|
||||||
uint32_t ack_rssi;
|
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;
|
} 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 |=
|
stats_param->stats_id |=
|
||||||
WMI_HOST_REQUEST_VDEV_PRB_FILS_STAT;
|
WMI_HOST_REQUEST_VDEV_PRB_FILS_STAT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WMI_REQUEST_PDEV_EXTD_STAT:
|
||||||
|
stats_param->stats_id |=
|
||||||
|
WMI_HOST_REQUEST_PDEV_EXTD_STAT;
|
||||||
|
break;
|
||||||
|
|
||||||
case WMI_REQUEST_PDEV_TELEMETRY_STAT:
|
case WMI_REQUEST_PDEV_TELEMETRY_STAT:
|
||||||
stats_param->stats_id |=
|
stats_param->stats_id |=
|
||||||
WMI_HOST_REQUEST_PDEV_TELEMETRY_STAT;
|
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->last_event = ev->last_event;
|
||||||
stats_param->num_pdev_stats = ev->num_pdev_stats;
|
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_vdev_stats = ev->num_vdev_stats;
|
||||||
stats_param->num_peer_stats = ev->num_peer_stats;
|
stats_param->num_peer_stats = ev->num_peer_stats;
|
||||||
stats_param->num_peer_extd_stats = ev->num_peer_extd_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;
|
param_buf = (WMI_UPDATE_STATS_EVENTID_param_tlvs *) evt_buf;
|
||||||
ev_param = (wmi_stats_event_fixed_param *) param_buf->fixed_param;
|
ev_param = (wmi_stats_event_fixed_param *) param_buf->fixed_param;
|
||||||
pdev_stats->pdev_id =
|
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);
|
ev_param->pdev_id);
|
||||||
|
|
||||||
data = param_buf->data;
|
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,
|
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)
|
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;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user