Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
net
ethernet
intel
igb
e1000_mac.h
Go to the documentation of this file.
1
/*******************************************************************************
2
3
Intel(R) Gigabit Ethernet Linux driver
4
Copyright(c) 2007-2012 Intel Corporation.
5
6
This program is free software; you can redistribute it and/or modify it
7
under the terms and conditions of the GNU General Public License,
8
version 2, as published by the Free Software Foundation.
9
10
This program is distributed in the hope it will be useful, but WITHOUT
11
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13
more details.
14
15
You should have received a copy of the GNU General Public License along with
16
this program; if not, write to the Free Software Foundation, Inc.,
17
51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18
19
The full GNU General Public License is included in this distribution in
20
the file called "COPYING".
21
22
Contact Information:
23
e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
24
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
25
26
*******************************************************************************/
27
28
#ifndef _E1000_MAC_H_
29
#define _E1000_MAC_H_
30
31
#include "
e1000_hw.h
"
32
33
#include "
e1000_phy.h
"
34
#include "
e1000_nvm.h
"
35
#include "
e1000_defines.h
"
36
37
/*
38
* Functions that should not be called directly from drivers but can be used
39
* by other files in this 'shared code'
40
*/
41
s32
igb_blink_led
(
struct
e1000_hw
*
hw
);
42
s32
igb_check_for_copper_link
(
struct
e1000_hw
*
hw
);
43
s32
igb_cleanup_led
(
struct
e1000_hw
*
hw
);
44
s32
igb_config_fc_after_link_up
(
struct
e1000_hw
*
hw
);
45
s32
igb_disable_pcie_master
(
struct
e1000_hw
*
hw
);
46
s32
igb_force_mac_fc
(
struct
e1000_hw
*
hw
);
47
s32
igb_get_auto_rd_done
(
struct
e1000_hw
*
hw
);
48
s32
igb_get_bus_info_pcie
(
struct
e1000_hw
*
hw
);
49
s32
igb_get_hw_semaphore
(
struct
e1000_hw
*
hw
);
50
s32
igb_get_speed_and_duplex_copper
(
struct
e1000_hw
*
hw
,
u16
*speed,
51
u16
*
duplex
);
52
s32
igb_id_led_init
(
struct
e1000_hw
*
hw
);
53
s32
igb_led_off
(
struct
e1000_hw
*
hw
);
54
void
igb_update_mc_addr_list
(
struct
e1000_hw
*
hw
,
55
u8
*mc_addr_list,
u32
mc_addr_count);
56
s32
igb_setup_link
(
struct
e1000_hw
*
hw
);
57
s32
igb_validate_mdi_setting
(
struct
e1000_hw
*
hw
);
58
s32
igb_write_8bit_ctrl_reg
(
struct
e1000_hw
*
hw
,
u32
reg
,
59
u32
offset
,
u8
data
);
60
61
void
igb_clear_hw_cntrs_base
(
struct
e1000_hw
*
hw
);
62
void
igb_clear_vfta
(
struct
e1000_hw
*
hw
);
63
void
igb_clear_vfta_i350
(
struct
e1000_hw
*
hw
);
64
s32
igb_vfta_set
(
struct
e1000_hw
*
hw
,
u32
vid
,
bool
add
);
65
void
igb_config_collision_dist
(
struct
e1000_hw
*
hw
);
66
void
igb_init_rx_addrs
(
struct
e1000_hw
*
hw
,
u16
rar_count);
67
void
igb_mta_set
(
struct
e1000_hw
*
hw
,
u32
hash_value);
68
void
igb_put_hw_semaphore
(
struct
e1000_hw
*
hw
);
69
void
igb_rar_set
(
struct
e1000_hw
*
hw
,
u8
*
addr
,
u32
index
);
70
s32
igb_check_alt_mac_addr
(
struct
e1000_hw
*
hw
);
71
72
bool
igb_enable_mng_pass_thru
(
struct
e1000_hw
*
hw
);
73
74
enum
e1000_mng_mode
{
75
e1000_mng_mode_none
= 0,
76
e1000_mng_mode_asf
,
77
e1000_mng_mode_pt
,
78
e1000_mng_mode_ipmi
,
79
e1000_mng_mode_host_if_only
80
};
81
82
#define E1000_FACTPS_MNGCG 0x20000000
83
84
#define E1000_FWSM_MODE_MASK 0xE
85
#define E1000_FWSM_MODE_SHIFT 1
86
87
#define E1000_MNG_DHCP_COOKIE_STATUS_VLAN 0x2
88
89
extern
void
e1000_init_function_pointers_82575
(
struct
e1000_hw
*
hw
);
90
91
#endif
Generated on Thu Jan 10 2013 14:02:27 for Linux Kernel by
1.8.2