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
|
#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)
|
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);
|
dp_ipa_rx_cce_super_rule_setup_done_handler(soc, msg_word);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT:
|
||||||
|
{
|
||||||
|
dp_htt_peer_ext_evt(soc, msg_word);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
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);
|
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
|
#ifdef WLAN_FEATURE_11BE_MLO
|
||||||
void dp_rx_mlo_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id)
|
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 vdev_id, uint8_t *peer_mac_addr,
|
||||||
uint8_t is_wds, uint32_t free_wds_count);
|
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
|
#ifdef DP_RX_UDP_OVER_PEER_ROAM
|
||||||
/**
|
/**
|
||||||
* dp_rx_reset_roaming_peer() - Reset the roamed peer in vdev
|
* 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;
|
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
|
* struct dp_peer_ast_params - ast parameters for a msdu flow-queue
|
||||||
* @ast_idx: ast index populated by FW
|
* @ast_idx: ast index populated by FW
|
||||||
|
Reference in New Issue
Block a user