qcacmn: Support SAWF uplink QoS

Add CDP and OL interface op to set uplink QoS parameters for SAWF.

Change-Id: Idc53f47ddf2bf78bc9c2a22cbb13de5c900cb289
CRs-Fixed: 3331087
This commit is contained in:
Ripan Deuri
2022-09-22 23:19:31 +05:30
committed by Madan Koyyalamudi
parent f8f0b97ffa
commit 9fbd2188d6
3 changed files with 41 additions and 0 deletions

View File

@@ -1463,6 +1463,15 @@ struct ol_if_ops {
uint32_t service_interval_dl, uint32_t burst_size_dl, uint32_t service_interval_dl, uint32_t burst_size_dl,
uint32_t service_interval_ul, uint32_t burst_size_ul, uint32_t service_interval_ul, uint32_t burst_size_ul,
uint8_t add_or_sub, uint8_t ac); 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 #endif
uint32_t (*dp_get_tx_inqueue)(ol_txrx_soc_handle soc); uint32_t (*dp_get_tx_inqueue)(ol_txrx_soc_handle soc);
QDF_STATUS(*dp_send_unit_test_cmd)(uint32_t vdev_id, 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, (*telemetry_get_drop_stats)(void *arg, uint64_t *pass, uint64_t *drop,
uint64_t *drop_ttl, uint8_t tid, uint64_t *drop_ttl, uint8_t tid,
uint8_t msduq); 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
}; };
#endif #endif

View File

@@ -312,6 +312,33 @@ cdp_get_drop_stats(ol_txrx_soc_handle soc, void *arg,
arg, pass, drop, drop_ttl, tid, msduq); 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 #else
static inline QDF_STATUS static inline QDF_STATUS
cdp_sawf_mpdu_stats_req(ol_txrx_soc_handle soc, uint8_t enable) cdp_sawf_mpdu_stats_req(ol_txrx_soc_handle soc, uint8_t enable)

View File

@@ -14130,6 +14130,7 @@ static struct cdp_sawf_ops dp_ops_sawf = {
.telemetry_get_throughput_stats = dp_sawf_get_tx_stats, .telemetry_get_throughput_stats = dp_sawf_get_tx_stats,
.telemetry_get_mpdu_stats = dp_sawf_get_mpdu_sched_stats, .telemetry_get_mpdu_stats = dp_sawf_get_mpdu_sched_stats,
.telemetry_get_drop_stats = dp_sawf_get_drop_stats, .telemetry_get_drop_stats = dp_sawf_get_drop_stats,
.peer_config_ul = dp_sawf_peer_config_ul,
#endif #endif
}; };
#endif #endif