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
Esse commit está contido em:
Santosh Anbu
2018-04-23 16:38:54 +05:30
commit de nshrivas
commit 76693bcc89
3 arquivos alterados com 15 adições e 11 exclusões

Ver arquivo

@@ -354,7 +354,7 @@ static inline int cdp_peer_add_ast
} }
static inline void cdp_peer_reset_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) { if (!soc || !soc->ops) {
@@ -367,11 +367,11 @@ static inline void cdp_peer_reset_ast
!soc->ops->cmn_drv_ops->txrx_peer_reset_ast) !soc->ops->cmn_drv_ops->txrx_peer_reset_ast)
return; 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 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) { if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG, 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) !soc->ops->cmn_drv_ops->txrx_peer_reset_ast_table)
return; 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 static inline void cdp_peer_flush_ast_table

Ver arquivo

@@ -297,9 +297,10 @@ struct cdp_cmn_ops {
void *dp_txrx_handle); void *dp_txrx_handle);
void (*txrx_peer_reset_ast) 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); void (*txrx_peer_flush_ast_table)(ol_txrx_soc_handle soc);

Ver arquivo

@@ -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 * dp_wds_reset_ast_wifi3() - Reset the is_active param for ast entry
* @soc_handle: Datapath SOC handle * @soc_handle: Datapath SOC handle
* @ast_entry_hdl: AST Entry handle * @wds_macaddr: MAC address of the WDS entry to be added
* @vdev_hdl: vdev handle
* Return: None * Return: None
*/ */
static void dp_wds_reset_ast_wifi3(struct cdp_soc_t *soc_hdl, 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_soc *soc = (struct dp_soc *)soc_hdl;
struct dp_ast_entry *ast_entry = NULL; 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 * 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 * 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_soc *soc = (struct dp_soc *) soc_hdl;
struct dp_pdev *pdev; struct dp_pdev *pdev;