qcacmn: AST entry create and update support for IPA
To support WDS feature in IPA driver, WLAN needs to update the ast entry for any new rx packet, and for end-nodes connected via repeater to root. CRs-Fixed: 3226348 Change-Id: I7383b12f18e7c70ec06499d66130667eca033131
这个提交包含在:
@@ -2109,7 +2109,6 @@ void dp_peer_ast_set_type(struct dp_soc *soc,
|
||||
{
|
||||
ast_entry->type = type;
|
||||
}
|
||||
|
||||
#else
|
||||
QDF_STATUS dp_peer_add_ast(struct dp_soc *soc,
|
||||
struct dp_peer *peer,
|
||||
@@ -2186,7 +2185,6 @@ int dp_peer_update_ast(struct dp_soc *soc, struct dp_peer *peer,
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void dp_peer_ast_send_wds_del(struct dp_soc *soc,
|
||||
@@ -2954,6 +2952,36 @@ dp_rx_peer_map_handler(struct dp_soc *soc, uint16_t peer_id,
|
||||
return err;
|
||||
}
|
||||
|
||||
#ifdef IPA_OFFLOAD
|
||||
/**
|
||||
* dp_rx_peer_unmap_event() - Peer unmap event
|
||||
* @soc_handle - genereic soc handle
|
||||
* @peer_id - peer_id from firmware
|
||||
* @vdev_id - vdev ID
|
||||
* @mac_addr - mac address of the peer or wds entry
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static inline void
|
||||
dp_rx_peer_unmap_event(struct dp_soc *soc, uint16_t peer_id,
|
||||
uint8_t vdev_id, uint8_t *mac_addr)
|
||||
{
|
||||
if (soc->cdp_soc.ol_ops->peer_unmap_event) {
|
||||
soc->cdp_soc.ol_ops->peer_unmap_event(soc->ctrl_psoc,
|
||||
peer_id, vdev_id, mac_addr);
|
||||
}
|
||||
}
|
||||
#else
|
||||
static inline void
|
||||
dp_rx_peer_unmap_event(struct dp_soc *soc, uint16_t peer_id,
|
||||
uint8_t vdev_id, uint8_t *mac_addr)
|
||||
{
|
||||
if (soc->cdp_soc.ol_ops->peer_unmap_event) {
|
||||
soc->cdp_soc.ol_ops->peer_unmap_event(soc->ctrl_psoc,
|
||||
peer_id, vdev_id);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/**
|
||||
* dp_rx_peer_unmap_handler() - handle peer unmap event from firmware
|
||||
* @soc_handle - genereic soc handle
|
||||
@@ -3032,10 +3060,7 @@ dp_rx_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id,
|
||||
if (!soc->ast_offload_support)
|
||||
dp_peer_reset_flowq_map(peer);
|
||||
|
||||
if (soc->cdp_soc.ol_ops->peer_unmap_event) {
|
||||
soc->cdp_soc.ol_ops->peer_unmap_event(soc->ctrl_psoc,
|
||||
peer_id, vdev_id);
|
||||
}
|
||||
dp_rx_peer_unmap_event(soc, peer_id, vdev_id, peer->mac_addr.raw);
|
||||
|
||||
vdev = peer->vdev;
|
||||
dp_update_vdev_stats_on_peer_unmap(vdev, peer);
|
||||
|
在新工单中引用
屏蔽一个用户