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. * This function updates per peer per TID mesh latency related parameters.
* *
* @param dest_mac - destination mac address * @param dest_mac - destination mac address
* @param service_interval - Service Interval per tid * @param service_interval_dl - Service Interval per tid on DL
* @param burst_size - Burst size per tid * @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 * @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 * @return - 0 for non error case, -1 for failure
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc, cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc,
uint8_t *dest_mac, uint32_t service_interval, uint8_t *dest_mac, uint32_t service_interval_dl,
uint32_t burst_size, uint16_t priority, uint8_t add_or_sub) 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) { if (!soc || !soc->ops || !soc->ops->mesh_latency_ops) {
return 1; 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) if (soc->ops->mesh_latency_ops->mesh_latency_update_peer_parameter)
return soc->ops->mesh_latency_ops-> return soc->ops->mesh_latency_ops->
mesh_latency_update_peer_parameter(soc, mesh_latency_update_peer_parameter(soc,
dest_mac, service_interval, dest_mac, service_interval_dl,
burst_size, priority, add_or_sub); burst_size_dl, service_interval_ul,
burst_size_ul, priority, add_or_sub);
return 0; return 0;
} }
#endif #endif

View File

@@ -1197,7 +1197,8 @@ struct ol_if_ops {
QDF_STATUS(*peer_update_mesh_latency_params)( QDF_STATUS(*peer_update_mesh_latency_params)(
struct cdp_ctrl_objmgr_psoc *psoc, struct cdp_ctrl_objmgr_psoc *psoc,
uint8_t vdev_id, uint8_t *peer_mac, uint8_t tid, 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); uint8_t add_or_sub, uint8_t ac);
#endif #endif
}; };
@@ -1771,8 +1772,9 @@ struct cdp_mscs_ops {
struct cdp_mesh_latency_ops { struct cdp_mesh_latency_ops {
QDF_STATUS (*mesh_latency_update_peer_parameter)( QDF_STATUS (*mesh_latency_update_peer_parameter)(
struct cdp_soc_t *soc, struct cdp_soc_t *soc,
uint8_t *dest_mac, uint32_t service_interval, uint8_t *dest_mac, uint32_t service_interval_dl,
uint32_t burst_size, uint16_t priority, uint32_t burst_size_dl, uint32_t service_interval_ul,
uint32_t burst_size_ul, uint16_t priority,
uint8_t add_or_sub); uint8_t add_or_sub);
}; };
#endif #endif

View File

@@ -3169,14 +3169,18 @@ struct dp_wds_ext_peer {
* parameters. This data is updated per peer per TID based on * parameters. This data is updated per peer per TID based on
* the flow tuple classification in external rule database * the flow tuple classification in external rule database
* during packet processing. * during packet processing.
* @service_interval - Service interval associated with TID * @service_interval_dl - Service interval associated with TID in DL
* @burst_size - Burst size additive over multiple flows * @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 * @ac - custom ac derived from service interval
* @msduq - MSDU queue number within TID * @msduq - MSDU queue number within TID
*/ */
struct dp_peer_mesh_latency_parameter { struct dp_peer_mesh_latency_parameter {
uint32_t service_interval; uint32_t service_interval_dl;
uint32_t burst_size; uint32_t burst_size_dl;
uint32_t service_interval_ul;
uint32_t burst_size_ul;
uint8_t ac; uint8_t ac;
uint8_t msduq; uint8_t msduq;
}; };