Lines Matching refs:dwc
14 static void dwc3_handle_ep_event(dwc3_t* dwc, uint32_t event) {
21 dwc3_ep_xfer_complete(dwc, ep_num);
27 dwc3_ep_xfer_not_ready(dwc, ep_num, DEPEVT_XFER_NOT_READY_STAGE(event));
36 dwc3_ep_xfer_started(dwc, ep_num, rsrc_id);
46 static void dwc3_handle_event(dwc3_t* dwc, uint32_t event) {
49 dwc3_handle_ep_event(dwc, event);
62 dwc3_usb_reset(dwc);
66 dwc3_connection_done(dwc);
145 dwc3_disconnected(dwc);
178 dwc3_t* dwc = arg;
179 volatile void* mmio = dwc3_mmio(dwc);
183 uint32_t* ring_start = io_buffer_virt(&dwc->event_buffer);
188 zx_status_t status = zx_interrupt_wait(dwc->irq_handle, NULL);
197 io_buffer_cache_flush_invalidate(&dwc->event_buffer, 0, EVENT_BUFFER_SIZE);
204 dwc3_handle_event(dwc, event);
216 void dwc3_events_start(dwc3_t* dwc) {
217 volatile void* mmio = dwc3_mmio(dwc);
221 zx_paddr_t paddr = io_buffer_phys(&dwc->event_buffer);
232 thrd_create_with_name(&dwc->irq_thread, dwc3_irq_thread, dwc, "dwc3_irq_thread");
235 void dwc3_events_stop(dwc3_t* dwc) {
236 zx_interrupt_destroy(dwc->irq_handle);
237 thrd_join(dwc->irq_thread, NULL);