dwc2_hsotgRegular
4.4: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params *core_params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
u16 periodic_usecs;
u16 frame_usecs[8];
u16 frame_number;
u16 periodic_qh_count;
bool bus_suspended;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
};
4.8: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params *core_params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 frame_number;
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
};
4.10: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 frame_number;
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
};
4.13: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 frame_number;
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
};
4.15: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 frame_number;
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
};
4.18: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.0: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
u32 phyif;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.3: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.4: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.8: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.11: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.13: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int in_ppd;
bool bus_suspended;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.15: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int in_ppd;
bool bus_suspended;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
5.19: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
enum usb_dr_mode role_sw_default_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int in_ppd;
bool bus_suspended;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
6.2: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
enum usb_dr_mode role_sw_default_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int in_ppd;
bool bus_suspended;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
6.5: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
enum usb_dr_mode role_sw_default_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int in_ppd;
bool bus_suspended;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct clk *utmi_clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
6.8: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
struct usb_role_switch *role_sw;
enum usb_dr_mode role_sw_default_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int in_ppd;
bool bus_suspended;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
struct regulator *usb33d;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct clk *utmi_clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
arm64: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
armhf: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[25];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
ppc64el: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
riscv64: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
aws: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
azure: Absent ⚠️
gcp: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
lowlatency: ✅struct dwc2_hsotg {
struct device *dev;
void *regs;
struct dwc2_hw_params hw_params;
struct dwc2_core_params params;
enum usb_otg_state op_state;
enum usb_dr_mode dr_mode;
unsigned int hcd_enabled;
unsigned int gadget_enabled;
unsigned int ll_hw_enabled;
unsigned int hibernated;
unsigned int reset_phy_on_wake;
unsigned int need_phy_for_wake;
unsigned int phy_off_for_suspend;
u16 frame_number;
struct phy *phy;
struct usb_phy *uphy;
struct dwc2_hsotg_plat *plat;
struct regulator_bulk_data supplies[2];
struct regulator *vbus_supply;
spinlock_t lock;
void *priv;
int irq;
struct clk *clk;
struct reset_control *reset;
struct reset_control *reset_ecc;
unsigned int queuing_high_bandwidth;
unsigned int srp_success;
struct workqueue_struct *wq_otg;
struct work_struct wf_otg;
struct timer_list wkp_timer;
enum dwc2_lx_state lx_state;
struct dwc2_gregs_backup gr_backup;
struct dwc2_dregs_backup dr_backup;
struct dwc2_hregs_backup hr_backup;
struct dentry *debug_root;
struct debugfs_regset32 *regset;
bool needs_byte_swap;
union dwc2_hcd_internal_flags flags;
struct list_head non_periodic_sched_inactive;
struct list_head non_periodic_sched_waiting;
struct list_head non_periodic_sched_active;
struct list_head *non_periodic_qh_ptr;
struct list_head periodic_sched_inactive;
struct list_head periodic_sched_ready;
struct list_head periodic_sched_assigned;
struct list_head periodic_sched_queued;
struct list_head split_order;
u16 periodic_usecs;
long unsigned int hs_periodic_bitmap[13];
u16 periodic_qh_count;
bool bus_suspended;
bool new_connection;
u16 last_frame_num;
struct list_head free_hc_list;
int periodic_channels;
int non_periodic_channels;
int available_host_channels;
struct dwc2_host_chan * hc_ptr_array[16];
u8 *status_buf;
dma_addr_t status_buf_dma;
struct delayed_work start_work;
struct delayed_work reset_work;
struct work_struct phy_reset_work;
u8 otg_port;
u32 *frame_list;
dma_addr_t frame_list_dma;
u32 frame_list_sz;
struct kmem_cache *desc_gen_cache;
struct kmem_cache *desc_hsisoc_cache;
struct kmem_cache *unaligned_cache;
};
Regular
4.4 and 4.8 ⚠️struct reset_control *reset
struct list_head split_order
long unsigned int hs_periodic_bitmap[13]
bool new_connection
u16 last_frame_num
u32 frame_list_sz
struct kmem_cache *desc_gen_cache
struct kmem_cache *desc_hsisoc_cache
u16 frame_usecs[8]
4.8 and 4.10 ⚠️struct dwc2_core_params params
struct dwc2_core_params *core_params
4.10 and 4.13 ✅
4.13 and 4.15 ✅
4.15 and 4.18 ⚠️unsigned int hibernated
struct regulator *vbus_supply
struct reset_control *reset_ecc
struct list_head non_periodic_sched_waiting
struct kmem_cache *unaligned_cache
4.18 and 5.0 ⚠️bool needs_byte_swap
5.0 and 5.3 ⚠️unsigned int reset_phy_on_wake
unsigned int need_phy_for_wake
unsigned int phy_off_for_suspend
struct work_struct phy_reset_work
u32 phyif
5.3 and 5.4 ✅
5.4 and 5.8 ⚠️struct regulator *usb33d
5.8 and 5.11 ⚠️struct usb_role_switch *role_sw
5.11 and 5.13 ⚠️unsigned int in_ppd
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️enum usb_dr_mode role_sw_default_mode
5.19 and 6.2 ✅
6.2 and 6.5 ⚠️struct clk *utmi_clk
6.5 and 6.8 ✅
amd64 and arm64 ✅
amd64 and armhf ⚠️long unsigned int hs_periodic_bitmap[13] ➡️ long unsigned int hs_periodic_bitmap[25]
amd64 and ppc64el ⚠️struct clk *clk ➡️ struct clk *clk
amd64 and riscv64 ✅
generic and aws ✅
generic and gcp ✅
generic and lowlatency ✅