qcacmn: FW based DMS support for 11v DMS
In QCN9224, when 11v DMS feature is enabled use FW based DMS support instead of SW based WAR. Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4 CRs-Fixed: 3182547
This commit is contained in:

committed by
Madan Koyyalamudi

parent
f74f73dc68
commit
c5550678a0
@@ -2646,9 +2646,8 @@ cdp_rx_get_pending(ol_txrx_soc_handle soc)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
|
||||||
static inline uint16_t
|
static inline uint16_t
|
||||||
cdp_wds_ext_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
|
cdp_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
|
||||||
{
|
{
|
||||||
if (!soc || !soc->ops) {
|
if (!soc || !soc->ops) {
|
||||||
dp_cdp_debug("Invalid Instance");
|
dp_cdp_debug("Invalid Instance");
|
||||||
@@ -2657,13 +2656,14 @@ cdp_wds_ext_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!soc->ops->cmn_drv_ops ||
|
if (!soc->ops->cmn_drv_ops ||
|
||||||
!soc->ops->cmn_drv_ops->get_wds_ext_peer_id)
|
!soc->ops->cmn_drv_ops->get_peer_id)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return soc->ops->cmn_drv_ops->get_wds_ext_peer_id
|
return soc->ops->cmn_drv_ops->get_peer_id
|
||||||
(soc, vdev_id, mac);
|
(soc, vdev_id, mac);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
||||||
static inline QDF_STATUS
|
static inline QDF_STATUS
|
||||||
cdp_wds_ext_set_peer_rx(ol_txrx_soc_handle soc, uint8_t vdev_id,
|
cdp_wds_ext_set_peer_rx(ol_txrx_soc_handle soc, uint8_t vdev_id,
|
||||||
uint8_t *mac, ol_txrx_rx_fp rx,
|
uint8_t *mac, ol_txrx_rx_fp rx,
|
||||||
|
@@ -591,10 +591,10 @@ struct cdp_cmn_ops {
|
|||||||
(ol_txrx_soc_handle soc, uint8_t vdev_id,
|
(ol_txrx_soc_handle soc, uint8_t vdev_id,
|
||||||
u_int8_t newmac[][QDF_MAC_ADDR_SIZE], uint16_t mac_cnt,
|
u_int8_t newmac[][QDF_MAC_ADDR_SIZE], uint16_t mac_cnt,
|
||||||
bool limit);
|
bool limit);
|
||||||
|
uint16_t (*get_peer_id)(ol_txrx_soc_handle soc,
|
||||||
|
uint8_t vdev_id,
|
||||||
|
uint8_t *mac);
|
||||||
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
||||||
uint16_t (*get_wds_ext_peer_id)(ol_txrx_soc_handle soc,
|
|
||||||
uint8_t vdev_id,
|
|
||||||
uint8_t *mac);
|
|
||||||
QDF_STATUS (*set_wds_ext_peer_rx)(ol_txrx_soc_handle soc,
|
QDF_STATUS (*set_wds_ext_peer_rx)(ol_txrx_soc_handle soc,
|
||||||
uint8_t vdev_id,
|
uint8_t vdev_id,
|
||||||
uint8_t *mac,
|
uint8_t *mac,
|
||||||
|
@@ -3189,12 +3189,8 @@ static inline QDF_STATUS dp_soc_swlm_detach(struct dp_soc *soc)
|
|||||||
}
|
}
|
||||||
#endif /* !WLAN_DP_FEATURE_SW_LATENCY_MGR */
|
#endif /* !WLAN_DP_FEATURE_SW_LATENCY_MGR */
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
|
||||||
/**
|
/**
|
||||||
* dp_wds_ext_get_peer_id(): function to get peer id by mac
|
* dp_get_peer_id(): function to get peer id by mac
|
||||||
* This API is called from control path when wds extended
|
|
||||||
* device is created, hence it also updates wds extended
|
|
||||||
* peer state to up, which will be referred in rx processing.
|
|
||||||
* @soc: Datapath soc handle
|
* @soc: Datapath soc handle
|
||||||
* @vdev_id: vdev id
|
* @vdev_id: vdev id
|
||||||
* @mac: Peer mac address
|
* @mac: Peer mac address
|
||||||
@@ -3202,10 +3198,9 @@ static inline QDF_STATUS dp_soc_swlm_detach(struct dp_soc *soc)
|
|||||||
* return: valid peer id on success
|
* return: valid peer id on success
|
||||||
* HTT_INVALID_PEER on failure
|
* HTT_INVALID_PEER on failure
|
||||||
*/
|
*/
|
||||||
uint16_t dp_wds_ext_get_peer_id(ol_txrx_soc_handle soc,
|
uint16_t dp_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac);
|
||||||
uint8_t vdev_id,
|
|
||||||
uint8_t *mac);
|
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
||||||
/**
|
/**
|
||||||
* dp_wds_ext_set_peer_state(): function to set peer state
|
* dp_wds_ext_set_peer_state(): function to set peer state
|
||||||
* @soc: Datapath soc handle
|
* @soc: Datapath soc handle
|
||||||
|
@@ -10066,6 +10066,12 @@ static QDF_STATUS dp_get_vdev_param(struct cdp_soc_t *cdp_soc, uint8_t vdev_id,
|
|||||||
val->cdp_vdev_param_peer_authorize =
|
val->cdp_vdev_param_peer_authorize =
|
||||||
vdev->peer_authorize;
|
vdev->peer_authorize;
|
||||||
break;
|
break;
|
||||||
|
case CDP_TX_ENCAP_TYPE:
|
||||||
|
val->cdp_vdev_param_tx_encap = vdev->tx_encap_type;
|
||||||
|
break;
|
||||||
|
case CDP_ENABLE_CIPHER:
|
||||||
|
val->cdp_vdev_param_cipher_en = vdev->sec_type;
|
||||||
|
break;
|
||||||
#ifdef WLAN_SUPPORT_MESH_LATENCY
|
#ifdef WLAN_SUPPORT_MESH_LATENCY
|
||||||
case CDP_ENABLE_PEER_TID_LATENCY:
|
case CDP_ENABLE_PEER_TID_LATENCY:
|
||||||
val->cdp_vdev_param_peer_tid_latency_enable =
|
val->cdp_vdev_param_peer_tid_latency_enable =
|
||||||
@@ -12519,8 +12525,8 @@ static struct cdp_cmn_ops dp_ops_cmn = {
|
|||||||
.set_vlan_groupkey = dp_set_vlan_groupkey,
|
.set_vlan_groupkey = dp_set_vlan_groupkey,
|
||||||
#endif
|
#endif
|
||||||
.get_peer_mac_list = dp_get_peer_mac_list,
|
.get_peer_mac_list = dp_get_peer_mac_list,
|
||||||
|
.get_peer_id = dp_get_peer_id,
|
||||||
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
||||||
.get_wds_ext_peer_id = dp_wds_ext_get_peer_id,
|
|
||||||
.set_wds_ext_peer_rx = dp_wds_ext_set_peer_rx,
|
.set_wds_ext_peer_rx = dp_wds_ext_set_peer_rx,
|
||||||
#endif /* QCA_SUPPORT_WDS_EXTENDED */
|
#endif /* QCA_SUPPORT_WDS_EXTENDED */
|
||||||
|
|
||||||
@@ -14362,10 +14368,7 @@ uint16_t dp_get_peer_mac_list(ol_txrx_soc_handle soc, uint8_t vdev_id,
|
|||||||
return new_mac_cnt;
|
return new_mac_cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
uint16_t dp_get_peer_id(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *mac)
|
||||||
uint16_t dp_wds_ext_get_peer_id(ol_txrx_soc_handle soc,
|
|
||||||
uint8_t vdev_id,
|
|
||||||
uint8_t *mac)
|
|
||||||
{
|
{
|
||||||
struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc,
|
struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc,
|
||||||
mac, 0, vdev_id,
|
mac, 0, vdev_id,
|
||||||
@@ -14382,6 +14385,7 @@ uint16_t dp_wds_ext_get_peer_id(ol_txrx_soc_handle soc,
|
|||||||
return peer_id;
|
return peer_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
||||||
QDF_STATUS dp_wds_ext_set_peer_rx(ol_txrx_soc_handle soc,
|
QDF_STATUS dp_wds_ext_set_peer_rx(ol_txrx_soc_handle soc,
|
||||||
uint8_t vdev_id,
|
uint8_t vdev_id,
|
||||||
uint8_t *mac,
|
uint8_t *mac,
|
||||||
|
Reference in New Issue
Block a user