ehci_hcdRegular
4.4: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[11];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
4.8: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
4.10: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
4.13: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
4.15: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
4.18: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.0: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.3: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.4: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.8: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.11: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.13: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
unsigned int spurious_oc;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.15: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
unsigned int spurious_oc;
unsigned int is_aspeed;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
5.19: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
unsigned int spurious_oc;
unsigned int is_aspeed;
unsigned int zx_wakeup_clear_needed;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
6.2: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
unsigned int spurious_oc;
unsigned int is_aspeed;
unsigned int zx_wakeup_clear_needed;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
6.5: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
unsigned int spurious_oc;
unsigned int is_aspeed;
unsigned int zx_wakeup_clear_needed;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
6.8: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int has_ci_pec_bug;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
unsigned int spurious_oc;
unsigned int is_aspeed;
unsigned int zx_wakeup_clear_needed;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
arm64: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
armhf: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
ppc64el: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
riscv64: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
aws: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
azure: Absent ⚠️
gcp: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
lowlatency: ✅struct ehci_hcd {
enum ehci_hrtimer_event next_hrtimer_event;
unsigned int enabled_hrtimer_events;
ktime_t hr_timeouts[12];
struct hrtimer hrtimer;
int PSS_poll_count;
int ASS_poll_count;
int died_poll_count;
struct ehci_caps *caps;
struct ehci_regs *regs;
struct ehci_dbg_port *debug;
__u32 hcs_params;
spinlock_t lock;
enum ehci_rh_state rh_state;
bool scanning;
bool need_rescan;
bool intr_unlinking;
bool iaa_in_progress;
bool async_unlinking;
bool shutdown;
struct ehci_qh *qh_scan_next;
struct ehci_qh *async;
struct ehci_qh *dummy;
struct list_head async_unlink;
struct list_head async_idle;
unsigned int async_unlink_cycle;
unsigned int async_count;
__le32 old_current;
__le32 old_token;
unsigned int periodic_size;
__le32 *periodic;
dma_addr_t periodic_dma;
struct list_head intr_qh_list;
unsigned int i_thresh;
union ehci_shadow *pshadow;
struct list_head intr_unlink_wait;
struct list_head intr_unlink;
unsigned int intr_unlink_wait_cycle;
unsigned int intr_unlink_cycle;
unsigned int now_frame;
unsigned int last_iso_frame;
unsigned int intr_count;
unsigned int isoc_count;
unsigned int periodic_count;
unsigned int uframe_periodic_max;
struct list_head cached_itd_list;
struct ehci_itd *last_itd_to_free;
struct list_head cached_sitd_list;
struct ehci_sitd *last_sitd_to_free;
long unsigned int reset_done[15];
long unsigned int bus_suspended;
long unsigned int companion_ports;
long unsigned int owned_ports;
long unsigned int port_c_suspend;
long unsigned int suspended_ports;
long unsigned int resuming_ports;
struct dma_pool *qh_pool;
struct dma_pool *qtd_pool;
struct dma_pool *itd_pool;
struct dma_pool *sitd_pool;
unsigned int random_frame;
long unsigned int next_statechange;
ktime_t last_periodic_enable;
u32 command;
unsigned int no_selective_suspend;
unsigned int has_fsl_port_bug;
unsigned int has_fsl_hs_errata;
unsigned int has_fsl_susp_errata;
unsigned int big_endian_mmio;
unsigned int big_endian_desc;
unsigned int big_endian_capbase;
unsigned int has_amcc_usb23;
unsigned int need_io_watchdog;
unsigned int amd_pll_fix;
unsigned int use_dummy_qh;
unsigned int has_synopsys_hc_bug;
unsigned int frame_index_bug;
unsigned int need_oc_pp_cycle;
unsigned int imx28_write_fix;
__le32 *ohci_hcctrl_reg;
unsigned int has_hostpc;
unsigned int has_tdi_phy_lpm;
unsigned int has_ppcd;
u8 sbrn;
struct ehci_stats stats;
struct dentry *debug_dir;
u8 bandwidth[64];
u8 tt_budget[64];
struct list_head tt_list;
long unsigned int priv[0];
};
Regular
4.4 and 4.8 ⚠️__le32 old_current
__le32 old_token
ktime_t hr_timeouts[11] ➡️ ktime_t hr_timeouts[12]
4.8 and 4.10 ⚠️unsigned int has_fsl_susp_errata
4.10 and 4.13 ✅
4.13 and 4.15 ✅
4.15 and 4.18 ✅
4.18 and 5.0 ✅
5.0 and 5.3 ✅
5.3 and 5.4 ✅
5.4 and 5.8 ✅
5.8 and 5.11 ✅
5.11 and 5.13 ⚠️unsigned int spurious_oc
5.13 and 5.15 ⚠️unsigned int is_aspeed
5.15 and 5.19 ⚠️unsigned int zx_wakeup_clear_needed
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️unsigned int has_ci_pec_bug
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and gcp ✅
generic and lowlatency ✅