From 76693bcc89bc8868a1eb476deb2cca5f331c278d Mon Sep 17 00:00:00 2001 From: Santosh Anbu Date: Mon, 23 Apr 2018 16:38:54 +0530 Subject: [PATCH] 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 --- dp/inc/cdp_txrx_cmn.h | 8 ++++---- dp/inc/cdp_txrx_ops.h | 5 +++-- dp/wifi3.0/dp_main.c | 13 ++++++++----- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/dp/inc/cdp_txrx_cmn.h b/dp/inc/cdp_txrx_cmn.h index a0a1ce13f6..ea8ba0b424 100644 --- a/dp/inc/cdp_txrx_cmn.h +++ b/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 diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index f4daca7793..82e4c46d5a 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/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); diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 3ba97fcf94..bafdf71efc 100644 --- a/dp/wifi3.0/dp_main.c +++ b/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;