Преглед изворни кода

qcacmn: Separate UL and DL specific latency parameter

Mesh latency implementation should have DL and UL specific
latency parameters

Change-Id: Ib780a23503220f5f6e628cd61a032a8515d3a50e
Mainak Sen пре 4 година
родитељ
комит
4c655bacbd
3 измењених фајлова са 25 додато и 14 уклоњено
  1. 12 7
      dp/inc/cdp_txrx_mesh_latency.h
  2. 5 3
      dp/inc/cdp_txrx_ops.h
  3. 8 4
      dp/wifi3.0/dp_types.h

+ 12 - 7
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

+ 5 - 3
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

+ 8 - 4
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;
 };