Lines Matching refs:cl

33 ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,  in __mei_cl_send()  argument
40 if (WARN_ON(!cl || !cl->dev)) in __mei_cl_send()
43 bus = cl->dev; in __mei_cl_send()
51 if (!mei_cl_is_connected(cl)) { in __mei_cl_send()
57 if (!mei_me_cl_is_active(cl->me_cl)) { in __mei_cl_send()
62 if (length > mei_cl_mtu(cl)) { in __mei_cl_send()
67 while (cl->tx_cb_queued >= bus->tx_queue_limit) { in __mei_cl_send()
69 rets = wait_event_interruptible(cl->tx_wait, in __mei_cl_send()
70 cl->writing_state == MEI_WRITE_COMPLETE || in __mei_cl_send()
71 (!mei_cl_is_connected(cl))); in __mei_cl_send()
78 if (!mei_cl_is_connected(cl)) { in __mei_cl_send()
84 cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, NULL); in __mei_cl_send()
94 rets = mei_cl_write(cl, cb); in __mei_cl_send()
113 ssize_t __mei_cl_recv(struct mei_cl *cl, u8 *buf, size_t length, in __mei_cl_recv() argument
122 if (WARN_ON(!cl || !cl->dev)) in __mei_cl_recv()
125 bus = cl->dev; in __mei_cl_recv()
133 cb = mei_cl_read_cb(cl, NULL); in __mei_cl_recv()
137 rets = mei_cl_read_start(cl, length, NULL); in __mei_cl_recv()
148 if (!waitqueue_active(&cl->rx_wait)) { in __mei_cl_recv()
154 (cl->rx_wait, in __mei_cl_recv()
155 (!list_empty(&cl->rd_completed)) || in __mei_cl_recv()
156 (!mei_cl_is_connected(cl)), in __mei_cl_recv()
167 (cl->rx_wait, in __mei_cl_recv()
168 (!list_empty(&cl->rd_completed)) || in __mei_cl_recv()
169 (!mei_cl_is_connected(cl)))) { in __mei_cl_recv()
178 if (!mei_cl_is_connected(cl)) { in __mei_cl_recv()
184 cb = mei_cl_read_cb(cl, NULL); in __mei_cl_recv()
219 struct mei_cl *cl = cldev->cl; in mei_cldev_send() local
221 return __mei_cl_send(cl, buf, length, MEI_CL_IO_TX_BLOCKING); in mei_cldev_send()
238 struct mei_cl *cl = cldev->cl; in mei_cldev_recv_nonblock() local
240 return __mei_cl_recv(cl, buf, length, MEI_CL_IO_RX_NONBLOCK, 0); in mei_cldev_recv_nonblock()
255 struct mei_cl *cl = cldev->cl; in mei_cldev_recv() local
257 return __mei_cl_recv(cl, buf, length, 0, 0); in mei_cldev_recv()
279 mei_cl_read_start(cldev->cl, mei_cl_mtu(cldev->cl), NULL); in mei_cl_bus_rx_work()
306 bool mei_cl_bus_notify_event(struct mei_cl *cl) in mei_cl_bus_notify_event() argument
308 struct mei_cl_device *cldev = cl->cldev; in mei_cl_bus_notify_event()
313 if (!cl->notify_ev) in mei_cl_bus_notify_event()
318 cl->notify_ev = false; in mei_cl_bus_notify_event()
331 bool mei_cl_bus_rx_event(struct mei_cl *cl) in mei_cl_bus_rx_event() argument
333 struct mei_cl_device *cldev = cl->cldev; in mei_cl_bus_rx_event()
367 ret = mei_cl_read_start(cldev->cl, mei_cl_mtu(cldev->cl), NULL); in mei_cldev_register_rx_cb()
402 ret = mei_cl_notify_request(cldev->cl, NULL, 1); in mei_cldev_register_notif_cb()
471 return mei_cl_is_connected(cldev->cl); in mei_cldev_enabled()
509 struct mei_cl *cl; in mei_cldev_enable() local
512 cl = cldev->cl; in mei_cldev_enable()
515 if (cl->state == MEI_FILE_UNINITIALIZED) { in mei_cldev_enable()
516 ret = mei_cl_link(cl); in mei_cldev_enable()
520 cl->cldev = cldev; in mei_cldev_enable()
523 if (mei_cl_is_connected(cl)) { in mei_cldev_enable()
534 ret = mei_cl_connect(cl, cldev->me_cl, NULL); in mei_cldev_enable()
575 struct mei_cl *cl; in mei_cldev_disable() local
581 cl = cldev->cl; in mei_cldev_disable()
589 if (!mei_cl_is_connected(cl)) { in mei_cldev_disable()
595 err = mei_cl_disconnect(cl); in mei_cldev_disable()
601 mei_cl_flush_queues(cl, NULL); in mei_cldev_disable()
602 mei_cl_unlink(cl); in mei_cldev_disable()
865 mei_cl_unlink(cldev->cl); in mei_cl_bus_dev_release()
866 kfree(cldev->cl); in mei_cl_bus_dev_release()
899 struct mei_cl *cl; in mei_cl_bus_dev_alloc() local
905 cl = mei_cl_allocate(bus); in mei_cl_bus_dev_alloc()
906 if (!cl) { in mei_cl_bus_dev_alloc()
917 cldev->cl = cl; in mei_cl_bus_dev_alloc()