qcacmn: Add change to get link ID from peer event
Add change to get link ID from peer event Change-Id: Iab066f702d232d3682729b57c5a3d4c7da2672ba CRs-Fixed: 3442914
This commit is contained in:

committed by
Rahul Choudhary

parent
99ec9ce725
commit
1ba9e267e0
@@ -3654,6 +3654,36 @@ static void dp_ipa_rx_cce_super_rule_setup_done_handler(struct htt_soc *soc,
|
||||
{
|
||||
}
|
||||
#endif
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(DP_MLO_LINK_STATS_SUPPORT)
|
||||
static inline void
|
||||
dp_htt_peer_ext_evt(struct htt_soc *soc, uint32_t *msg_word)
|
||||
{
|
||||
struct dp_peer_ext_evt_info info;
|
||||
uint8_t mac_addr_deswizzle_buf[QDF_MAC_ADDR_SIZE];
|
||||
|
||||
info.peer_id = HTT_RX_PEER_EXTENDED_PEER_ID_GET(*msg_word);
|
||||
info.vdev_id = HTT_RX_PEER_EXTENDED_VDEV_ID_GET(*msg_word);
|
||||
info.link_id =
|
||||
HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_GET(*(msg_word + 2));
|
||||
info.link_id_valid =
|
||||
HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_GET(*(msg_word + 2));
|
||||
|
||||
info.peer_mac_addr =
|
||||
htt_t2h_mac_addr_deswizzle((u_int8_t *)(msg_word + 1),
|
||||
&mac_addr_deswizzle_buf[0]);
|
||||
|
||||
dp_htt_info("peer id %u, vdev id %u, link id %u, valid %u,peer_mac " QDF_MAC_ADDR_FMT,
|
||||
info.peer_id, info.vdev_id, info.link_id,
|
||||
info.link_id_valid, QDF_MAC_ADDR_REF(info.peer_mac_addr));
|
||||
|
||||
dp_rx_peer_ext_evt(soc->dp_soc, &info);
|
||||
}
|
||||
#else
|
||||
static inline void
|
||||
dp_htt_peer_ext_evt(struct htt_soc *soc, uint32_t *msg_word)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
void dp_htt_t2h_msg_handler(void *context, HTC_PACKET *pkt)
|
||||
{
|
||||
@@ -4109,6 +4139,11 @@ void dp_htt_t2h_msg_handler(void *context, HTC_PACKET *pkt)
|
||||
dp_ipa_rx_cce_super_rule_setup_done_handler(soc, msg_word);
|
||||
break;
|
||||
}
|
||||
case HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT:
|
||||
{
|
||||
dp_htt_peer_ext_evt(soc, msg_word);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
@@ -3021,6 +3021,34 @@ dp_rx_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id,
|
||||
dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG);
|
||||
}
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(DP_MLO_LINK_STATS_SUPPORT)
|
||||
QDF_STATUS
|
||||
dp_rx_peer_ext_evt(struct dp_soc *soc, struct dp_peer_ext_evt_info *info)
|
||||
{
|
||||
struct dp_peer *peer = NULL;
|
||||
struct cdp_peer_info peer_info = { 0 };
|
||||
|
||||
QDF_ASSERT(info->peer_id <= soc->max_peer_id);
|
||||
|
||||
DP_PEER_INFO_PARAMS_INIT(&peer_info, info->vdev_id, info->peer_mac_addr,
|
||||
false, CDP_LINK_PEER_TYPE);
|
||||
peer = dp_peer_hash_find_wrapper(soc, &peer_info, DP_MOD_ID_CONFIG);
|
||||
|
||||
if (!peer) {
|
||||
dp_err("peer NULL, id %u, MAC " QDF_MAC_ADDR_FMT ", vdev_id %u",
|
||||
info->peer_id, QDF_MAC_ADDR_REF(info->peer_mac_addr),
|
||||
info->vdev_id);
|
||||
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
peer->link_id = info->link_id;
|
||||
peer->link_id_valid = info->link_id_valid;
|
||||
dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
void dp_rx_mlo_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id)
|
||||
{
|
||||
|
@@ -713,6 +713,19 @@ void dp_rx_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id,
|
||||
uint8_t vdev_id, uint8_t *peer_mac_addr,
|
||||
uint8_t is_wds, uint32_t free_wds_count);
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(DP_MLO_LINK_STATS_SUPPORT)
|
||||
/**
|
||||
* dp_rx_peer_ext_evt() - handle peer extended event from firmware
|
||||
* @soc: DP soc handle
|
||||
* @info: extended evt info
|
||||
*
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
|
||||
QDF_STATUS
|
||||
dp_rx_peer_ext_evt(struct dp_soc *soc, struct dp_peer_ext_evt_info *info);
|
||||
#endif
|
||||
#ifdef DP_RX_UDP_OVER_PEER_ROAM
|
||||
/**
|
||||
* dp_rx_reset_roaming_peer() - Reset the roamed peer in vdev
|
||||
|
@@ -4165,6 +4165,24 @@ struct dp_ast_flow_override_info {
|
||||
uint8_t tid_valid_hi_pri_mask;
|
||||
};
|
||||
|
||||
#if defined(WLAN_FEATURE_11BE_MLO) && defined(DP_MLO_LINK_STATS_SUPPORT)
|
||||
/**
|
||||
* struct dp_peer_ext_evt_info - peer extended event info
|
||||
* @peer_id: peer_id from firmware
|
||||
* @vdev_id: vdev ID
|
||||
* @link_id: Link ID
|
||||
* @link_id_valid: link_id_valid
|
||||
* @peer_mac_addr: mac address of the peer
|
||||
*/
|
||||
struct dp_peer_ext_evt_info {
|
||||
uint16_t peer_id;
|
||||
uint8_t vdev_id;
|
||||
uint8_t link_id;
|
||||
bool link_id_valid;
|
||||
uint8_t *peer_mac_addr;
|
||||
};
|
||||
#endif
|
||||
|
||||
/**
|
||||
* struct dp_peer_ast_params - ast parameters for a msdu flow-queue
|
||||
* @ast_idx: ast index populated by FW
|
||||
|
Reference in New Issue
Block a user