Lines Matching refs:chan
123 cdcserial_channel_t *chan = cookie; in usb_register_cb() local
127 if ((0x1 << i) & chan->registered_bulk_eps_in) { in usb_register_cb()
130 if ((0x1 << i) & chan->registered_bulk_eps_out) { in usb_register_cb()
133 if ((0x1 << i) & chan->registered_intr_eps_in) { in usb_register_cb()
136 if ((0x1 << i) & chan->registered_intr_eps_out) { in usb_register_cb()
141 chan->usb_online = true; in usb_register_cb()
160 if (chan->online_cb) { in usb_register_cb()
161 chan->online_cb(chan, setup->value & 0x1); in usb_register_cb()
182 void cdcserial_create_channel(cdcserial_channel_t *chan, int data_ep_addr, int ctrl_ep_addr) { in cdcserial_create_channel() argument
183 event_init(&chan->txevt, 0, EVENT_FLAG_AUTOUNSIGNAL); in cdcserial_create_channel()
184 event_init(&chan->rxevt, 0, EVENT_FLAG_AUTOUNSIGNAL); in cdcserial_create_channel()
185 chan->usb_online = false; in cdcserial_create_channel()
186 chan->registered_bulk_eps_in = 0; in cdcserial_create_channel()
187 chan->registered_bulk_eps_out = 0; in cdcserial_create_channel()
188 chan->registered_intr_eps_in = 0; in cdcserial_create_channel()
189 chan->registered_intr_eps_out = 0; in cdcserial_create_channel()
191 chan->data_ep_addr = data_ep_addr; in cdcserial_create_channel()
192 chan->ctrl_ep_addr = ctrl_ep_addr; in cdcserial_create_channel()
214 chan->registered_bulk_eps_in |= (0x1 << data_ep_addr); in cdcserial_create_channel()
215 chan->registered_bulk_eps_out |= (0x1 << data_ep_addr); in cdcserial_create_channel()
216 chan->registered_intr_eps_in |= (0x1 << ctrl_ep_addr); in cdcserial_create_channel()
218 usb_register_callback(&usb_register_cb, chan); in cdcserial_create_channel()
222 cdcserial_channel_t *chan = t->extra; in usb_xmit_cplt_cb() local
223 event_signal(&chan->txevt, false); in usb_xmit_cplt_cb()
228 cdcserial_channel_t *chan = t->extra; in usb_recv_cplt_cb() local
229 event_signal(&chan->rxevt, false); in usb_recv_cplt_cb()
234 status_t cdcserial_write_async(cdcserial_channel_t *chan, usbc_transfer_t *transfer, ep_callback cb, in cdcserial_write_async() argument
240 if (!chan->usb_online) { in cdcserial_write_async()
249 transfer->extra = chan; in cdcserial_write_async()
251 usbc_queue_tx(chan->data_ep_addr, transfer); in cdcserial_write_async()
255 status_t cdcserial_write(cdcserial_channel_t *chan, size_t len, uint8_t *buf) { in cdcserial_write() argument
257 status_t ret = cdcserial_write_async(chan, &transfer, &usb_xmit_cplt_cb, len, buf); in cdcserial_write()
262 event_wait(&chan->txevt); in cdcserial_write()
269 ssize_t cdcserial_read_async(cdcserial_channel_t *chan, usbc_transfer_t *transfer, ep_callback cb, in cdcserial_read_async() argument
275 if (!chan->usb_online) { in cdcserial_read_async()
284 transfer->extra = chan; in cdcserial_read_async()
286 usbc_queue_rx(chan->data_ep_addr, transfer); in cdcserial_read_async()
290 ssize_t cdcserial_read(cdcserial_channel_t *chan, size_t len, uint8_t *buf) { in cdcserial_read() argument
292 status_t ret = cdcserial_write_async(chan, &transfer, &usb_recv_cplt_cb, len, buf); in cdcserial_read()
297 event_wait(&chan->rxevt); in cdcserial_read()