qcacmn: add APIs to iterate the peers at vdev level
Add new APIs to iterate through the vdev peer list by taking the peer reference. A call back has to be passed to these APIs which will be called for every peer in the lisst dp_vdev_iterate_peer() -> iterates through peer_list of vdev dp_pdev_iterate_peer() -> iterates through peer_list of all vdevs in pdev dp_soc_iterate_peer() -> iterates through peer_lists of all vdevs in soc Additonal APIs are added to for itearations where the callback will be called outside the vdev->peer_list_lock, as these APIs have additional memory allocations suggested to use only in case the iteration need to happen outside lock dp_vdev_iterate_peer_lock_safe() dp_pdev_iterate_peer_lock_safe() dp_soc_iterate_peer_lock_safe Change-Id: I24632fe611355cc3e93b7f16d90913d4b8686ca9
This commit is contained in:

gecommit door
snandini

bovenliggende
1322dc7949
commit
e2b00339f3
@@ -703,9 +703,11 @@ static inline void dp_update_pdev_ingress_stats(struct dp_pdev *tgtobj,
|
||||
|
||||
}
|
||||
|
||||
static inline void dp_update_vdev_stats(struct cdp_vdev_stats *tgtobj,
|
||||
struct dp_peer *srcobj)
|
||||
static inline void dp_update_vdev_stats(struct dp_soc *soc,
|
||||
struct dp_peer *srcobj,
|
||||
void *arg)
|
||||
{
|
||||
struct cdp_vdev_stats *tgtobj = (struct cdp_vdev_stats *)arg;
|
||||
uint8_t i;
|
||||
uint8_t pream_type;
|
||||
|
||||
@@ -975,7 +977,6 @@ extern void dp_peer_rx_init(struct dp_pdev *pdev, struct dp_peer *peer);
|
||||
void dp_peer_tx_init(struct dp_pdev *pdev, struct dp_peer *peer);
|
||||
void dp_peer_cleanup(struct dp_vdev *vdev, struct dp_peer *peer);
|
||||
void dp_peer_rx_cleanup(struct dp_vdev *vdev, struct dp_peer *peer);
|
||||
void dp_peer_unref_delete(struct dp_peer *peer, enum dp_peer_mod_id id);
|
||||
extern struct dp_peer *dp_peer_find_hash_find(struct dp_soc *soc,
|
||||
uint8_t *peer_mac_addr,
|
||||
int mac_addr_is_aligned,
|
||||
|
Verwijs in nieuw issue
Block a user