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 <
[email protected]
>
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