Lines Matching +full:4 +full:e

3  * HWSIM IEEE 802.15.4 interface
27 MODULE_DESCRIPTION("Software simulator of IEEE 802.15.4 radio(s) for mac802154");
167 /* Level 4 filtering: Frame fields validity */ in hwsim_hw_receive()
234 /* e) Beacon frames follow specific PAN ID rules */ in hwsim_hw_receive()
261 struct hwsim_edge *e; in hwsim_hw_xmit() local
267 list_for_each_entry_rcu(e, &current_phy->edges, list) { in hwsim_hw_xmit()
273 if (e->endpoint->suspended) in hwsim_hw_xmit()
276 endpoint_pib = rcu_dereference(e->endpoint->pib); in hwsim_hw_xmit()
281 einfo = rcu_dereference(e->info); in hwsim_hw_xmit()
283 hwsim_hw_receive(e->endpoint->hw, newskb, einfo->lqi); in hwsim_hw_xmit()
372 struct hwsim_edge *e; in append_radio_msg() local
392 list_for_each_entry_rcu(e, &phy->edges, list) { in append_radio_msg()
402 e->endpoint->idx); in append_radio_msg()
410 einfo = rcu_dereference(e->info); in append_radio_msg()
546 struct hwsim_edge *e; in hwsim_alloc_edge() local
548 e = kzalloc(sizeof(*e), GFP_KERNEL); in hwsim_alloc_edge()
549 if (!e) in hwsim_alloc_edge()
554 kfree(e); in hwsim_alloc_edge()
559 rcu_assign_pointer(e->info, einfo); in hwsim_alloc_edge()
560 e->endpoint = endpoint; in hwsim_alloc_edge()
562 return e; in hwsim_alloc_edge()
565 static void hwsim_free_edge(struct hwsim_edge *e) in hwsim_free_edge() argument
570 einfo = rcu_dereference(e->info); in hwsim_free_edge()
574 kfree_rcu(e, rcu); in hwsim_free_edge()
581 struct hwsim_edge *e; in hwsim_new_edge_nl() local
614 list_for_each_entry_rcu(e, &phy_v0->edges, list) { in hwsim_new_edge_nl()
615 if (e->endpoint->idx == v1) { in hwsim_new_edge_nl()
623 e = hwsim_alloc_edge(phy_v1, 0xff); in hwsim_new_edge_nl()
624 if (!e) { in hwsim_new_edge_nl()
628 list_add_rcu(&e->list, &phy_v0->edges); in hwsim_new_edge_nl()
643 struct hwsim_edge *e; in hwsim_del_edge_nl() local
667 list_for_each_entry_rcu(e, &phy_v0->edges, list) { in hwsim_del_edge_nl()
668 if (e->endpoint->idx == v1) { in hwsim_del_edge_nl()
670 list_del_rcu(&e->list); in hwsim_del_edge_nl()
671 hwsim_free_edge(e); in hwsim_del_edge_nl()
690 struct hwsim_edge *e; in hwsim_set_edge_lqi() local
723 list_for_each_entry_rcu(e, &phy_v0->edges, list) { in hwsim_set_edge_lqi()
724 if (e->endpoint->idx == v1) { in hwsim_set_edge_lqi()
726 einfo_old = rcu_replace_pointer(e->info, einfo, in hwsim_set_edge_lqi()
844 struct hwsim_edge *e; in hwsim_edge_unsubscribe_me() local
849 list_for_each_entry_rcu(e, &tmp->edges, list) { in hwsim_edge_unsubscribe_me()
850 if (e->endpoint->idx == phy->idx) { in hwsim_edge_unsubscribe_me()
851 list_del_rcu(&e->list); in hwsim_edge_unsubscribe_me()
852 hwsim_free_edge(e); in hwsim_edge_unsubscribe_me()
864 struct hwsim_edge *e; in hwsim_subscribe_all_others() local
867 e = hwsim_alloc_edge(sub, 0xff); in hwsim_subscribe_all_others()
868 if (!e) in hwsim_subscribe_all_others()
871 list_add_rcu(&e->list, &phy->edges); in hwsim_subscribe_all_others()
875 e = hwsim_alloc_edge(phy, 0xff); in hwsim_subscribe_all_others()
876 if (!e) in hwsim_subscribe_all_others()
879 list_add_rcu(&e->list, &sub->edges); in hwsim_subscribe_all_others()
888 list_for_each_entry_rcu(e, &phy->edges, list) { in hwsim_subscribe_all_others()
889 list_del_rcu(&e->list); in hwsim_subscribe_all_others()
890 hwsim_free_edge(e); in hwsim_subscribe_all_others()
914 /* 868 MHz BPSK 802.15.4-2003 */ in hwsim_add_one()
916 /* 915 MHz BPSK 802.15.4-2003 */ in hwsim_add_one()
918 /* 2.4 GHz O-QPSK 802.15.4-2003 */ in hwsim_add_one()
920 /* 868 MHz ASK 802.15.4-2006 */ in hwsim_add_one()
922 /* 915 MHz ASK 802.15.4-2006 */ in hwsim_add_one()
924 /* 868 MHz O-QPSK 802.15.4-2006 */ in hwsim_add_one()
926 /* 915 MHz O-QPSK 802.15.4-2006 */ in hwsim_add_one()
928 /* 2.4 GHz CSS 802.15.4a-2007 */ in hwsim_add_one()
930 /* UWB Sub-gigahertz 802.15.4a-2007 */ in hwsim_add_one()
931 hw->phy->supported.channels[4] |= 1; in hwsim_add_one()
932 /* UWB Low band 802.15.4a-2007 */ in hwsim_add_one()
933 hw->phy->supported.channels[4] |= 0x1e; in hwsim_add_one()
934 /* UWB High band 802.15.4a-2007 */ in hwsim_add_one()
935 hw->phy->supported.channels[4] |= 0xffe0; in hwsim_add_one()
936 /* 750 MHz O-QPSK 802.15.4c-2009 */ in hwsim_add_one()
938 /* 750 MHz MPSK 802.15.4c-2009 */ in hwsim_add_one()
940 /* 950 MHz BPSK 802.15.4d-2009 */ in hwsim_add_one()
942 /* 950 MHz GFSK 802.15.4d-2009 */ in hwsim_add_one()
996 struct hwsim_edge *e; in hwsim_del() local
1003 list_for_each_entry_rcu(e, &phy->edges, list) { in hwsim_del()
1004 list_del_rcu(&e->list); in hwsim_del()
1005 hwsim_free_edge(e); in hwsim_del()