qcacmn: Add target if interface APIs for WDS DP OL ops
Add target_if layer APIs to send wmi commands to add, delete, and update AST. The dp_ol_if_ops functions call into target_if layer for DP-CP interaction. CRs-Fixed: 2997266 Change-Id: Ie392576e3e46d47f658b741f48732d069ee2847d
This commit is contained in:

committed by
Madan Koyyalamudi

parent
6671e93774
commit
3947f3f64f
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -126,4 +126,81 @@ QDF_STATUS
|
||||
target_if_lro_hash_config(struct cdp_ctrl_objmgr_psoc *psoc, uint8_t pdev_id,
|
||||
struct cdp_lro_hash_config *lro_hash_cfg);
|
||||
|
||||
#ifdef WDS_CONV_TARGET_IF_OPS_ENABLE
|
||||
/**
|
||||
* target_if_add_wds_entry() - send wds peer add command to fw
|
||||
* @soc: SoC handle
|
||||
* @vdev_id: vdev_id
|
||||
* @peer_mac: peer mac address
|
||||
* @dest_mac: MAC address of ast node
|
||||
* @flags: WDS entry type WMI_HOST_WDS_FLAG_STATIC for static entry
|
||||
* @type: type from enum cdp_txrx_ast_entry_type
|
||||
*
|
||||
* This API is used by WDS source port learning function to
|
||||
* add a new AST entry in the fw.
|
||||
*
|
||||
* return: QDF_STATUS_SUCCESS for success or error code
|
||||
*/
|
||||
QDF_STATUS
|
||||
target_if_add_wds_entry(struct cdp_ctrl_objmgr_psoc *soc, uint8_t vdev_id,
|
||||
uint8_t *peer_mac, const uint8_t *dest_mac,
|
||||
uint32_t flags, uint8_t type);
|
||||
|
||||
/**
|
||||
* target_if_del_wds_entry() - send wds peer del command to fw
|
||||
* @soc: SoC handle
|
||||
* @vdev_id: vdev_id
|
||||
* @dest_mac: MAC address of ast node
|
||||
* @type: type from enum cdp_txrx_ast_entry_type
|
||||
* @delete_in_fw: flag to indicate if entry needs to be deleted in fw
|
||||
*
|
||||
* This API is used to delete an AST entry from fw
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void
|
||||
target_if_del_wds_entry(struct cdp_ctrl_objmgr_psoc *soc, uint8_t vdev_id,
|
||||
uint8_t *dest_mac, uint8_t type, uint8_t delete_in_fw);
|
||||
|
||||
/**
|
||||
* target_if_update_wds_entry() - send wds peer update command to fw
|
||||
* @soc: SoC handle
|
||||
* @vdev_id: vdev_id
|
||||
* @dest_mac: MAC address of ast node
|
||||
* @peer_mac: peer mac address
|
||||
* @flags: WDS entry type WMI_HOST_WDS_FLAG_STATIC for static entry
|
||||
*
|
||||
* This API is used by update the peer mac address for the ast
|
||||
* in the fw.
|
||||
*
|
||||
* return: QDF_STATUS_SUCCESS for success or error code
|
||||
*/
|
||||
QDF_STATUS
|
||||
target_if_update_wds_entry(struct cdp_ctrl_objmgr_psoc *soc, uint8_t vdev_id,
|
||||
uint8_t *dest_mac, uint8_t *peer_mac,
|
||||
uint32_t flags);
|
||||
#else
|
||||
static inline QDF_STATUS
|
||||
target_if_add_wds_entry(struct cdp_ctrl_objmgr_psoc *soc, uint8_t vdev_id,
|
||||
uint8_t *peer_mac, uint16_t peer_id,
|
||||
const uint8_t *dest_mac, uint8_t *next_node_mac,
|
||||
uint32_t flags, uint8_t type)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline void
|
||||
target_if_del_wds_entry(struct cdp_ctrl_objmgr_psoc *soc, uint8_t vdev_id,
|
||||
uint8_t *dest_mac, uint8_t type, uint8_t delete_in_fw)
|
||||
{
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
target_if_update_wds_entry(struct cdp_ctrl_objmgr_psoc *soc, uint8_t vdev_id,
|
||||
uint8_t *dest_mac, uint8_t *peer_mac,
|
||||
uint32_t flags)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif /* FEATURE_MCL_REPEATER */
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user