qcacmn: DBDC repeater mode changes in AST
Add new ast_get_type API for DBDC repeater feature. Add other changes required in WDS and MEC handling required for DBDC repeater feature to function properly. Apply sta kickout logic to handle roaming cases only within same radio. For roaming across radios, DP should rely on control path. Change-Id: If9b35720082dd87de40827843a14238e818bc454
This commit is contained in:

committed by
nshrivas

szülő
52c6b73468
commit
3756b7603e
@@ -472,6 +472,31 @@ static inline uint8_t cdp_peer_ast_get_next_hop
|
||||
ast_handle);
|
||||
}
|
||||
|
||||
/**
|
||||
* cdp_peer_ast_get_type() - Return type (Static, WDS, MEC) of AST entry
|
||||
* @soc: DP SoC handle
|
||||
* @ast_handle: Opaque handle to AST entry
|
||||
*
|
||||
* Return: AST entry type (Static/WDS/MEC)
|
||||
*/
|
||||
static inline enum cdp_txrx_ast_entry_type cdp_peer_ast_get_type
|
||||
(ol_txrx_soc_handle soc, void *ast_handle)
|
||||
|
||||
{
|
||||
if (!soc || !soc->ops) {
|
||||
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
|
||||
"%s: Invalid Instance:", __func__);
|
||||
QDF_BUG(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!soc->ops->cmn_drv_ops ||
|
||||
!soc->ops->cmn_drv_ops->txrx_peer_ast_get_type)
|
||||
return 0;
|
||||
|
||||
return soc->ops->cmn_drv_ops->txrx_peer_ast_get_type(soc, ast_handle);
|
||||
}
|
||||
|
||||
static inline void cdp_peer_ast_set_type
|
||||
(ol_txrx_soc_handle soc, void *ast_handle,
|
||||
enum cdp_txrx_ast_entry_type type)
|
||||
|
@@ -304,6 +304,7 @@ enum ol_txrx_peer_state {
|
||||
enum cdp_txrx_ast_entry_type {
|
||||
CDP_TXRX_AST_TYPE_NONE, /* static ast entry for connected peer */
|
||||
CDP_TXRX_AST_TYPE_STATIC, /* static ast entry for connected peer */
|
||||
CDP_TXRX_AST_TYPE_SELF, /* static ast entry for self peer (STA mode) */
|
||||
CDP_TXRX_AST_TYPE_WDS, /* WDS peer ast entry type*/
|
||||
CDP_TXRX_AST_TYPE_MEC, /* Multicast echo ast entry type */
|
||||
CDP_TXRX_AST_TYPE_WDS_HM, /* HM WDS entry */
|
||||
|
@@ -120,6 +120,9 @@ struct cdp_cmn_ops {
|
||||
(ol_txrx_soc_handle soc, void *ast_hdl,
|
||||
enum cdp_txrx_ast_entry_type type);
|
||||
|
||||
enum cdp_txrx_ast_entry_type (*txrx_peer_ast_get_type)
|
||||
(ol_txrx_soc_handle soc, void *ast_hdl);
|
||||
|
||||
void (*txrx_peer_delete)(void *peer, uint32_t bitmap);
|
||||
|
||||
int (*txrx_set_monitor_mode)(struct cdp_vdev *vdev,
|
||||
|
Reference in New Issue
Block a user