diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 77e32c86c8..37f1b9972a 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -1463,6 +1463,15 @@ struct ol_if_ops { uint32_t service_interval_dl, uint32_t burst_size_dl, uint32_t service_interval_ul, uint32_t burst_size_ul, uint8_t add_or_sub, uint8_t ac); +#endif +#ifdef CONFIG_SAWF + QDF_STATUS + (*peer_update_sawf_ul_params)(struct cdp_ctrl_objmgr_psoc *soc, + uint8_t vdev_id, uint8_t *peer_mac, + uint8_t tid, uint8_t ac, + uint32_t service_interval, + uint32_t burst_size, + uint8_t add_sub); #endif uint32_t (*dp_get_tx_inqueue)(ol_txrx_soc_handle soc); QDF_STATUS(*dp_send_unit_test_cmd)(uint32_t vdev_id, @@ -2171,6 +2180,10 @@ struct cdp_sawf_ops { (*telemetry_get_drop_stats)(void *arg, uint64_t *pass, uint64_t *drop, uint64_t *drop_ttl, uint8_t tid, uint8_t msduq); + QDF_STATUS + (*peer_config_ul)(struct cdp_soc_t *hdl, uint8_t *mac_addr, uint8_t tid, + uint32_t service_interval, uint32_t burst_size, + uint8_t add_or_sub); #endif }; #endif diff --git a/dp/inc/cdp_txrx_sawf.h b/dp/inc/cdp_txrx_sawf.h index 8ab8c2f955..09c3bc46d7 100644 --- a/dp/inc/cdp_txrx_sawf.h +++ b/dp/inc/cdp_txrx_sawf.h @@ -312,6 +312,33 @@ cdp_get_drop_stats(ol_txrx_soc_handle soc, void *arg, arg, pass, drop, drop_ttl, tid, msduq); } +/** + * cdp_sawf_peer_config_ul - Config uplink QoS parameters + * @soc: SOC handle + * @mac_addr: MAC address + * @tid: TID + * @service_interval: Service Interval + * @burst_size: Burst Size + * @add_or_sub: Add or Sub parameters + * + * Return: QDF_STATUS + */ +static inline QDF_STATUS +cdp_sawf_peer_config_ul(ol_txrx_soc_handle soc, uint8_t *mac_addr, uint8_t tid, + uint32_t service_interval, uint32_t burst_size, + uint8_t add_or_sub) +{ + if (!soc || !soc->ops || !soc->ops->sawf_ops || + !soc->ops->sawf_ops->peer_config_ul) { + dp_cdp_debug("Invalid Instance"); + QDF_BUG(0); + return false; + } + + return soc->ops->sawf_ops->peer_config_ul(soc, mac_addr, tid, + service_interval, burst_size, + add_or_sub); +} #else static inline QDF_STATUS cdp_sawf_mpdu_stats_req(ol_txrx_soc_handle soc, uint8_t enable) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index cee89e6db6..7d2e4d276f 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -14130,6 +14130,7 @@ static struct cdp_sawf_ops dp_ops_sawf = { .telemetry_get_throughput_stats = dp_sawf_get_tx_stats, .telemetry_get_mpdu_stats = dp_sawf_get_mpdu_sched_stats, .telemetry_get_drop_stats = dp_sawf_get_drop_stats, + .peer_config_ul = dp_sawf_peer_config_ul, #endif }; #endif