ixl_softc
struct ixl_softc *sc;
struct ixl_softc; /* defined */
struct ixl_softc *sc = device_private(self);
struct ixl_softc *sc = device_private(self);
struct ixl_softc *sc = ifp->if_softc;
ixl_media_add(struct ixl_softc *sc)
struct ixl_softc *sc = ifp->if_softc;
struct ixl_softc *sc = ifp->if_softc;
ixl_del_all_multiaddr(struct ixl_softc *sc)
ixl_add_multi(struct ixl_softc *sc, uint8_t *addrlo, uint8_t *addrhi)
ixl_del_multi(struct ixl_softc *sc, uint8_t *addrlo, uint8_t *addrhi)
struct ixl_softc *sc = (struct ixl_softc *)ifp->if_softc;
ixl_hmc_kva(struct ixl_softc *sc, enum ixl_hmc_types type, unsigned int i)
ixl_hmc_len(struct ixl_softc *sc, enum ixl_hmc_types type)
ixl_enable_queue_intr(struct ixl_softc *sc, struct ixl_queue_pair *qp)
ixl_disable_queue_intr(struct ixl_softc *sc, struct ixl_queue_pair *qp)
ixl_enable_other_intr(struct ixl_softc *sc)
ixl_disable_other_intr(struct ixl_softc *sc)
ixl_reinit(struct ixl_softc *sc)
ixl_init_locked(struct ixl_softc *sc)
struct ixl_softc *sc = ifp->if_softc;
ixl_iff(struct ixl_softc *sc)
ixl_stop_locked(struct ixl_softc *sc)
struct ixl_softc *sc = ifp->if_softc;
ixl_queue_pairs_alloc(struct ixl_softc *sc)
ixl_queue_pairs_free(struct ixl_softc *sc)
ixl_txr_alloc(struct ixl_softc *sc, unsigned int qid)
ixl_txr_qdis(struct ixl_softc *sc, struct ixl_tx_ring *txr, int enable)
ixl_txr_config(struct ixl_softc *sc, struct ixl_tx_ring *txr)
ixl_txr_unconfig(struct ixl_softc *sc, struct ixl_tx_ring *txr)
ixl_txr_clean(struct ixl_softc *sc, struct ixl_tx_ring *txr)
ixl_txr_enabled(struct ixl_softc *sc, struct ixl_tx_ring *txr)
ixl_txr_disabled(struct ixl_softc *sc, struct ixl_tx_ring *txr)
ixl_txr_free(struct ixl_softc *sc, struct ixl_tx_ring *txr)
struct ixl_softc *sc = ifp->if_softc;
ixl_txeof(struct ixl_softc *sc, struct ixl_tx_ring *txr, u_int txlimit)
struct ixl_softc *sc;
ixl_select_txqueue(struct ixl_softc *sc, struct mbuf *m)
struct ixl_softc *sc;
struct ixl_softc *sc = txr->txr_sc;
ixl_rxr_alloc(struct ixl_softc *sc, unsigned int qid)
ixl_rxr_clean(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_rxr_enabled(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_rxr_disabled(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_rxr_config(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_rxr_unconfig(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_rxr_free(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_rxeof(struct ixl_softc *sc, struct ixl_rx_ring *rxr, u_int rxlimit)
ixl_rxfill(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
ixl_handle_queue_common(struct ixl_softc *sc, struct ixl_queue_pair *qp,
ixl_sched_handle_queue(struct ixl_softc *sc, struct ixl_queue_pair *qp)
struct ixl_softc *sc = xsc;
struct ixl_softc *sc = qp->qp_sc;
struct ixl_softc *sc = qp->qp_sc;
ixl_print_hmc_error(struct ixl_softc *sc, uint32_t reg)
struct ixl_softc *sc = xsc;
struct ixl_softc *sc = xsc;
ixl_get_link_status_done(struct ixl_softc *sc,
ixl_get_link_status(struct ixl_softc *sc, enum ixl_link_flags flags)
struct ixl_softc *sc = xsc;
ixl_link_state_update(struct ixl_softc *sc, const struct ixl_aq_desc *iaq)
ixl_aq_dump(const struct ixl_softc *sc, const struct ixl_aq_desc *iaq,
struct ixl_softc *sc = xsc;
void (*fn)(struct ixl_softc *, const struct ixl_aq_desc *))
ixl_atq_post_locked(struct ixl_softc *sc, struct ixl_atq *iatq)
ixl_atq_done_locked(struct ixl_softc *sc)
struct ixl_softc *txr_sc;
ixl_atq_done(struct ixl_softc *sc)
ixl_wakeup(struct ixl_softc *sc, const struct ixl_aq_desc *iaq)
ixl_atq_exec(struct ixl_softc *sc, struct ixl_atq *iatq)
ixl_atq_exec_locked(struct ixl_softc *sc, struct ixl_atq *iatq)
ixl_atq_poll(struct ixl_softc *sc, struct ixl_aq_desc *iaq, unsigned int tm)
ixl_get_version(struct ixl_softc *sc)
ixl_get_nvm_version(struct ixl_softc *sc)
ixl_pxe_clear(struct ixl_softc *sc)
ixl_lldp_shut(struct ixl_softc *sc)
ixl_parse_hw_capability(struct ixl_softc *sc, struct ixl_aq_capability *cap)
ixl_get_hw_capabilities(struct ixl_softc *sc)
ixl_get_mac(struct ixl_softc *sc)
ixl_get_switch_config(struct ixl_softc *sc)
struct ixl_softc *qp_sc;
ixl_phy_mask_ints(struct ixl_softc *sc)
ixl_get_phy_abilities(struct ixl_softc *sc, struct ixl_dmamem *idm)
ixl_get_phy_info(struct ixl_softc *sc)
ixl_set_phy_config(struct ixl_softc *sc,
void (*iatq_fn)(struct ixl_softc *,
ixl_set_phy_autoselect(struct ixl_softc *sc)
ixl_get_link_status_poll(struct ixl_softc *sc, int *l)
ixl_get_vsi(struct ixl_softc *sc)
ixl_set_vsi(struct ixl_softc *sc)
ixl_set_filter_control(struct ixl_softc *sc)
ixl_set_rss_key(struct ixl_softc *sc, uint8_t *key, size_t keylen)
ixl_set_rss_lut(struct ixl_softc *sc, uint8_t *lut, size_t lutlen)
ixl_register_rss_key(struct ixl_softc *sc)
ixl_register_rss_pctype(struct ixl_softc *sc)
ixl_register_rss_hlut(struct ixl_softc *sc)
ixl_config_rss(struct ixl_softc *sc)
ixl_restart_an(struct ixl_softc *sc)
ixl_add_macvlan(struct ixl_softc *sc, const uint8_t *macaddr,
ixl_remove_macvlan(struct ixl_softc *sc, const uint8_t *macaddr,
ixl_hmc(struct ixl_softc *sc)
ixl_hmc_free(struct ixl_softc *sc)
ixl_aqb_alloc(struct ixl_softc *sc)
ixl_aqb_free(struct ixl_softc *sc, struct ixl_aq_buf *aqb)
ixl_arq_fill(struct ixl_softc *sc)
ixl_arq_unfill(struct ixl_softc *sc)
ixl_clear_hw(struct ixl_softc *sc)
ixl_pf_reset(struct ixl_softc *sc)
ixl_dmamem_alloc(struct ixl_softc *sc, struct ixl_dmamem *ixm,
ixl_dmamem_free(struct ixl_softc *sc, struct ixl_dmamem *ixm)
ixl_setup_vlan_hwfilter(struct ixl_softc *sc)
ixl_teardown_vlan_hwfilter(struct ixl_softc *sc)
ixl_update_macvlan(struct ixl_softc *sc)
struct ixl_softc *sc = ifp->if_softc;
ixl_set_link_status_locked(struct ixl_softc *sc, const struct ixl_aq_desc *iaq)
ixl_establish_intx(struct ixl_softc *sc)
ixl_establish_msix(struct ixl_softc *sc)
ixl_config_queue_intr(struct ixl_softc *sc)
ixl_config_other_intr(struct ixl_softc *sc)
ixl_setup_interrupts(struct ixl_softc *sc)
ixl_teardown_interrupts(struct ixl_softc *sc)
ixl_setup_stats(struct ixl_softc *sc)
ixl_teardown_stats(struct ixl_softc *sc)
struct ixl_softc *sc = xsc;
ixl_stat_delta(struct ixl_softc *sc, uint32_t reg_hi, uint32_t reg_lo,
struct ixl_softc *sc = xsc;
ixl_setup_sysctls(struct ixl_softc *sc)
ixl_teardown_sysctls(struct ixl_softc *sc)
struct ixl_softc *sc = (struct ixl_softc *)node.sysctl_data;
ixl_rx_ctl_read(struct ixl_softc *sc, uint32_t reg, uint32_t *rv)
ixl_rd_rx_csr(struct ixl_softc *sc, uint32_t reg)
ixl_rx_ctl_write(struct ixl_softc *sc, uint32_t reg, uint32_t value)
ixl_wr_rx_csr(struct ixl_softc *sc, uint32_t reg, uint32_t value)
ixl_nvm_lock(struct ixl_softc *sc, char rw)
ixl_nvm_unlock(struct ixl_softc *sc)
ixl_srdone_poll(struct ixl_softc *sc)
ixl_nvm_read_srctl(struct ixl_softc *sc, uint16_t offset, uint16_t *data)
ixl_nvm_read_aq(struct ixl_softc *sc, uint16_t offset_word,
((struct ixl_softc *)(sc))->sc_dev, \
ixl_rd16_nvm(struct ixl_softc *sc, uint16_t offset, uint16_t *data)
static void ixl_clear_hw(struct ixl_softc *);
static int ixl_pf_reset(struct ixl_softc *);
static int ixl_dmamem_alloc(struct ixl_softc *, struct ixl_dmamem *,
static void ixl_dmamem_free(struct ixl_softc *, struct ixl_dmamem *);
static int ixl_arq_fill(struct ixl_softc *);
static void ixl_arq_unfill(struct ixl_softc *);
static int ixl_atq_poll(struct ixl_softc *, struct ixl_aq_desc *,
void (*)(struct ixl_softc *, const struct ixl_aq_desc *));
static void ixl_wakeup(struct ixl_softc *, const struct ixl_aq_desc *);
static int ixl_atq_post_locked(struct ixl_softc *, struct ixl_atq *);
static void ixl_atq_done(struct ixl_softc *);
static int ixl_atq_exec(struct ixl_softc *, struct ixl_atq *);
static int ixl_atq_exec_locked(struct ixl_softc *, struct ixl_atq *);
static int ixl_get_version(struct ixl_softc *);
static int ixl_get_nvm_version(struct ixl_softc *);
static int ixl_get_hw_capabilities(struct ixl_softc *);
static int ixl_pxe_clear(struct ixl_softc *);
static int ixl_lldp_shut(struct ixl_softc *);
static int ixl_get_mac(struct ixl_softc *);
static int ixl_get_switch_config(struct ixl_softc *);
static int ixl_phy_mask_ints(struct ixl_softc *);
static int ixl_get_phy_info(struct ixl_softc *);
static int ixl_set_phy_config(struct ixl_softc *, uint8_t, uint8_t, bool);
static int ixl_set_phy_autoselect(struct ixl_softc *);
static int ixl_restart_an(struct ixl_softc *);
static int ixl_hmc(struct ixl_softc *);
static void ixl_hmc_free(struct ixl_softc *);
static int ixl_get_vsi(struct ixl_softc *);
static int ixl_set_vsi(struct ixl_softc *);
static void ixl_set_filter_control(struct ixl_softc *);
static int ixl_get_link_status(struct ixl_softc *, enum ixl_link_flags);
static int ixl_get_link_status_poll(struct ixl_softc *, int *);
static void ixl_get_link_status_done(struct ixl_softc *,
static int ixl_set_link_status_locked(struct ixl_softc *,
static void ixl_config_rss(struct ixl_softc *);
static int ixl_add_macvlan(struct ixl_softc *, const uint8_t *,
static int ixl_remove_macvlan(struct ixl_softc *, const uint8_t *,
static uint32_t ixl_rd_rx_csr(struct ixl_softc *, uint32_t);
static void ixl_wr_rx_csr(struct ixl_softc *, uint32_t, uint32_t);
static int ixl_rd16_nvm(struct ixl_softc *, uint16_t, uint16_t *);
static void ixl_media_add(struct ixl_softc *);
static void ixl_sched_handle_queue(struct ixl_softc *,
static int ixl_init_locked(struct ixl_softc *);
static void ixl_stop_locked(struct ixl_softc *);
static int ixl_iff(struct ixl_softc *);
static int ixl_setup_interrupts(struct ixl_softc *);
static int ixl_establish_intx(struct ixl_softc *);
static int ixl_establish_msix(struct ixl_softc *);
static void ixl_enable_queue_intr(struct ixl_softc *,
static void ixl_disable_queue_intr(struct ixl_softc *,
static void ixl_enable_other_intr(struct ixl_softc *);
static void ixl_disable_other_intr(struct ixl_softc *);
static void ixl_config_queue_intr(struct ixl_softc *);
static void ixl_config_other_intr(struct ixl_softc *);
ixl_txr_alloc(struct ixl_softc *, unsigned int);
static void ixl_txr_qdis(struct ixl_softc *, struct ixl_tx_ring *, int);
static void ixl_txr_config(struct ixl_softc *, struct ixl_tx_ring *);
static int ixl_txr_enabled(struct ixl_softc *, struct ixl_tx_ring *);
static int ixl_txr_disabled(struct ixl_softc *, struct ixl_tx_ring *);
static void ixl_txr_unconfig(struct ixl_softc *, struct ixl_tx_ring *);
static void ixl_txr_clean(struct ixl_softc *, struct ixl_tx_ring *);
static void ixl_txr_free(struct ixl_softc *, struct ixl_tx_ring *);
static int ixl_txeof(struct ixl_softc *, struct ixl_tx_ring *, u_int);
ixl_rxr_alloc(struct ixl_softc *, unsigned int);
static void ixl_rxr_config(struct ixl_softc *, struct ixl_rx_ring *);
static int ixl_rxr_enabled(struct ixl_softc *, struct ixl_rx_ring *);
static int ixl_rxr_disabled(struct ixl_softc *, struct ixl_rx_ring *);
static void ixl_rxr_unconfig(struct ixl_softc *, struct ixl_rx_ring *);
static void ixl_rxr_clean(struct ixl_softc *, struct ixl_rx_ring *);
static void ixl_rxr_free(struct ixl_softc *, struct ixl_rx_ring *);
static int ixl_rxeof(struct ixl_softc *, struct ixl_rx_ring *, u_int);
static int ixl_rxfill(struct ixl_softc *, struct ixl_rx_ring *);
static void ixl_link_state_update(struct ixl_softc *,
static int ixl_setup_vlan_hwfilter(struct ixl_softc *);
static void ixl_teardown_vlan_hwfilter(struct ixl_softc *);
static int ixl_update_macvlan(struct ixl_softc *);
static int ixl_setup_interrupts(struct ixl_softc *);
static void ixl_teardown_interrupts(struct ixl_softc *);
static int ixl_setup_stats(struct ixl_softc *);
static void ixl_teardown_stats(struct ixl_softc *);
static int ixl_setup_sysctls(struct ixl_softc *);
static void ixl_teardown_sysctls(struct ixl_softc *);
static int ixl_queue_pairs_alloc(struct ixl_softc *);
static void ixl_queue_pairs_free(struct ixl_softc *);
CFATTACH_DECL3_NEW(ixl, sizeof(struct ixl_softc),