From 4c655bacbd499be4577a918f6d3bec1b6684150b Mon Sep 17 00:00:00 2001 From: Mainak Sen Date: Thu, 8 Apr 2021 15:46:51 +0530 Subject: [PATCH] qcacmn: Separate UL and DL specific latency parameter Mesh latency implementation should have DL and UL specific latency parameters Change-Id: Ib780a23503220f5f6e628cd61a032a8515d3a50e --- dp/inc/cdp_txrx_mesh_latency.h | 19 ++++++++++++------- dp/inc/cdp_txrx_ops.h | 8 +++++--- dp/wifi3.0/dp_types.h | 12 ++++++++---- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/dp/inc/cdp_txrx_mesh_latency.h b/dp/inc/cdp_txrx_mesh_latency.h index 14f951de47..471a4519b6 100644 --- a/dp/inc/cdp_txrx_mesh_latency.h +++ b/dp/inc/cdp_txrx_mesh_latency.h @@ -31,16 +31,20 @@ * This function updates per peer per TID mesh latency related parameters. * * @param dest_mac - destination mac address - * @param service_interval - Service Interval per tid - * @param burst_size - Burst size per tid + * @param service_interval_dl - Service Interval per tid on DL + * @param burst_size_dl - Burst size per tid on DL + * @param service_interval_ul - Service Interval per tid on UL + * @param burst_size_ul - Burst size per tid on UL * @param priority - user priority combination of tid and msdu queue - * #add_or_sub - indicates to add or substract latency parameter + * @add_or_sub - indicates to add or subtract latency parameter * @return - 0 for non error case, -1 for failure */ static inline QDF_STATUS cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc, - uint8_t *dest_mac, uint32_t service_interval, - uint32_t burst_size, uint16_t priority, uint8_t add_or_sub) + uint8_t *dest_mac, uint32_t service_interval_dl, + uint32_t burst_size_dl, uint32_t service_interval_ul, + uint32_t burst_size_ul, uint16_t priority, + uint8_t add_or_sub) { if (!soc || !soc->ops || !soc->ops->mesh_latency_ops) { return 1; @@ -49,8 +53,9 @@ cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc, if (soc->ops->mesh_latency_ops->mesh_latency_update_peer_parameter) return soc->ops->mesh_latency_ops-> mesh_latency_update_peer_parameter(soc, - dest_mac, service_interval, - burst_size, priority, add_or_sub); + dest_mac, service_interval_dl, + burst_size_dl, service_interval_ul, + burst_size_ul, priority, add_or_sub); return 0; } #endif diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 9fe460a466..b8c8c511ba 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -1197,7 +1197,8 @@ struct ol_if_ops { QDF_STATUS(*peer_update_mesh_latency_params)( struct cdp_ctrl_objmgr_psoc *psoc, uint8_t vdev_id, uint8_t *peer_mac, uint8_t tid, - uint32_t service_interval, uint32_t burst_size, + 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 }; @@ -1771,8 +1772,9 @@ struct cdp_mscs_ops { struct cdp_mesh_latency_ops { QDF_STATUS (*mesh_latency_update_peer_parameter)( struct cdp_soc_t *soc, - uint8_t *dest_mac, uint32_t service_interval, - uint32_t burst_size, uint16_t priority, + uint8_t *dest_mac, uint32_t service_interval_dl, + uint32_t burst_size_dl, uint32_t service_interval_ul, + uint32_t burst_size_ul, uint16_t priority, uint8_t add_or_sub); }; #endif diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h index 6357bfb21c..5aa4628f41 100644 --- a/dp/wifi3.0/dp_types.h +++ b/dp/wifi3.0/dp_types.h @@ -3169,14 +3169,18 @@ struct dp_wds_ext_peer { * parameters. This data is updated per peer per TID based on * the flow tuple classification in external rule database * during packet processing. - * @service_interval - Service interval associated with TID - * @burst_size - Burst size additive over multiple flows + * @service_interval_dl - Service interval associated with TID in DL + * @burst_size_dl - Burst size additive over multiple flows in DL + * @service_interval_ul - Service interval associated with TID in UL + * @burst_size_ul - Burst size additive over multiple flows in UL * @ac - custom ac derived from service interval * @msduq - MSDU queue number within TID */ struct dp_peer_mesh_latency_parameter { - uint32_t service_interval; - uint32_t burst_size; + uint32_t service_interval_dl; + uint32_t burst_size_dl; + uint32_t service_interval_ul; + uint32_t burst_size_ul; uint8_t ac; uint8_t msduq; };