Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/sfxge/common/efx_impl.h
Show First 20 Lines • Show All 295 Lines • ▼ Show 20 Lines | #endif /* EFSYS_OPT_PHY_LED_CONTROL */ | ||||
uint32_t ep_lp_cap_mask; | uint32_t ep_lp_cap_mask; | ||||
uint32_t ep_default_adv_cap_mask; | uint32_t ep_default_adv_cap_mask; | ||||
uint32_t ep_phy_cap_mask; | uint32_t ep_phy_cap_mask; | ||||
boolean_t ep_mac_drain; | boolean_t ep_mac_drain; | ||||
boolean_t ep_mac_stats_pending; | boolean_t ep_mac_stats_pending; | ||||
#if EFSYS_OPT_BIST | #if EFSYS_OPT_BIST | ||||
efx_bist_type_t ep_current_bist; | efx_bist_type_t ep_current_bist; | ||||
#endif | #endif | ||||
efx_mac_ops_t *ep_emop; | const efx_mac_ops_t *ep_emop; | ||||
efx_phy_ops_t *ep_epop; | const efx_phy_ops_t *ep_epop; | ||||
} efx_port_t; | } efx_port_t; | ||||
typedef struct efx_mon_ops_s { | typedef struct efx_mon_ops_s { | ||||
efx_rc_t (*emo_reset)(efx_nic_t *); | efx_rc_t (*emo_reset)(efx_nic_t *); | ||||
efx_rc_t (*emo_reconfigure)(efx_nic_t *); | efx_rc_t (*emo_reconfigure)(efx_nic_t *); | ||||
#if EFSYS_OPT_MON_STATS | #if EFSYS_OPT_MON_STATS | ||||
efx_rc_t (*emo_stats_update)(efx_nic_t *, efsys_mem_t *, | efx_rc_t (*emo_stats_update)(efx_nic_t *, efsys_mem_t *, | ||||
efx_mon_stat_value_t *); | efx_mon_stat_value_t *); | ||||
#endif /* EFSYS_OPT_MON_STATS */ | #endif /* EFSYS_OPT_MON_STATS */ | ||||
} efx_mon_ops_t; | } efx_mon_ops_t; | ||||
typedef struct efx_mon_s { | typedef struct efx_mon_s { | ||||
efx_mon_type_t em_type; | efx_mon_type_t em_type; | ||||
efx_mon_ops_t *em_emop; | const efx_mon_ops_t *em_emop; | ||||
} efx_mon_t; | } efx_mon_t; | ||||
typedef struct efx_intr_ops_s { | typedef struct efx_intr_ops_s { | ||||
efx_rc_t (*eio_init)(efx_nic_t *, efx_intr_type_t, efsys_mem_t *); | efx_rc_t (*eio_init)(efx_nic_t *, efx_intr_type_t, efsys_mem_t *); | ||||
void (*eio_enable)(efx_nic_t *); | void (*eio_enable)(efx_nic_t *); | ||||
void (*eio_disable)(efx_nic_t *); | void (*eio_disable)(efx_nic_t *); | ||||
void (*eio_disable_unlocked)(efx_nic_t *); | void (*eio_disable_unlocked)(efx_nic_t *); | ||||
efx_rc_t (*eio_trigger)(efx_nic_t *, unsigned int); | efx_rc_t (*eio_trigger)(efx_nic_t *, unsigned int); | ||||
void (*eio_status_line)(efx_nic_t *, boolean_t *, uint32_t *); | void (*eio_status_line)(efx_nic_t *, boolean_t *, uint32_t *); | ||||
void (*eio_status_message)(efx_nic_t *, unsigned int, | void (*eio_status_message)(efx_nic_t *, unsigned int, | ||||
boolean_t *); | boolean_t *); | ||||
void (*eio_fatal)(efx_nic_t *); | void (*eio_fatal)(efx_nic_t *); | ||||
void (*eio_fini)(efx_nic_t *); | void (*eio_fini)(efx_nic_t *); | ||||
} efx_intr_ops_t; | } efx_intr_ops_t; | ||||
typedef struct efx_intr_s { | typedef struct efx_intr_s { | ||||
efx_intr_ops_t *ei_eiop; | const efx_intr_ops_t *ei_eiop; | ||||
efsys_mem_t *ei_esmp; | efsys_mem_t *ei_esmp; | ||||
efx_intr_type_t ei_type; | efx_intr_type_t ei_type; | ||||
unsigned int ei_level; | unsigned int ei_level; | ||||
} efx_intr_t; | } efx_intr_t; | ||||
typedef struct efx_nic_ops_s { | typedef struct efx_nic_ops_s { | ||||
efx_rc_t (*eno_probe)(efx_nic_t *); | efx_rc_t (*eno_probe)(efx_nic_t *); | ||||
efx_rc_t (*eno_board_cfg)(efx_nic_t *); | efx_rc_t (*eno_board_cfg)(efx_nic_t *); | ||||
efx_rc_t (*eno_set_drv_limits)(efx_nic_t *, efx_drv_limits_t*); | efx_rc_t (*eno_set_drv_limits)(efx_nic_t *, efx_drv_limits_t*); | ||||
efx_rc_t (*eno_reset)(efx_nic_t *); | efx_rc_t (*eno_reset)(efx_nic_t *); | ||||
efx_rc_t (*eno_init)(efx_nic_t *); | efx_rc_t (*eno_init)(efx_nic_t *); | ||||
▲ Show 20 Lines • Show All 96 Lines • ▼ Show 20 Lines | typedef struct efx_mcdi_ops_s { | ||||
efx_rc_t (*emco_poll_reboot)(efx_nic_t *); | efx_rc_t (*emco_poll_reboot)(efx_nic_t *); | ||||
boolean_t (*emco_poll_response)(efx_nic_t *); | boolean_t (*emco_poll_response)(efx_nic_t *); | ||||
void (*emco_read_response)(efx_nic_t *, void *, size_t, size_t); | void (*emco_read_response)(efx_nic_t *, void *, size_t, size_t); | ||||
void (*emco_fini)(efx_nic_t *); | void (*emco_fini)(efx_nic_t *); | ||||
efx_rc_t (*emco_feature_supported)(efx_nic_t *, efx_mcdi_feature_id_t, boolean_t *); | efx_rc_t (*emco_feature_supported)(efx_nic_t *, efx_mcdi_feature_id_t, boolean_t *); | ||||
} efx_mcdi_ops_t; | } efx_mcdi_ops_t; | ||||
typedef struct efx_mcdi_s { | typedef struct efx_mcdi_s { | ||||
efx_mcdi_ops_t *em_emcop; | const efx_mcdi_ops_t *em_emcop; | ||||
const efx_mcdi_transport_t *em_emtp; | const efx_mcdi_transport_t *em_emtp; | ||||
efx_mcdi_iface_t em_emip; | efx_mcdi_iface_t em_emip; | ||||
} efx_mcdi_t; | } efx_mcdi_t; | ||||
#endif /* EFSYS_OPT_MCDI */ | #endif /* EFSYS_OPT_MCDI */ | ||||
#if EFSYS_OPT_NVRAM | #if EFSYS_OPT_NVRAM | ||||
typedef struct efx_nvram_ops_s { | typedef struct efx_nvram_ops_s { | ||||
▲ Show 20 Lines • Show All 151 Lines • ▼ Show 20 Lines | struct efx_nic_s { | ||||
efx_nic_cfg_t en_nic_cfg; | efx_nic_cfg_t en_nic_cfg; | ||||
efx_drv_cfg_t en_drv_cfg; | efx_drv_cfg_t en_drv_cfg; | ||||
efx_port_t en_port; | efx_port_t en_port; | ||||
efx_mon_t en_mon; | efx_mon_t en_mon; | ||||
efx_intr_t en_intr; | efx_intr_t en_intr; | ||||
uint32_t en_ev_qcount; | uint32_t en_ev_qcount; | ||||
uint32_t en_rx_qcount; | uint32_t en_rx_qcount; | ||||
uint32_t en_tx_qcount; | uint32_t en_tx_qcount; | ||||
efx_nic_ops_t *en_enop; | const efx_nic_ops_t *en_enop; | ||||
efx_ev_ops_t *en_eevop; | const efx_ev_ops_t *en_eevop; | ||||
efx_tx_ops_t *en_etxop; | const efx_tx_ops_t *en_etxop; | ||||
efx_rx_ops_t *en_erxop; | const efx_rx_ops_t *en_erxop; | ||||
#if EFSYS_OPT_FILTER | #if EFSYS_OPT_FILTER | ||||
efx_filter_t en_filter; | efx_filter_t en_filter; | ||||
efx_filter_ops_t *en_efop; | const efx_filter_ops_t *en_efop; | ||||
#endif /* EFSYS_OPT_FILTER */ | #endif /* EFSYS_OPT_FILTER */ | ||||
#if EFSYS_OPT_MCDI | #if EFSYS_OPT_MCDI | ||||
efx_mcdi_t en_mcdi; | efx_mcdi_t en_mcdi; | ||||
#endif /* EFSYS_OPT_MCDI */ | #endif /* EFSYS_OPT_MCDI */ | ||||
#if EFSYS_OPT_NVRAM | #if EFSYS_OPT_NVRAM | ||||
efx_nvram_type_t en_nvram_locked; | efx_nvram_type_t en_nvram_locked; | ||||
efx_nvram_ops_t *en_envop; | const efx_nvram_ops_t *en_envop; | ||||
#endif /* EFSYS_OPT_NVRAM */ | #endif /* EFSYS_OPT_NVRAM */ | ||||
#if EFSYS_OPT_VPD | #if EFSYS_OPT_VPD | ||||
efx_vpd_ops_t *en_evpdop; | const efx_vpd_ops_t *en_evpdop; | ||||
#endif /* EFSYS_OPT_VPD */ | #endif /* EFSYS_OPT_VPD */ | ||||
#if EFSYS_OPT_RX_SCALE | #if EFSYS_OPT_RX_SCALE | ||||
efx_rx_hash_support_t en_hash_support; | efx_rx_hash_support_t en_hash_support; | ||||
efx_rx_scale_support_t en_rss_support; | efx_rx_scale_support_t en_rss_support; | ||||
uint32_t en_rss_context; | uint32_t en_rss_context; | ||||
#endif /* EFSYS_OPT_RX_SCALE */ | #endif /* EFSYS_OPT_RX_SCALE */ | ||||
uint32_t en_vport_id; | uint32_t en_vport_id; | ||||
#if EFSYS_OPT_LICENSING | #if EFSYS_OPT_LICENSING | ||||
efx_lic_ops_t *en_elop; | const efx_lic_ops_t *en_elop; | ||||
#endif | #endif | ||||
union { | union { | ||||
#if EFSYS_OPT_SIENA | #if EFSYS_OPT_SIENA | ||||
struct { | struct { | ||||
#if EFSYS_OPT_NVRAM || EFSYS_OPT_VPD | #if EFSYS_OPT_NVRAM || EFSYS_OPT_VPD | ||||
unsigned int enu_partn_mask; | unsigned int enu_partn_mask; | ||||
#endif /* EFSYS_OPT_NVRAM || EFSYS_OPT_VPD */ | #endif /* EFSYS_OPT_NVRAM || EFSYS_OPT_VPD */ | ||||
#if EFSYS_OPT_VPD | #if EFSYS_OPT_VPD | ||||
▲ Show 20 Lines • Show All 515 Lines • Show Last 20 Lines |