Lines Matching defs:ixl_softc
119 struct ixl_softc; /* defined */
385 struct ixl_softc *txr_sc;
434 struct ixl_softc *qp_sc;
447 void (*iatq_fn)(struct ixl_softc *,
559 * + a field named sc_atq_* in ixl_softc is protected by sc_atq_lock
565 * + other fields in ixl_softc is protected by sc_cfg_lock
571 struct ixl_softc {
704 ((struct ixl_softc *)(sc))->sc_dev, \
733 static void ixl_clear_hw(struct ixl_softc *);
734 static int ixl_pf_reset(struct ixl_softc *);
736 static int ixl_dmamem_alloc(struct ixl_softc *, struct ixl_dmamem *,
738 static void ixl_dmamem_free(struct ixl_softc *, struct ixl_dmamem *);
740 static int ixl_arq_fill(struct ixl_softc *);
741 static void ixl_arq_unfill(struct ixl_softc *);
743 static int ixl_atq_poll(struct ixl_softc *, struct ixl_aq_desc *,
746 void (*)(struct ixl_softc *, const struct ixl_aq_desc *));
747 static void ixl_wakeup(struct ixl_softc *, const struct ixl_aq_desc *);
748 static int ixl_atq_post_locked(struct ixl_softc *, struct ixl_atq *);
749 static void ixl_atq_done(struct ixl_softc *);
750 static int ixl_atq_exec(struct ixl_softc *, struct ixl_atq *);
751 static int ixl_atq_exec_locked(struct ixl_softc *, struct ixl_atq *);
752 static int ixl_get_version(struct ixl_softc *);
753 static int ixl_get_nvm_version(struct ixl_softc *);
754 static int ixl_get_hw_capabilities(struct ixl_softc *);
755 static int ixl_pxe_clear(struct ixl_softc *);
756 static int ixl_lldp_shut(struct ixl_softc *);
757 static int ixl_get_mac(struct ixl_softc *);
758 static int ixl_get_switch_config(struct ixl_softc *);
759 static int ixl_phy_mask_ints(struct ixl_softc *);
760 static int ixl_get_phy_info(struct ixl_softc *);
761 static int ixl_set_phy_config(struct ixl_softc *, uint8_t, uint8_t, bool);
762 static int ixl_set_phy_autoselect(struct ixl_softc *);
763 static int ixl_restart_an(struct ixl_softc *);
764 static int ixl_hmc(struct ixl_softc *);
765 static void ixl_hmc_free(struct ixl_softc *);
766 static int ixl_get_vsi(struct ixl_softc *);
767 static int ixl_set_vsi(struct ixl_softc *);
768 static void ixl_set_filter_control(struct ixl_softc *);
769 static int ixl_get_link_status(struct ixl_softc *, enum ixl_link_flags);
771 static int ixl_get_link_status_poll(struct ixl_softc *, int *);
772 static void ixl_get_link_status_done(struct ixl_softc *,
775 static int ixl_set_link_status_locked(struct ixl_softc *,
779 static void ixl_config_rss(struct ixl_softc *);
780 static int ixl_add_macvlan(struct ixl_softc *, const uint8_t *,
782 static int ixl_remove_macvlan(struct ixl_softc *, const uint8_t *,
787 static uint32_t ixl_rd_rx_csr(struct ixl_softc *, uint32_t);
788 static void ixl_wr_rx_csr(struct ixl_softc *, uint32_t, uint32_t);
789 static int ixl_rd16_nvm(struct ixl_softc *, uint16_t, uint16_t *);
795 static void ixl_media_add(struct ixl_softc *);
807 static void ixl_sched_handle_queue(struct ixl_softc *,
810 static int ixl_init_locked(struct ixl_softc *);
812 static void ixl_stop_locked(struct ixl_softc *);
813 static int ixl_iff(struct ixl_softc *);
815 static int ixl_setup_interrupts(struct ixl_softc *);
816 static int ixl_establish_intx(struct ixl_softc *);
817 static int ixl_establish_msix(struct ixl_softc *);
818 static void ixl_enable_queue_intr(struct ixl_softc *,
820 static void ixl_disable_queue_intr(struct ixl_softc *,
822 static void ixl_enable_other_intr(struct ixl_softc *);
823 static void ixl_disable_other_intr(struct ixl_softc *);
824 static void ixl_config_queue_intr(struct ixl_softc *);
825 static void ixl_config_other_intr(struct ixl_softc *);
828 ixl_txr_alloc(struct ixl_softc *, unsigned int);
829 static void ixl_txr_qdis(struct ixl_softc *, struct ixl_tx_ring *, int);
830 static void ixl_txr_config(struct ixl_softc *, struct ixl_tx_ring *);
831 static int ixl_txr_enabled(struct ixl_softc *, struct ixl_tx_ring *);
832 static int ixl_txr_disabled(struct ixl_softc *, struct ixl_tx_ring *);
833 static void ixl_txr_unconfig(struct ixl_softc *, struct ixl_tx_ring *);
834 static void ixl_txr_clean(struct ixl_softc *, struct ixl_tx_ring *);
835 static void ixl_txr_free(struct ixl_softc *, struct ixl_tx_ring *);
836 static int ixl_txeof(struct ixl_softc *, struct ixl_tx_ring *, u_int);
839 ixl_rxr_alloc(struct ixl_softc *, unsigned int);
840 static void ixl_rxr_config(struct ixl_softc *, struct ixl_rx_ring *);
841 static int ixl_rxr_enabled(struct ixl_softc *, struct ixl_rx_ring *);
842 static int ixl_rxr_disabled(struct ixl_softc *, struct ixl_rx_ring *);
843 static void ixl_rxr_unconfig(struct ixl_softc *, struct ixl_rx_ring *);
844 static void ixl_rxr_clean(struct ixl_softc *, struct ixl_rx_ring *);
845 static void ixl_rxr_free(struct ixl_softc *, struct ixl_rx_ring *);
846 static int ixl_rxeof(struct ixl_softc *, struct ixl_rx_ring *, u_int);
847 static int ixl_rxfill(struct ixl_softc *, struct ixl_rx_ring *);
859 static void ixl_link_state_update(struct ixl_softc *,
862 static int ixl_setup_vlan_hwfilter(struct ixl_softc *);
863 static void ixl_teardown_vlan_hwfilter(struct ixl_softc *);
864 static int ixl_update_macvlan(struct ixl_softc *);
865 static int ixl_setup_interrupts(struct ixl_softc *);
866 static void ixl_teardown_interrupts(struct ixl_softc *);
867 static int ixl_setup_stats(struct ixl_softc *);
868 static void ixl_teardown_stats(struct ixl_softc *);
871 static int ixl_setup_sysctls(struct ixl_softc *);
872 static void ixl_teardown_sysctls(struct ixl_softc *);
874 static int ixl_queue_pairs_alloc(struct ixl_softc *);
875 static void ixl_queue_pairs_free(struct ixl_softc *);
957 CFATTACH_DECL3_NEW(ixl, sizeof(struct ixl_softc),
1021 struct ixl_softc *sc;
1464 struct ixl_softc *sc = device_private(self);
1548 struct ixl_softc *sc = device_private(self);
1567 struct ixl_softc *sc = ifp->if_softc;
1592 ixl_media_add(struct ixl_softc *sc)
1636 struct ixl_softc *sc = ifp->if_softc;
1647 struct ixl_softc *sc = ifp->if_softc;
1694 ixl_del_all_multiaddr(struct ixl_softc *sc)
1710 ixl_add_multi(struct ixl_softc *sc, uint8_t *addrlo, uint8_t *addrhi)
1738 ixl_del_multi(struct ixl_softc *sc, uint8_t *addrlo, uint8_t *addrhi)
1793 struct ixl_softc *sc = (struct ixl_softc *)ifp->if_softc;
1899 ixl_hmc_kva(struct ixl_softc *sc, enum ixl_hmc_types type, unsigned int i)
1914 ixl_hmc_len(struct ixl_softc *sc, enum ixl_hmc_types type)
1922 ixl_enable_queue_intr(struct ixl_softc *sc, struct ixl_queue_pair *qp)
1934 ixl_disable_queue_intr(struct ixl_softc *sc, struct ixl_queue_pair *qp)
1944 ixl_enable_other_intr(struct ixl_softc *sc)
1955 ixl_disable_other_intr(struct ixl_softc *sc)
1964 ixl_reinit(struct ixl_softc *sc)
2035 ixl_init_locked(struct ixl_softc *sc)
2098 struct ixl_softc *sc = ifp->if_softc;
2114 ixl_iff(struct ixl_softc *sc)
2176 ixl_stop_locked(struct ixl_softc *sc)
2277 struct ixl_softc *sc = ifp->if_softc;
2285 ixl_queue_pairs_alloc(struct ixl_softc *sc)
2338 ixl_queue_pairs_free(struct ixl_softc *sc)
2357 ixl_txr_alloc(struct ixl_softc *sc, unsigned int qid)
2424 ixl_txr_qdis(struct ixl_softc *sc, struct ixl_tx_ring *txr, int enable)
2443 ixl_txr_config(struct ixl_softc *sc, struct ixl_tx_ring *txr)
2467 ixl_txr_unconfig(struct ixl_softc *sc, struct ixl_tx_ring *txr)
2477 ixl_txr_clean(struct ixl_softc *sc, struct ixl_tx_ring *txr)
2501 ixl_txr_enabled(struct ixl_softc *sc, struct ixl_tx_ring *txr)
2519 ixl_txr_disabled(struct ixl_softc *sc, struct ixl_tx_ring *txr)
2539 ixl_txr_free(struct ixl_softc *sc, struct ixl_tx_ring *txr)
2664 struct ixl_softc *sc = ifp->if_softc;
2776 ixl_txeof(struct ixl_softc *sc, struct ixl_tx_ring *txr, u_int txlimit)
2862 struct ixl_softc *sc;
2874 ixl_select_txqueue(struct ixl_softc *sc, struct mbuf *m)
2886 struct ixl_softc *sc;
2926 struct ixl_softc *sc = txr->txr_sc;
2937 ixl_rxr_alloc(struct ixl_softc *sc, unsigned int qid)
2993 ixl_rxr_clean(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3023 ixl_rxr_enabled(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3041 ixl_rxr_disabled(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3061 ixl_rxr_config(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3098 ixl_rxr_unconfig(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3108 ixl_rxr_free(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3174 ixl_rxeof(struct ixl_softc *sc, struct ixl_rx_ring *rxr, u_int rxlimit)
3293 ixl_rxfill(struct ixl_softc *sc, struct ixl_rx_ring *rxr)
3373 ixl_handle_queue_common(struct ixl_softc *sc, struct ixl_queue_pair *qp,
3398 ixl_sched_handle_queue(struct ixl_softc *sc, struct ixl_queue_pair *qp)
3410 struct ixl_softc *sc = xsc;
3459 struct ixl_softc *sc = qp->qp_sc;
3497 struct ixl_softc *sc = qp->qp_sc;
3516 ixl_print_hmc_error(struct ixl_softc *sc, uint32_t reg)
3539 struct ixl_softc *sc = xsc;
3603 struct ixl_softc *sc = xsc;
3620 ixl_get_link_status_done(struct ixl_softc *sc,
3628 ixl_get_link_status(struct ixl_softc *sc, enum ixl_link_flags flags)
3675 struct ixl_softc *sc = xsc;
3686 ixl_link_state_update(struct ixl_softc *sc, const struct ixl_aq_desc *iaq)
3706 ixl_aq_dump(const struct ixl_softc *sc, const struct ixl_aq_desc *iaq,
3730 struct ixl_softc *sc = xsc;
3791 void (*fn)(struct ixl_softc *, const struct ixl_aq_desc *))
3798 ixl_atq_post_locked(struct ixl_softc *sc, struct ixl_atq *iatq)
3837 ixl_atq_done_locked(struct ixl_softc *sc)
3886 ixl_atq_done(struct ixl_softc *sc)
3895 ixl_wakeup(struct ixl_softc *sc, const struct ixl_aq_desc *iaq)
3904 ixl_atq_exec(struct ixl_softc *sc, struct ixl_atq *iatq)
3916 ixl_atq_exec_locked(struct ixl_softc *sc, struct ixl_atq *iatq)
3940 ixl_atq_poll(struct ixl_softc *sc, struct ixl_aq_desc *iaq, unsigned int tm)
3990 ixl_get_version(struct ixl_softc *sc)
4034 ixl_get_nvm_version(struct ixl_softc *sc)
4065 ixl_pxe_clear(struct ixl_softc *sc)
4093 ixl_lldp_shut(struct ixl_softc *sc)
4118 ixl_parse_hw_capability(struct ixl_softc *sc, struct ixl_aq_capability *cap)
4141 ixl_get_hw_capabilities(struct ixl_softc *sc)
4204 ixl_get_mac(struct ixl_softc *sc)
4256 ixl_get_switch_config(struct ixl_softc *sc)
4343 ixl_phy_mask_ints(struct ixl_softc *sc)
4366 ixl_get_phy_abilities(struct ixl_softc *sc, struct ixl_dmamem *idm)
4394 ixl_get_phy_info(struct ixl_softc *sc)
4444 ixl_set_phy_config(struct ixl_softc *sc,
4487 ixl_set_phy_autoselect(struct ixl_softc *sc)
4498 ixl_get_link_status_poll(struct ixl_softc *sc, int *l)
4526 ixl_get_vsi(struct ixl_softc *sc)
4579 ixl_set_vsi(struct ixl_softc *sc)
4651 ixl_set_filter_control(struct ixl_softc *sc)
4681 ixl_set_rss_key(struct ixl_softc *sc, uint8_t *key, size_t keylen)
4745 ixl_set_rss_lut(struct ixl_softc *sc, uint8_t *lut, size_t lutlen)
4799 ixl_register_rss_key(struct ixl_softc *sc)
4821 ixl_register_rss_pctype(struct ixl_softc *sc)
4847 ixl_register_rss_hlut(struct ixl_softc *sc)
4878 ixl_config_rss(struct ixl_softc *sc)
4944 ixl_restart_an(struct ixl_softc *sc)
4966 ixl_add_macvlan(struct ixl_softc *sc, const uint8_t *macaddr,
5016 ixl_remove_macvlan(struct ixl_softc *sc, const uint8_t *macaddr,
5062 ixl_hmc(struct ixl_softc *sc)
5203 ixl_hmc_free(struct ixl_softc *sc)
5250 ixl_aqb_alloc(struct ixl_softc *sc)
5287 ixl_aqb_free(struct ixl_softc *sc, struct ixl_aq_buf *aqb)
5298 ixl_arq_fill(struct ixl_softc *sc)
5360 ixl_arq_unfill(struct ixl_softc *sc)
5384 ixl_clear_hw(struct ixl_softc *sc)
5472 ixl_pf_reset(struct ixl_softc *sc)
5550 ixl_dmamem_alloc(struct ixl_softc *sc, struct ixl_dmamem *ixm,
5584 ixl_dmamem_free(struct ixl_softc *sc, struct ixl_dmamem *ixm)
5593 ixl_setup_vlan_hwfilter(struct ixl_softc *sc)
5630 ixl_teardown_vlan_hwfilter(struct ixl_softc *sc)
5656 ixl_update_macvlan(struct ixl_softc *sc)
5676 struct ixl_softc *sc = ifp->if_softc;
5707 ixl_set_link_status_locked(struct ixl_softc *sc, const struct ixl_aq_desc *iaq)
5749 ixl_establish_intx(struct ixl_softc *sc)
5779 ixl_establish_msix(struct ixl_softc *sc)
5870 ixl_config_queue_intr(struct ixl_softc *sc)
5934 ixl_config_other_intr(struct ixl_softc *sc)
5959 ixl_setup_interrupts(struct ixl_softc *sc)
6023 ixl_teardown_interrupts(struct ixl_softc *sc)
6040 ixl_setup_stats(struct ixl_softc *sc)
6200 ixl_teardown_stats(struct ixl_softc *sc)
6285 struct ixl_softc *sc = xsc;
6292 ixl_stat_delta(struct ixl_softc *sc, uint32_t reg_hi, uint32_t reg_lo,
6322 struct ixl_softc *sc = xsc;
6578 ixl_setup_sysctls(struct ixl_softc *sc)
6694 ixl_teardown_sysctls(struct ixl_softc *sc)
6714 struct ixl_softc *sc = (struct ixl_softc *)node.sysctl_data;
6807 ixl_rx_ctl_read(struct ixl_softc *sc, uint32_t reg, uint32_t *rv)
6835 ixl_rd_rx_csr(struct ixl_softc *sc, uint32_t reg)
6862 ixl_rx_ctl_write(struct ixl_softc *sc, uint32_t reg, uint32_t value)
6890 ixl_wr_rx_csr(struct ixl_softc *sc, uint32_t reg, uint32_t value)
6914 ixl_nvm_lock(struct ixl_softc *sc, char rw)
6954 ixl_nvm_unlock(struct ixl_softc *sc)
6984 ixl_srdone_poll(struct ixl_softc *sc)
7005 ixl_nvm_read_srctl(struct ixl_softc *sc, uint16_t offset, uint16_t *data)
7029 ixl_nvm_read_aq(struct ixl_softc *sc, uint16_t offset_word,
7090 ixl_rd16_nvm(struct ixl_softc *sc, uint16_t offset, uint16_t *data)