Lines Matching refs:ipc_wwan

29 	struct iosm_wwan *ipc_wwan;  member
52 struct iosm_wwan *ipc_wwan = priv->ipc_wwan; in ipc_wwan_link_open() local
56 if_id >= ARRAY_SIZE(ipc_wwan->sub_netlist)) in ipc_wwan_link_open()
60 priv->ch_id = ipc_imem_sys_wwan_open(ipc_wwan->ipc_imem, if_id); in ipc_wwan_link_open()
63 dev_err(ipc_wwan->dev, in ipc_wwan_link_open()
72 dev_dbg(ipc_wwan->dev, "Channel id %d allocated to if_id %d", in ipc_wwan_link_open()
85 ipc_imem_sys_wwan_close(priv->ipc_wwan->ipc_imem, priv->if_id, in ipc_wwan_link_stop()
97 struct iosm_wwan *ipc_wwan = priv->ipc_wwan; in ipc_wwan_link_transmit() local
106 if_id >= ARRAY_SIZE(ipc_wwan->sub_netlist)) in ipc_wwan_link_transmit()
110 ret = ipc_imem_sys_wwan_transmit(ipc_wwan->ipc_imem, in ipc_wwan_link_transmit()
120 dev_err(ipc_wwan->dev, "unable to push packets"); in ipc_wwan_link_transmit()
130 dev_dbg(ipc_wwan->dev, "skb dropped. IF_ID: %d, ret: %d", if_id, in ipc_wwan_link_transmit()
167 struct iosm_wwan *ipc_wwan = ctxt; in ipc_wwan_newlink() local
172 if_id >= ARRAY_SIZE(ipc_wwan->sub_netlist)) in ipc_wwan_newlink()
178 priv->ipc_wwan = ipc_wwan; in ipc_wwan_newlink()
180 if (rcu_access_pointer(ipc_wwan->sub_netlist[if_id])) in ipc_wwan_newlink()
187 rcu_assign_pointer(ipc_wwan->sub_netlist[if_id], priv); in ipc_wwan_newlink()
197 struct iosm_wwan *ipc_wwan = ctxt; in ipc_wwan_dellink() local
201 if_id >= ARRAY_SIZE(ipc_wwan->sub_netlist))) in ipc_wwan_dellink()
204 if (WARN_ON(rcu_access_pointer(ipc_wwan->sub_netlist[if_id]) != priv)) in ipc_wwan_dellink()
207 RCU_INIT_POINTER(ipc_wwan->sub_netlist[if_id], NULL); in ipc_wwan_dellink()
219 int ipc_wwan_receive(struct iosm_wwan *ipc_wwan, struct sk_buff *skb_arg, in ipc_wwan_receive() argument
242 priv = rcu_dereference(ipc_wwan->sub_netlist[if_id]); in ipc_wwan_receive()
261 void ipc_wwan_tx_flowctrl(struct iosm_wwan *ipc_wwan, int if_id, bool on) in ipc_wwan_tx_flowctrl() argument
268 priv = rcu_dereference(ipc_wwan->sub_netlist[if_id]); in ipc_wwan_tx_flowctrl()
279 dev_dbg(ipc_wwan->dev, "session id[%d]: flowctrl enable", in ipc_wwan_tx_flowctrl()
291 struct iosm_wwan *ipc_wwan; in ipc_wwan_init() local
293 ipc_wwan = kzalloc(sizeof(*ipc_wwan), GFP_KERNEL); in ipc_wwan_init()
294 if (!ipc_wwan) in ipc_wwan_init()
297 ipc_wwan->dev = dev; in ipc_wwan_init()
298 ipc_wwan->ipc_imem = ipc_imem; in ipc_wwan_init()
301 if (wwan_register_ops(ipc_wwan->dev, &iosm_wwan_ops, ipc_wwan, in ipc_wwan_init()
303 kfree(ipc_wwan); in ipc_wwan_init()
307 return ipc_wwan; in ipc_wwan_init()
310 void ipc_wwan_deinit(struct iosm_wwan *ipc_wwan) in ipc_wwan_deinit() argument
313 wwan_unregister_ops(ipc_wwan->dev); in ipc_wwan_deinit()
315 kfree(ipc_wwan); in ipc_wwan_deinit()