Lines Matching defs:xgbe_hw_if
587 struct xgbe_hw_if { struct
588 int (*tx_complete)(struct xgbe_ring_desc *);
590 int (*set_mac_address)(struct xgbe_prv_data *, u8 *addr);
591 int (*config_rx_mode)(struct xgbe_prv_data *);
593 int (*enable_rx_csum)(struct xgbe_prv_data *);
594 int (*disable_rx_csum)(struct xgbe_prv_data *);
596 int (*enable_rx_vlan_stripping)(struct xgbe_prv_data *);
597 int (*disable_rx_vlan_stripping)(struct xgbe_prv_data *);
598 int (*enable_rx_vlan_filtering)(struct xgbe_prv_data *);
599 int (*disable_rx_vlan_filtering)(struct xgbe_prv_data *);
600 int (*update_vlan_hash_table)(struct xgbe_prv_data *);
602 int (*read_mmd_regs)(struct xgbe_prv_data *, int, int);
603 void (*write_mmd_regs)(struct xgbe_prv_data *, int, int, int);
604 int (*set_gmii_speed)(struct xgbe_prv_data *);
605 int (*set_gmii_2500_speed)(struct xgbe_prv_data *);
606 int (*set_xgmii_speed)(struct xgbe_prv_data *);
608 void (*enable_tx)(struct xgbe_prv_data *);
609 void (*disable_tx)(struct xgbe_prv_data *);
610 void (*enable_rx)(struct xgbe_prv_data *);
611 void (*disable_rx)(struct xgbe_prv_data *);
613 void (*powerup_tx)(struct xgbe_prv_data *);
614 void (*powerdown_tx)(struct xgbe_prv_data *);
615 void (*powerup_rx)(struct xgbe_prv_data *);
616 void (*powerdown_rx)(struct xgbe_prv_data *);
618 int (*init)(struct xgbe_prv_data *);
619 int (*exit)(struct xgbe_prv_data *);
621 int (*enable_int)(struct xgbe_channel *, enum xgbe_int);
622 int (*disable_int)(struct xgbe_channel *, enum xgbe_int);
623 void (*dev_xmit)(struct xgbe_channel *);
624 int (*dev_read)(struct xgbe_channel *);
625 void (*tx_desc_init)(struct xgbe_channel *);
626 void (*rx_desc_init)(struct xgbe_channel *);
627 void (*tx_desc_reset)(struct xgbe_ring_data *);
628 void (*rx_desc_reset)(struct xgbe_prv_data *, struct xgbe_ring_data *,
630 int (*is_last_desc)(struct xgbe_ring_desc *);
631 int (*is_context_desc)(struct xgbe_ring_desc *);
632 void (*tx_start_xmit)(struct xgbe_channel *, struct xgbe_ring *);
635 int (*config_tx_flow_control)(struct xgbe_prv_data *);
636 int (*config_rx_flow_control)(struct xgbe_prv_data *);
639 int (*config_rx_coalesce)(struct xgbe_prv_data *);
640 int (*config_tx_coalesce)(struct xgbe_prv_data *);
641 unsigned int (*usec_to_riwt)(struct xgbe_prv_data *, unsigned int);
642 unsigned int (*riwt_to_usec)(struct xgbe_prv_data *, unsigned int);
645 int (*config_rx_threshold)(struct xgbe_prv_data *, unsigned int);
646 int (*config_tx_threshold)(struct xgbe_prv_data *, unsigned int);
649 int (*config_rsf_mode)(struct xgbe_prv_data *, unsigned int);
650 int (*config_tsf_mode)(struct xgbe_prv_data *, unsigned int);
653 int (*config_osp_mode)(struct xgbe_prv_data *);
656 int (*config_rx_pbl_val)(struct xgbe_prv_data *);
657 int (*get_rx_pbl_val)(struct xgbe_prv_data *);
658 int (*config_tx_pbl_val)(struct xgbe_prv_data *);
659 int (*get_tx_pbl_val)(struct xgbe_prv_data *);
660 int (*config_pblx8)(struct xgbe_prv_data *);
663 void (*rx_mmc_int)(struct xgbe_prv_data *);
664 void (*tx_mmc_int)(struct xgbe_prv_data *);
665 void (*read_mmc_stats)(struct xgbe_prv_data *);
668 int (*config_tstamp)(struct xgbe_prv_data *, unsigned int);
669 void (*update_tstamp_addend)(struct xgbe_prv_data *, unsigned int);
670 void (*set_tstamp_time)(struct xgbe_prv_data *, unsigned int sec,
672 u64 (*get_tstamp_time)(struct xgbe_prv_data *);
673 u64 (*get_tx_tstamp)(struct xgbe_prv_data *);
676 void (*config_dcb_tc)(struct xgbe_prv_data *);
677 void (*config_dcb_pfc)(struct xgbe_prv_data *);
680 int (*enable_rss)(struct xgbe_prv_data *);
681 int (*disable_rss)(struct xgbe_prv_data *);
682 int (*set_rss_hash_key)(struct xgbe_prv_data *, const u8 *);
683 int (*set_rss_lookup_table)(struct xgbe_prv_data *, const u32 *);