Lines Matching refs:muxl

46 static struct cflayer *get_up(struct cfmuxl *muxl, u16 id);
67 struct cfmuxl *muxl = (struct cfmuxl *) layr; in cfmuxl_set_dnlayer() local
69 spin_lock_bh(&muxl->transmit_lock); in cfmuxl_set_dnlayer()
70 list_add_rcu(&dn->node, &muxl->frml_list); in cfmuxl_set_dnlayer()
71 spin_unlock_bh(&muxl->transmit_lock); in cfmuxl_set_dnlayer()
88 struct cfmuxl *muxl = container_obj(layr); in cfmuxl_set_uplayer() local
91 spin_lock_bh(&muxl->receive_lock); in cfmuxl_set_uplayer()
94 old = get_from_id(&muxl->srvl_list, linkid); in cfmuxl_set_uplayer()
98 list_add_rcu(&up->node, &muxl->srvl_list); in cfmuxl_set_uplayer()
99 spin_unlock_bh(&muxl->receive_lock); in cfmuxl_set_uplayer()
106 struct cfmuxl *muxl = container_obj(layr); in cfmuxl_remove_dnlayer() local
110 spin_lock_bh(&muxl->transmit_lock); in cfmuxl_remove_dnlayer()
111 RCU_INIT_POINTER(muxl->dn_cache[idx], NULL); in cfmuxl_remove_dnlayer()
112 dn = get_from_id(&muxl->frml_list, phyid); in cfmuxl_remove_dnlayer()
119 spin_unlock_bh(&muxl->transmit_lock); in cfmuxl_remove_dnlayer()
123 static struct cflayer *get_up(struct cfmuxl *muxl, u16 id) in get_up() argument
127 up = rcu_dereference(muxl->up_cache[idx]); in get_up()
129 spin_lock_bh(&muxl->receive_lock); in get_up()
130 up = get_from_id(&muxl->srvl_list, id); in get_up()
131 rcu_assign_pointer(muxl->up_cache[idx], up); in get_up()
132 spin_unlock_bh(&muxl->receive_lock); in get_up()
137 static struct cflayer *get_dn(struct cfmuxl *muxl, struct dev_info *dev_info) in get_dn() argument
141 dn = rcu_dereference(muxl->dn_cache[idx]); in get_dn()
143 spin_lock_bh(&muxl->transmit_lock); in get_dn()
144 dn = get_from_id(&muxl->frml_list, dev_info->id); in get_dn()
145 rcu_assign_pointer(muxl->dn_cache[idx], dn); in get_dn()
146 spin_unlock_bh(&muxl->transmit_lock); in get_dn()
154 struct cfmuxl *muxl = container_obj(layr); in cfmuxl_remove_uplayer() local
162 spin_lock_bh(&muxl->receive_lock); in cfmuxl_remove_uplayer()
163 up = get_from_id(&muxl->srvl_list, id); in cfmuxl_remove_uplayer()
167 RCU_INIT_POINTER(muxl->up_cache[idx], NULL); in cfmuxl_remove_uplayer()
170 spin_unlock_bh(&muxl->receive_lock); in cfmuxl_remove_uplayer()
177 struct cfmuxl *muxl = container_obj(layr); in cfmuxl_receive() local
186 up = get_up(muxl, id); in cfmuxl_receive()
213 struct cfmuxl *muxl = container_obj(layr); in cfmuxl_transmit() local
222 dn = get_dn(muxl, info->dev_info); in cfmuxl_transmit()
249 struct cfmuxl *muxl = container_obj(layr); in cfmuxl_ctrlcmd() local
253 list_for_each_entry_rcu(layer, &muxl->srvl_list, node) { in cfmuxl_ctrlcmd()