STRUCT DWC3_EVENT_DEPEVT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct dwc3_event_depevt(9) β€” Device Endpoint Events πŸ¦‹

Kernel API Manual β€” okay bestie, we're in the USB DWC3 device endpoint event zone, and this struct is lowkey iconic. πŸ’…

🌸 NAME 🌸

  • struct dwc3_event_depevt β€” Device Endpoint Events, periodt. ✨

✨ SYNOPSIS ✨

       struct dwc3_event_depevt {
           u32 one_bit:1;
           u32 endpoint_number:5;
           u32 endpoint_event:4;
           u32 reserved11_10:2;
           u32 status:4;
         #define DEPEVT_STATUS_TRANSFER_ACTIVE   BIT(3);
         #define DEPEVT_STATUS_BUSERR    BIT(0);
         #define DEPEVT_STATUS_SHORT     BIT(1);
         #define DEPEVT_STATUS_IOC       BIT(2);
         #define DEPEVT_STATUS_LST       BIT(3) ;
         #define DEPEVT_STATUS_MISSED_ISOC BIT(3) ;
         #define DEPEVT_STREAMEVT_FOUND          1;
         #define DEPEVT_STREAMEVT_NOTFOUND       2;
         #define DEPEVT_STREAM_PRIME             0xfffe;
         #define DEPEVT_STREAM_NOSTREAM          0x0;
         #define DEPEVT_STATUS_CONTROL_DATA      1;
         #define DEPEVT_STATUS_CONTROL_STATUS    2;
         #define DEPEVT_STATUS_CONTROL_PHASE(n)  ((n) & 3);
         #define DEPEVT_TRANSFER_NO_RESOURCE     1;
         #define DEPEVT_TRANSFER_BUS_EXPIRY      2;
           u32 parameters:16;
         #define DEPEVT_PARAMETER_CMD(n) (((n) & (0xf << 8)) >> 8);
        };

πŸŽ€ Members πŸŽ€

  • one_bit β€” indicates this is an endpoint event (not used) β€” yeah, it's literally not used, bestie.
  • endpoint_number β€” number of the endpoint. 🫢
  • endpoint_event β€” the event we have, and it's giving a whole little menu:
    • 0x00 β€” Reserved
    • 0x01 β€” XferComplete
    • 0x02 β€” XferInProgress
    • 0x03 β€” XferNotReady
    • 0x04 β€” RxTxFifoEvt (IN->Underrun, OUT->Overrun)
    • 0x05 β€” Reserved
    • 0x06 β€” StreamEvt
    • 0x07 β€” EPCmdCmplt
  • reserved11_10 β€” Reserved, don't use. πŸ™ˆ No cap, leave it alone.
  • status β€” Indicates the status of the event. Refer to databook for more information. πŸ‘‘ The databook has the lore, so go check it.
  • parameters β€” Parameters of the current event. Refer to databook for more information. πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/usb/dwc3/core.h brings the whole friend group: struct dwc3_event_buffer(9), struct dwc3_ep(9), struct dwc3_trb(9), struct dwc3_hwparams(9), struct dwc3_request(9), struct dwc3_glue_ops(9), struct dwc3(9), struct dwc3_event_devt(9), struct dwc3_event_gevt(9), union dwc3_event(9), struct dwc3_gadget_ep_cmd_params(9), and dwc3_mdwidth(9). 🌈


source/version: ./drivers/usb/dwc3 Β· date: October 2026 Β· page: struct dwc3_event_depevt(9) β€” that's the whole manual page, bestie, ty for coming to my TED talk πŸ’–βœ¨

πŸ“¦ where this page comes from