e1000_mac.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002 
00003   Intel PRO/1000 Linux driver
00004   Copyright(c) 1999 - 2008 Intel Corporation.
00005 
00006   This program is free software; you can redistribute it and/or modify it
00007   under the terms and conditions of the GNU General Public License,
00008   version 2, as published by the Free Software Foundation.
00009 
00010   This program is distributed in the hope it will be useful, but WITHOUT
00011   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
00013   more details.
00014 
00015   You should have received a copy of the GNU General Public License along with
00016   this program; if not, write to the Free Software Foundation, Inc.,
00017   51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
00018 
00019   The full GNU General Public License is included in this distribution in
00020   the file called "COPYING".
00021 
00022   Contact Information:
00023   Linux NICS <linux.nics@intel.com>
00024   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
00025   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
00026 
00027 *******************************************************************************/
00028 
00029 FILE_LICENCE ( GPL2_OR_LATER );
00030 
00031 #ifndef _E1000_MAC_H_
00032 #define _E1000_MAC_H_
00033 
00034 /*
00035  * Functions that should not be called directly from drivers but can be used
00036  * by other files in this 'shared code'
00037  */
00038 void e1000_init_mac_ops_generic(struct e1000_hw *hw);
00039 void e1000_null_mac_generic(struct e1000_hw *hw);
00040 s32  e1000_null_ops_generic(struct e1000_hw *hw);
00041 s32  e1000_null_link_info(struct e1000_hw *hw, u16 *s, u16 *d);
00042 bool e1000_null_mng_mode(struct e1000_hw *hw);
00043 void e1000_null_update_mc(struct e1000_hw *hw, u8 *h, u32 a);
00044 void e1000_null_write_vfta(struct e1000_hw *hw, u32 a, u32 b);
00045 void e1000_null_mta_set(struct e1000_hw *hw, u32 a);
00046 void e1000_null_rar_set(struct e1000_hw *hw, u8 *h, u32 a);
00047 s32  e1000_blink_led_generic(struct e1000_hw *hw);
00048 s32  e1000_check_for_copper_link_generic(struct e1000_hw *hw);
00049 s32  e1000_check_for_fiber_link_generic(struct e1000_hw *hw);
00050 s32  e1000_check_for_serdes_link_generic(struct e1000_hw *hw);
00051 s32  e1000_cleanup_led_generic(struct e1000_hw *hw);
00052 s32  e1000_commit_fc_settings_generic(struct e1000_hw *hw);
00053 s32  e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw);
00054 s32  e1000_config_fc_after_link_up_generic(struct e1000_hw *hw);
00055 s32  e1000_disable_pcie_master_generic(struct e1000_hw *hw);
00056 s32  e1000_force_mac_fc_generic(struct e1000_hw *hw);
00057 s32  e1000_get_auto_rd_done_generic(struct e1000_hw *hw);
00058 s32  e1000_get_bus_info_pci_generic(struct e1000_hw *hw);
00059 s32  e1000_get_bus_info_pcie_generic(struct e1000_hw *hw);
00060 void e1000_set_lan_id_single_port(struct e1000_hw *hw);
00061 void e1000_set_lan_id_multi_port_pci(struct e1000_hw *hw);
00062 s32  e1000_get_hw_semaphore_generic(struct e1000_hw *hw);
00063 s32  e1000_get_speed_and_duplex_copper_generic(struct e1000_hw *hw, u16 *speed,
00064                                                u16 *duplex);
00065 s32  e1000_get_speed_and_duplex_fiber_serdes_generic(struct e1000_hw *hw,
00066                                                      u16 *speed, u16 *duplex);
00067 s32  e1000_id_led_init_generic(struct e1000_hw *hw);
00068 s32  e1000_led_on_generic(struct e1000_hw *hw);
00069 s32  e1000_led_off_generic(struct e1000_hw *hw);
00070 void e1000_update_mc_addr_list_generic(struct e1000_hw *hw,
00071                                        u8 *mc_addr_list, u32 mc_addr_count);
00072 s32  e1000_set_default_fc_generic(struct e1000_hw *hw);
00073 s32  e1000_set_fc_watermarks_generic(struct e1000_hw *hw);
00074 s32  e1000_setup_fiber_serdes_link_generic(struct e1000_hw *hw);
00075 s32  e1000_setup_led_generic(struct e1000_hw *hw);
00076 s32  e1000_setup_link_generic(struct e1000_hw *hw);
00077 
00078 u32  e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr);
00079 
00080 void e1000_clear_hw_cntrs_base_generic(struct e1000_hw *hw);
00081 void e1000_clear_vfta_generic(struct e1000_hw *hw);
00082 void e1000_config_collision_dist_generic(struct e1000_hw *hw);
00083 void e1000_init_rx_addrs_generic(struct e1000_hw *hw, u16 rar_count);
00084 void e1000_mta_set_generic(struct e1000_hw *hw, u32 hash_value);
00085 void e1000_pcix_mmrbc_workaround_generic(struct e1000_hw *hw);
00086 void e1000_put_hw_semaphore_generic(struct e1000_hw *hw);
00087 void e1000_rar_set_generic(struct e1000_hw *hw, u8 *addr, u32 index);
00088 s32  e1000_check_alt_mac_addr_generic(struct e1000_hw *hw);
00089 void e1000_reset_adaptive_generic(struct e1000_hw *hw);
00090 void e1000_set_pcie_no_snoop_generic(struct e1000_hw *hw, u32 no_snoop);
00091 void e1000_update_adaptive_generic(struct e1000_hw *hw);
00092 void e1000_write_vfta_generic(struct e1000_hw *hw, u32 offset, u32 value);
00093 
00094 #endif

Generated on Tue Apr 6 20:00:57 2010 for gPXE by  doxygen 1.5.7.1