• Home
  • Raw
  • Download

Lines Matching refs:peer

361 		struct fwnet_peer *peer, u16 datagram_label, unsigned dg_size,  in fwnet_pd_new()  argument
385 list_add_tail(&new->pd_link, &peer->pd_list); in fwnet_pd_new()
397 static struct fwnet_partial_datagram *fwnet_pd_find(struct fwnet_peer *peer, in fwnet_pd_find() argument
402 list_for_each_entry(pd, &peer->pd_list, pd_link) in fwnet_pd_find()
422 static bool fwnet_pd_update(struct fwnet_peer *peer, in fwnet_pd_update() argument
435 list_move_tail(&pd->pd_link, &peer->pd_list); in fwnet_pd_update()
453 struct fwnet_peer *peer; in fwnet_peer_find_by_guid() local
455 list_for_each_entry(peer, &dev->peer_list, peer_link) in fwnet_peer_find_by_guid()
456 if (peer->guid == guid) in fwnet_peer_find_by_guid()
457 return peer; in fwnet_peer_find_by_guid()
466 struct fwnet_peer *peer; in fwnet_peer_find_by_node_id() local
468 list_for_each_entry(peer, &dev->peer_list, peer_link) in fwnet_peer_find_by_node_id()
469 if (peer->node_id == node_id && in fwnet_peer_find_by_node_id()
470 peer->generation == generation) in fwnet_peer_find_by_node_id()
471 return peer; in fwnet_peer_find_by_node_id()
577 struct fwnet_peer *peer; in fwnet_incoming_packet() local
636 peer = fwnet_peer_find_by_node_id(dev, source_node_id, generation); in fwnet_incoming_packet()
637 if (!peer) { in fwnet_incoming_packet()
642 pd = fwnet_pd_find(peer, datagram_label); in fwnet_incoming_packet()
644 while (peer->pdg_size >= FWNET_MAX_FRAGMENTS) { in fwnet_incoming_packet()
646 fwnet_pd_delete(list_first_entry(&peer->pd_list, in fwnet_incoming_packet()
648 peer->pdg_size--; in fwnet_incoming_packet()
650 pd = fwnet_pd_new(net, peer, datagram_label, in fwnet_incoming_packet()
656 peer->pdg_size++; in fwnet_incoming_packet()
665 pd = fwnet_pd_new(net, peer, datagram_label, in fwnet_incoming_packet()
668 peer->pdg_size--; in fwnet_incoming_packet()
673 if (!fwnet_pd_update(peer, pd, buf, fg_off, len)) { in fwnet_incoming_packet()
680 peer->pdg_size--; in fwnet_incoming_packet()
692 peer->pdg_size--; in fwnet_incoming_packet()
1247 struct fwnet_peer *peer; in fwnet_tx() local
1305 peer = fwnet_peer_find_by_guid(dev, be64_to_cpu(guid)); in fwnet_tx()
1306 if (!peer) in fwnet_tx()
1309 generation = peer->generation; in fwnet_tx()
1310 dest_node = peer->node_id; in fwnet_tx()
1311 max_payload = peer->max_payload; in fwnet_tx()
1312 datagram_label_ptr = &peer->datagram_label; in fwnet_tx()
1317 ptask->speed = peer->speed; in fwnet_tx()
1424 struct fwnet_peer *peer; in fwnet_add_peer() local
1426 peer = kmalloc(sizeof(*peer), GFP_KERNEL); in fwnet_add_peer()
1427 if (!peer) in fwnet_add_peer()
1430 dev_set_drvdata(&unit->device, peer); in fwnet_add_peer()
1432 peer->dev = dev; in fwnet_add_peer()
1433 peer->guid = (u64)device->config_rom[3] << 32 | device->config_rom[4]; in fwnet_add_peer()
1434 INIT_LIST_HEAD(&peer->pd_list); in fwnet_add_peer()
1435 peer->pdg_size = 0; in fwnet_add_peer()
1436 peer->datagram_label = 0; in fwnet_add_peer()
1437 peer->speed = device->max_speed; in fwnet_add_peer()
1438 peer->max_payload = fwnet_max_payload(device->max_rec, peer->speed); in fwnet_add_peer()
1440 peer->generation = device->generation; in fwnet_add_peer()
1442 peer->node_id = device->node_id; in fwnet_add_peer()
1445 list_add_tail(&peer->peer_link, &dev->peer_list); in fwnet_add_peer()
1547 struct fwnet_peer *peer = dev_get_drvdata(&unit->device); in fwnet_update() local
1552 spin_lock_irq(&peer->dev->lock); in fwnet_update()
1553 peer->node_id = device->node_id; in fwnet_update()
1554 peer->generation = generation; in fwnet_update()
1555 spin_unlock_irq(&peer->dev->lock); in fwnet_update()
1558 static void fwnet_remove_peer(struct fwnet_peer *peer, struct fwnet_device *dev) in fwnet_remove_peer() argument
1563 list_del(&peer->peer_link); in fwnet_remove_peer()
1568 list_for_each_entry_safe(pd, pd_next, &peer->pd_list, pd_link) in fwnet_remove_peer()
1571 kfree(peer); in fwnet_remove_peer()
1576 struct fwnet_peer *peer = dev_get_drvdata(&unit->device); in fwnet_remove() local
1577 struct fwnet_device *dev = peer->dev; in fwnet_remove()
1585 fwnet_remove_peer(peer, dev); in fwnet_remove()