qcacmn: Separate UL and DL specific latency parameter

Mesh latency implementation should have DL and UL specific
latency parameters

Change-Id: Ib780a23503220f5f6e628cd61a032a8515d3a50e
This commit is contained in:
Mainak Sen
2021-04-08 15:46:51 +05:30
committed by Madan Koyyalamudi
parent df63752a7c
commit 4c655bacbd
3 changed files with 25 additions and 14 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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;
};