Procházet zdrojové kódy

qcacmn: FW based DMS support for 11v DMS

In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.

Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
Sai Rupesh Chevuru před 3 roky
rodič
revize
c5550678a0
4 změnil soubory, kde provedl 19 přidání a 20 odebrání
  1. 4 4
      dp/inc/cdp_txrx_cmn.h
  2. 3 3
      dp/inc/cdp_txrx_ops.h
  3. 3 8
      dp/wifi3.0/dp_internal.h
  4. 9 5
      dp/wifi3.0/dp_main.c

+ 4 - 4
dp/inc/cdp_txrx_cmn.h

@@ -2646,9 +2646,8 @@ cdp_rx_get_pending(ol_txrx_soc_handle soc)
 		return 0;
 }
 
-#ifdef QCA_SUPPORT_WDS_EXTENDED
 static inline uint16_t
-cdp_wds_ext_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
+cdp_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
 {
 	if (!soc || !soc->ops) {
 		dp_cdp_debug("Invalid Instance");
@@ -2657,13 +2656,14 @@ cdp_wds_ext_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
 	}
 
 	if (!soc->ops->cmn_drv_ops ||
-	    !soc->ops->cmn_drv_ops->get_wds_ext_peer_id)
+	    !soc->ops->cmn_drv_ops->get_peer_id)
 		return 0;
 
-	return soc->ops->cmn_drv_ops->get_wds_ext_peer_id
+	return soc->ops->cmn_drv_ops->get_peer_id
 			(soc, vdev_id, mac);
 }
 
+#ifdef QCA_SUPPORT_WDS_EXTENDED
 static inline QDF_STATUS
 cdp_wds_ext_set_peer_rx(ol_txrx_soc_handle soc, uint8_t vdev_id,
 			uint8_t *mac, ol_txrx_rx_fp rx,

+ 3 - 3
dp/inc/cdp_txrx_ops.h

@@ -591,10 +591,10 @@ struct cdp_cmn_ops {
 		 (ol_txrx_soc_handle soc, uint8_t vdev_id,
 		  u_int8_t newmac[][QDF_MAC_ADDR_SIZE], uint16_t mac_cnt,
 		  bool limit);
+	uint16_t (*get_peer_id)(ol_txrx_soc_handle soc,
+				uint8_t vdev_id,
+				uint8_t *mac);
 #ifdef QCA_SUPPORT_WDS_EXTENDED
-	uint16_t (*get_wds_ext_peer_id)(ol_txrx_soc_handle soc,
-					uint8_t vdev_id,
-					uint8_t *mac);
 	QDF_STATUS (*set_wds_ext_peer_rx)(ol_txrx_soc_handle soc,
 					  uint8_t vdev_id,
 					  uint8_t *mac,

+ 3 - 8
dp/wifi3.0/dp_internal.h

@@ -3189,12 +3189,8 @@ static inline QDF_STATUS dp_soc_swlm_detach(struct dp_soc *soc)
 }
 #endif /* !WLAN_DP_FEATURE_SW_LATENCY_MGR */
 
-#ifdef QCA_SUPPORT_WDS_EXTENDED
 /**
- * dp_wds_ext_get_peer_id(): function to get peer id by mac
- * This API is called from control path when wds extended
- * device is created, hence it also updates wds extended
- * peer state to up, which will be referred in rx processing.
+ * dp_get_peer_id(): function to get peer id by mac
  * @soc: Datapath soc handle
  * @vdev_id: vdev id
  * @mac: Peer mac address
@@ -3202,10 +3198,9 @@ static inline QDF_STATUS dp_soc_swlm_detach(struct dp_soc *soc)
  * return: valid peer id on success
  *         HTT_INVALID_PEER on failure
  */
-uint16_t dp_wds_ext_get_peer_id(ol_txrx_soc_handle soc,
-				uint8_t vdev_id,
-				uint8_t *mac);
+uint16_t dp_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac);
 
+#ifdef QCA_SUPPORT_WDS_EXTENDED
 /**
  * dp_wds_ext_set_peer_state(): function to set peer state
  * @soc: Datapath soc handle

+ 9 - 5
dp/wifi3.0/dp_main.c

@@ -10066,6 +10066,12 @@ static QDF_STATUS dp_get_vdev_param(struct cdp_soc_t *cdp_soc, uint8_t vdev_id,
 		val->cdp_vdev_param_peer_authorize =
 			    vdev->peer_authorize;
 		break;
+	case CDP_TX_ENCAP_TYPE:
+		val->cdp_vdev_param_tx_encap = vdev->tx_encap_type;
+		break;
+	case CDP_ENABLE_CIPHER:
+		val->cdp_vdev_param_cipher_en = vdev->sec_type;
+		break;
 #ifdef WLAN_SUPPORT_MESH_LATENCY
 	case CDP_ENABLE_PEER_TID_LATENCY:
 		val->cdp_vdev_param_peer_tid_latency_enable =
@@ -12519,8 +12525,8 @@ static struct cdp_cmn_ops dp_ops_cmn = {
 	.set_vlan_groupkey = dp_set_vlan_groupkey,
 #endif
 	.get_peer_mac_list = dp_get_peer_mac_list,
+	.get_peer_id = dp_get_peer_id,
 #ifdef QCA_SUPPORT_WDS_EXTENDED
-	.get_wds_ext_peer_id = dp_wds_ext_get_peer_id,
 	.set_wds_ext_peer_rx = dp_wds_ext_set_peer_rx,
 #endif /* QCA_SUPPORT_WDS_EXTENDED */
 
@@ -14362,10 +14368,7 @@ uint16_t dp_get_peer_mac_list(ol_txrx_soc_handle soc, uint8_t vdev_id,
 	return new_mac_cnt;
 }
 
-#ifdef QCA_SUPPORT_WDS_EXTENDED
-uint16_t dp_wds_ext_get_peer_id(ol_txrx_soc_handle soc,
-				uint8_t vdev_id,
-				uint8_t *mac)
+uint16_t dp_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
 {
 	struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc,
 						       mac, 0, vdev_id,
@@ -14382,6 +14385,7 @@ uint16_t dp_wds_ext_get_peer_id(ol_txrx_soc_handle soc,
 	return peer_id;
 }
 
+#ifdef QCA_SUPPORT_WDS_EXTENDED
 QDF_STATUS dp_wds_ext_set_peer_rx(ol_txrx_soc_handle soc,
 				  uint8_t vdev_id,
 				  uint8_t *mac,