aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/net_driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r--drivers/net/sfc/net_driver.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index b137c889152..4c12332434b 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -648,6 +648,7 @@ struct efx_filter_state;
648 * @n_tx_channels: Number of channels used for TX 648 * @n_tx_channels: Number of channels used for TX
649 * @rx_buffer_len: RX buffer length 649 * @rx_buffer_len: RX buffer length
650 * @rx_buffer_order: Order (log2) of number of pages for each RX buffer 650 * @rx_buffer_order: Order (log2) of number of pages for each RX buffer
651 * @rx_hash_key: Toeplitz hash key for RSS
651 * @rx_indir_table: Indirection table for RSS 652 * @rx_indir_table: Indirection table for RSS
652 * @int_error_count: Number of internal errors seen recently 653 * @int_error_count: Number of internal errors seen recently
653 * @int_error_expire: Time at which error count will be expired 654 * @int_error_expire: Time at which error count will be expired
@@ -658,11 +659,6 @@ struct efx_filter_state;
658 * to verify that an interrupt has occurred. 659 * to verify that an interrupt has occurred.
659 * @irq_zero_count: Number of legacy IRQs seen with queue flags == 0 660 * @irq_zero_count: Number of legacy IRQs seen with queue flags == 0
660 * @fatal_irq_level: IRQ level (bit number) used for serious errors 661 * @fatal_irq_level: IRQ level (bit number) used for serious errors
661 * @spi_flash: SPI flash device
662 * This field will be %NULL if no flash device is present (or for Siena).
663 * @spi_eeprom: SPI EEPROM device
664 * This field will be %NULL if no EEPROM device is present (or for Siena).
665 * @spi_lock: SPI bus lock
666 * @mtd_list: List of MTDs attached to the NIC 662 * @mtd_list: List of MTDs attached to the NIC
667 * @n_rx_nodesc_drop_cnt: RX no descriptor drop count 663 * @n_rx_nodesc_drop_cnt: RX no descriptor drop count
668 * @nic_data: Hardware dependant state 664 * @nic_data: Hardware dependant state
@@ -683,15 +679,12 @@ struct efx_filter_state;
683 * @stats_buffer: DMA buffer for statistics 679 * @stats_buffer: DMA buffer for statistics
684 * @stats_lock: Statistics update lock. Serialises statistics fetches 680 * @stats_lock: Statistics update lock. Serialises statistics fetches
685 * @mac_op: MAC interface 681 * @mac_op: MAC interface
686 * @mac_address: Permanent MAC address
687 * @phy_type: PHY type 682 * @phy_type: PHY type
688 * @mdio_lock: MDIO lock
689 * @phy_op: PHY interface 683 * @phy_op: PHY interface
690 * @phy_data: PHY private data (including PHY-specific stats) 684 * @phy_data: PHY private data (including PHY-specific stats)
691 * @mdio: PHY MDIO interface 685 * @mdio: PHY MDIO interface
692 * @mdio_bus: PHY MDIO bus ID (only used by Siena) 686 * @mdio_bus: PHY MDIO bus ID (only used by Siena)
693 * @phy_mode: PHY operating mode. Serialised by @mac_lock. 687 * @phy_mode: PHY operating mode. Serialised by @mac_lock.
694 * @xmac_poll_required: XMAC link state needs polling
695 * @link_advertising: Autonegotiation advertising flags 688 * @link_advertising: Autonegotiation advertising flags
696 * @link_state: Current state of the link 689 * @link_state: Current state of the link
697 * @n_link_state_changes: Number of times the link has changed state 690 * @n_link_state_changes: Number of times the link has changed state
@@ -748,9 +741,6 @@ struct efx_nic {
748 unsigned irq_zero_count; 741 unsigned irq_zero_count;
749 unsigned fatal_irq_level; 742 unsigned fatal_irq_level;
750 743
751 struct efx_spi_device *spi_flash;
752 struct efx_spi_device *spi_eeprom;
753 struct mutex spi_lock;
754#ifdef CONFIG_SFC_MTD 744#ifdef CONFIG_SFC_MTD
755 struct list_head mtd_list; 745 struct list_head mtd_list;
756#endif 746#endif
@@ -773,17 +763,14 @@ struct efx_nic {
773 spinlock_t stats_lock; 763 spinlock_t stats_lock;
774 764
775 struct efx_mac_operations *mac_op; 765 struct efx_mac_operations *mac_op;
776 unsigned char mac_address[ETH_ALEN];
777 766
778 unsigned int phy_type; 767 unsigned int phy_type;
779 struct mutex mdio_lock;
780 struct efx_phy_operations *phy_op; 768 struct efx_phy_operations *phy_op;
781 void *phy_data; 769 void *phy_data;
782 struct mdio_if_info mdio; 770 struct mdio_if_info mdio;
783 unsigned int mdio_bus; 771 unsigned int mdio_bus;
784 enum efx_phy_mode phy_mode; 772 enum efx_phy_mode phy_mode;
785 773
786 bool xmac_poll_required;
787 u32 link_advertising; 774 u32 link_advertising;
788 struct efx_link_state link_state; 775 struct efx_link_state link_state;
789 unsigned int n_link_state_changes; 776 unsigned int n_link_state_changes;
@@ -831,6 +818,7 @@ static inline unsigned int efx_port_num(struct efx_nic *efx)
831 * be called while the controller is uninitialised. 818 * be called while the controller is uninitialised.
832 * @probe_port: Probe the MAC and PHY 819 * @probe_port: Probe the MAC and PHY
833 * @remove_port: Free resources allocated by probe_port() 820 * @remove_port: Free resources allocated by probe_port()
821 * @handle_global_event: Handle a "global" event (may be %NULL)
834 * @prepare_flush: Prepare the hardware for flushing the DMA queues 822 * @prepare_flush: Prepare the hardware for flushing the DMA queues
835 * @update_stats: Update statistics not provided by event handling 823 * @update_stats: Update statistics not provided by event handling
836 * @start_stats: Start the regular fetching of statistics 824 * @start_stats: Start the regular fetching of statistics
@@ -875,6 +863,7 @@ struct efx_nic_type {
875 int (*reset)(struct efx_nic *efx, enum reset_type method); 863 int (*reset)(struct efx_nic *efx, enum reset_type method);
876 int (*probe_port)(struct efx_nic *efx); 864 int (*probe_port)(struct efx_nic *efx);
877 void (*remove_port)(struct efx_nic *efx); 865 void (*remove_port)(struct efx_nic *efx);
866 bool (*handle_global_event)(struct efx_channel *channel, efx_qword_t *);
878 void (*prepare_flush)(struct efx_nic *efx); 867 void (*prepare_flush)(struct efx_nic *efx);
879 void (*update_stats)(struct efx_nic *efx); 868 void (*update_stats)(struct efx_nic *efx);
880 void (*start_stats)(struct efx_nic *efx); 869 void (*start_stats)(struct efx_nic *efx);