aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000e/hw.h
diff options
context:
space:
mode:
authorJeff Kirsher <jeffrey.t.kirsher@intel.com>2008-03-28 12:15:16 -0400
committerJeff Garzik <jeff@garzik.org>2008-03-28 22:15:00 -0400
commit318a94d68979cbe9cc98a3050b4b7be2f08513c8 (patch)
tree32fdd0bd9f4a0c9dcc2a958b18820286a9acdcec /drivers/net/e1000e/hw.h
parente2de3eb69c40c01739ce9b154c65e51d94d72966 (diff)
e1000e: reorganize PHY and flow control interface
This reorganization moves the PHY status into a separate struct. Flow Control setup is moved into this struct as well and frame size away from here into the adapter struct where its inly use is. The post-link-up code is now a separate function and moved out of the watchdog function itself. This allows us to track the es2lan restart issue a bit easier. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/e1000e/hw.h')
-rw-r--r--drivers/net/e1000e/hw.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index b582d78f0531..0b4145a73229 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -400,7 +400,7 @@ enum e1000_rev_polarity{
400 e1000_rev_polarity_undefined = 0xFF 400 e1000_rev_polarity_undefined = 0xFF
401}; 401};
402 402
403enum e1000_fc_mode { 403enum e1000_fc_type {
404 e1000_fc_none = 0, 404 e1000_fc_none = 0,
405 e1000_fc_rx_pause, 405 e1000_fc_rx_pause,
406 e1000_fc_tx_pause, 406 e1000_fc_tx_pause,
@@ -727,16 +727,12 @@ struct e1000_mac_info {
727 u8 perm_addr[6]; 727 u8 perm_addr[6];
728 728
729 enum e1000_mac_type type; 729 enum e1000_mac_type type;
730 enum e1000_fc_mode fc;
731 enum e1000_fc_mode original_fc;
732 730
733 u32 collision_delta; 731 u32 collision_delta;
734 u32 ledctl_default; 732 u32 ledctl_default;
735 u32 ledctl_mode1; 733 u32 ledctl_mode1;
736 u32 ledctl_mode2; 734 u32 ledctl_mode2;
737 u32 max_frame_size;
738 u32 mc_filter_type; 735 u32 mc_filter_type;
739 u32 min_frame_size;
740 u32 tx_packet_delta; 736 u32 tx_packet_delta;
741 u32 txcw; 737 u32 txcw;
742 738
@@ -747,9 +743,6 @@ struct e1000_mac_info {
747 u16 ifs_step_size; 743 u16 ifs_step_size;
748 u16 mta_reg_count; 744 u16 mta_reg_count;
749 u16 rar_entry_count; 745 u16 rar_entry_count;
750 u16 fc_high_water;
751 u16 fc_low_water;
752 u16 fc_pause_time;
753 746
754 u8 forced_speed_duplex; 747 u8 forced_speed_duplex;
755 748
@@ -779,6 +772,8 @@ struct e1000_phy_info {
779 u32 reset_delay_us; /* in usec */ 772 u32 reset_delay_us; /* in usec */
780 u32 revision; 773 u32 revision;
781 774
775 enum e1000_media_type media_type;
776
782 u16 autoneg_advertised; 777 u16 autoneg_advertised;
783 u16 autoneg_mask; 778 u16 autoneg_mask;
784 u16 cable_length; 779 u16 cable_length;
@@ -791,7 +786,7 @@ struct e1000_phy_info {
791 bool is_mdix; 786 bool is_mdix;
792 bool polarity_correction; 787 bool polarity_correction;
793 bool speed_downgraded; 788 bool speed_downgraded;
794 bool wait_for_link; 789 bool autoneg_wait_to_complete;
795}; 790};
796 791
797struct e1000_nvm_info { 792struct e1000_nvm_info {
@@ -816,6 +811,16 @@ struct e1000_bus_info {
816 u16 func; 811 u16 func;
817}; 812};
818 813
814struct e1000_fc_info {
815 u32 high_water; /* Flow control high-water mark */
816 u32 low_water; /* Flow control low-water mark */
817 u16 pause_time; /* Flow control pause timer */
818 bool send_xon; /* Flow control send XON */
819 bool strict_ieee; /* Strict IEEE mode */
820 enum e1000_fc_type type; /* Type of flow control */
821 enum e1000_fc_type original_type;
822};
823
819struct e1000_dev_spec_82571 { 824struct e1000_dev_spec_82571 {
820 bool laa_is_present; 825 bool laa_is_present;
821 bool alt_mac_addr_is_present; 826 bool alt_mac_addr_is_present;
@@ -840,6 +845,7 @@ struct e1000_hw {
840 u8 __iomem *flash_address; 845 u8 __iomem *flash_address;
841 846
842 struct e1000_mac_info mac; 847 struct e1000_mac_info mac;
848 struct e1000_fc_info fc;
843 struct e1000_phy_info phy; 849 struct e1000_phy_info phy;
844 struct e1000_nvm_info nvm; 850 struct e1000_nvm_info nvm;
845 struct e1000_bus_info bus; 851 struct e1000_bus_info bus;
@@ -849,8 +855,6 @@ struct e1000_hw {
849 struct e1000_dev_spec_82571 e82571; 855 struct e1000_dev_spec_82571 e82571;
850 struct e1000_dev_spec_ich8lan ich8lan; 856 struct e1000_dev_spec_ich8lan ich8lan;
851 } dev_spec; 857 } dev_spec;
852
853 enum e1000_media_type media_type;
854}; 858};
855 859
856#ifdef DEBUG 860#ifdef DEBUG