diff options
author | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2008-03-28 12:15:16 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-03-28 22:15:00 -0400 |
commit | 318a94d68979cbe9cc98a3050b4b7be2f08513c8 (patch) | |
tree | 32fdd0bd9f4a0c9dcc2a958b18820286a9acdcec /drivers/net/e1000e/hw.h | |
parent | e2de3eb69c40c01739ce9b154c65e51d94d72966 (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.h | 26 |
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 | ||
403 | enum e1000_fc_mode { | 403 | enum 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 | ||
797 | struct e1000_nvm_info { | 792 | struct e1000_nvm_info { |
@@ -816,6 +811,16 @@ struct e1000_bus_info { | |||
816 | u16 func; | 811 | u16 func; |
817 | }; | 812 | }; |
818 | 813 | ||
814 | struct 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 | |||
819 | struct e1000_dev_spec_82571 { | 824 | struct 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 |