• Home
  • Raw
  • Download

Lines Matching refs:can_id

326 static unsigned int effhash(canid_t can_id)  in effhash()  argument
330 hash = can_id; in effhash()
331 hash ^= can_id >> CAN_EFF_RCV_HASH_BITS; in effhash()
332 hash ^= can_id >> (2 * CAN_EFF_RCV_HASH_BITS); in effhash()
364 static struct hlist_head *can_rcv_list_find(canid_t *can_id, canid_t *mask, in can_rcv_list_find() argument
367 canid_t inv = *can_id & CAN_INV_FILTER; /* save flag before masking */ in can_rcv_list_find()
381 if ((*mask & CAN_EFF_FLAG) && !(*can_id & CAN_EFF_FLAG)) in can_rcv_list_find()
385 *can_id &= *mask; in can_rcv_list_find()
397 !(*can_id & CAN_RTR_FLAG)) { in can_rcv_list_find()
398 if (*can_id & CAN_EFF_FLAG) { in can_rcv_list_find()
400 return &dev_rcv_lists->rx_eff[effhash(*can_id)]; in can_rcv_list_find()
403 return &dev_rcv_lists->rx_sff[*can_id]; in can_rcv_list_find()
442 int can_rx_register(struct net *net, struct net_device *dev, canid_t can_id, in can_rx_register() argument
467 rcv_list = can_rcv_list_find(&can_id, &mask, dev_rcv_lists); in can_rx_register()
469 rcv->can_id = can_id; in can_rx_register()
512 void can_rx_unregister(struct net *net, struct net_device *dev, canid_t can_id, in can_rx_unregister() argument
530 rcv_list = can_rcv_list_find(&can_id, &mask, dev_rcv_lists); in can_rx_unregister()
537 if (rcv->can_id == can_id && rcv->mask == mask && in can_rx_unregister()
550 DNAME(dev), can_id, mask); in can_rx_unregister()
583 canid_t can_id = cf->can_id; in can_rcv_filter() local
588 if (can_id & CAN_ERR_FLAG) { in can_rcv_filter()
591 if (can_id & rcv->mask) { in can_rcv_filter()
607 if ((can_id & rcv->mask) == rcv->can_id) { in can_rcv_filter()
615 if ((can_id & rcv->mask) != rcv->can_id) { in can_rcv_filter()
622 if (can_id & CAN_RTR_FLAG) in can_rcv_filter()
625 if (can_id & CAN_EFF_FLAG) { in can_rcv_filter()
626 hlist_for_each_entry_rcu(rcv, &dev_rcv_lists->rx_eff[effhash(can_id)], list) { in can_rcv_filter()
627 if (rcv->can_id == can_id) { in can_rcv_filter()
633 can_id &= CAN_SFF_MASK; in can_rcv_filter()
634 hlist_for_each_entry_rcu(rcv, &dev_rcv_lists->rx_sff[can_id], list) { in can_rcv_filter()