diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index dc40f67eb9..af50fbf63c 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -2007,6 +2007,10 @@ struct cdp_sawf_ops { uint32_t svc_id, uint8_t *mac, void *data); QDF_STATUS + (*sawf_mpdu_stats_req)(struct cdp_soc_t *soc, uint8_t enable); + QDF_STATUS + (*sawf_mpdu_details_stats_req)(struct cdp_soc_t *soc, uint8_t enable); + QDF_STATUS (*txrx_sawf_set_mov_avg_params)(uint32_t num_pkt, uint32_t num_win); QDF_STATUS (*txrx_sawf_set_sla_params)(uint32_t num_pkt, uint32_t time_secs); diff --git a/dp/inc/cdp_txrx_sawf.h b/dp/inc/cdp_txrx_sawf.h index fdb331d0e5..df306b0f6f 100644 --- a/dp/inc/cdp_txrx_sawf.h +++ b/dp/inc/cdp_txrx_sawf.h @@ -128,6 +128,52 @@ cdp_get_peer_sawf_tx_stats(ol_txrx_soc_handle soc, uint32_t svc_id, mac, data); } +/** + * cdp_sawf_mpdu_stats_req() - Call to subscribe to MPDU stats TLV + * @soc: soc handle + * @enable: 1: enable 0: disable + * + * return: status Success/Failure + */ +static inline QDF_STATUS +cdp_sawf_mpdu_stats_req(ol_txrx_soc_handle soc, uint8_t enable) +{ + if (!soc || !soc->ops) { + dp_cdp_debug("Invalid Instance"); + QDF_BUG(0); + return QDF_STATUS_E_FAILURE; + } + + if (!soc->ops->sawf_ops || + !soc->ops->sawf_ops->sawf_mpdu_stats_req) + return QDF_STATUS_E_FAILURE; + + return soc->ops->sawf_ops->sawf_mpdu_stats_req(soc, enable); +} + +/** + * cdp_sawf_mpdu_details_stats_req - Call to subscribe to MPDU details stats TLV + * @soc: soc handle + * @enable: 1: enable 0: disable + * + * return: status Success/Failure + */ +static inline QDF_STATUS +cdp_sawf_mpdu_details_stats_req(ol_txrx_soc_handle soc, uint8_t enable) +{ + if (!soc || !soc->ops) { + dp_cdp_debug("Invalid Instance"); + QDF_BUG(0); + return QDF_STATUS_E_FAILURE; + } + + if (!soc->ops->sawf_ops || + !soc->ops->sawf_ops->sawf_mpdu_details_stats_req) + return QDF_STATUS_E_FAILURE; + + return soc->ops->sawf_ops->sawf_mpdu_details_stats_req(soc, enable); +} + /** * cdp_sawf_set_mov_avg_params - Set moving average pararms * @num_pkt: No of packets per window to calucalte moving average @@ -147,7 +193,7 @@ cdp_sawf_set_mov_avg_params(ol_txrx_soc_handle soc, } if (!soc->ops->sawf_ops || - !soc->ops->sawf_ops->txrx_get_peer_sawf_tx_stats) + !soc->ops->sawf_ops->txrx_sawf_set_mov_avg_params) return QDF_STATUS_E_FAILURE; return soc->ops->sawf_ops->txrx_sawf_set_mov_avg_params(num_pkt, @@ -173,7 +219,7 @@ cdp_sawf_set_sla_params(ol_txrx_soc_handle soc, } if (!soc->ops->sawf_ops || - !soc->ops->sawf_ops->txrx_get_peer_sawf_tx_stats) + !soc->ops->sawf_ops->txrx_sawf_set_sla_params) return QDF_STATUS_E_FAILURE; return soc->ops->sawf_ops->txrx_sawf_set_sla_params(num_pkt, @@ -195,7 +241,7 @@ cdp_sawf_init_telemtery_params(ol_txrx_soc_handle soc) } if (!soc->ops->sawf_ops || - !soc->ops->sawf_ops->txrx_get_peer_sawf_tx_stats) + !soc->ops->sawf_ops->txrx_sawf_init_telemtery_params) return QDF_STATUS_E_FAILURE; return soc->ops->sawf_ops->txrx_sawf_init_telemtery_params(); diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index dac88564fe..f08b4930a2 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -12735,6 +12735,8 @@ static struct cdp_sawf_ops dp_ops_sawf = { #ifdef CONFIG_SAWF .txrx_get_peer_sawf_delay_stats = dp_sawf_get_peer_delay_stats, .txrx_get_peer_sawf_tx_stats = dp_sawf_get_peer_tx_stats, + .sawf_mpdu_stats_req = dp_sawf_mpdu_stats_req, + .sawf_mpdu_details_stats_req = dp_sawf_mpdu_details_stats_req, .txrx_sawf_set_mov_avg_params = dp_sawf_set_mov_avg_params, .txrx_sawf_set_sla_params = dp_sawf_set_sla_params, .txrx_sawf_init_telemtery_params = dp_sawf_init_telemetry_params,