Prechádzať zdrojové kódy

qcacmn: Support HMWDS for legacy platform

HMWDS for legacy was broken during bring up of DBDC on Hawkeye
platform.
Add cmn_tx_ops to support add, delete and update of AST entries.

Change-Id: Ia2a465a1f5f3d304a35d02c33bff73c56bb010a3
CRs-Fixed: 2225830
Santosh Anbu 7 rokov pred
rodič
commit
76693bcc89
3 zmenil súbory, kde vykonal 15 pridanie a 11 odobranie
  1. 4 4
      dp/inc/cdp_txrx_cmn.h
  2. 3 2
      dp/inc/cdp_txrx_ops.h
  3. 8 5
      dp/wifi3.0/dp_main.c

+ 4 - 4
dp/inc/cdp_txrx_cmn.h

@@ -354,7 +354,7 @@ static inline int cdp_peer_add_ast
 }
 
 static inline void cdp_peer_reset_ast
-	(ol_txrx_soc_handle soc, uint8_t *wds_macaddr)
+	(ol_txrx_soc_handle soc, uint8_t *wds_macaddr, void *vdev_hdl)
 {
 
 	if (!soc || !soc->ops) {
@@ -367,11 +367,11 @@ static inline void cdp_peer_reset_ast
 	    !soc->ops->cmn_drv_ops->txrx_peer_reset_ast)
 		return;
 
-	soc->ops->cmn_drv_ops->txrx_peer_reset_ast(soc, wds_macaddr);
+	soc->ops->cmn_drv_ops->txrx_peer_reset_ast(soc, wds_macaddr, vdev_hdl);
 }
 
 static inline void cdp_peer_reset_ast_table
-	(ol_txrx_soc_handle soc)
+	(ol_txrx_soc_handle soc, void *vdev_hdl)
 {
 	if (!soc || !soc->ops) {
 		QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
@@ -384,7 +384,7 @@ static inline void cdp_peer_reset_ast_table
 	    !soc->ops->cmn_drv_ops->txrx_peer_reset_ast_table)
 		return;
 
-	soc->ops->cmn_drv_ops->txrx_peer_reset_ast_table(soc);
+	soc->ops->cmn_drv_ops->txrx_peer_reset_ast_table(soc, vdev_hdl);
 }
 
 static inline void cdp_peer_flush_ast_table

+ 3 - 2
dp/inc/cdp_txrx_ops.h

@@ -297,9 +297,10 @@ struct cdp_cmn_ops {
 			void *dp_txrx_handle);
 
 	void (*txrx_peer_reset_ast)
-		(ol_txrx_soc_handle soc, uint8_t *ast_macaddr);
+		(ol_txrx_soc_handle soc, uint8_t *ast_macaddr, void *vdev_hdl);
 
-	void (*txrx_peer_reset_ast_table)(ol_txrx_soc_handle soc);
+	void (*txrx_peer_reset_ast_table)(ol_txrx_soc_handle soc,
+					  void *vdev_hdl);
 
 	void (*txrx_peer_flush_ast_table)(ol_txrx_soc_handle soc);
 

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

@@ -335,12 +335,13 @@ static int dp_peer_update_ast_wifi3(struct cdp_soc_t *soc_hdl,
 
 /*
  * dp_wds_reset_ast_wifi3() - Reset the is_active param for ast entry
- * @soc_handle:		Datapath SOC handle
- * @ast_entry_hdl:	AST Entry handle
+ * @soc_handle: Datapath SOC handle
+ * @wds_macaddr: MAC address of the WDS entry to be added
+ * @vdev_hdl: vdev handle
  * Return: None
  */
 static void dp_wds_reset_ast_wifi3(struct cdp_soc_t *soc_hdl,
-						uint8_t *wds_macaddr)
+				    uint8_t *wds_macaddr, void *vdev_hdl)
 {
 	struct dp_soc *soc = (struct dp_soc *)soc_hdl;
 	struct dp_ast_entry *ast_entry = NULL;
@@ -356,11 +357,13 @@ static void dp_wds_reset_ast_wifi3(struct cdp_soc_t *soc_hdl,
 
 /*
  * dp_wds_reset_ast_table_wifi3() - Reset the is_active param for all ast entry
- * @soc:		Datapath SOC handle
+ * @soc: Datapath SOC handle
+ * @vdev_hdl: vdev handle
  *
  * Return: None
  */
-static void dp_wds_reset_ast_table_wifi3(struct cdp_soc_t  *soc_hdl)
+static void dp_wds_reset_ast_table_wifi3(struct cdp_soc_t *soc_hdl,
+					 void *vdev_hdl)
 {
 	struct dp_soc *soc = (struct dp_soc *) soc_hdl;
 	struct dp_pdev *pdev;