Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
5b67b3c0
Commit
5b67b3c0
authored
Nov 03, 2011
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net
parents
eea49cc9
c1a7e1eb
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
45 additions
and
46 deletions
+45
-46
drivers/net/ethernet/intel/e100.c
drivers/net/ethernet/intel/e100.c
+4
-0
drivers/net/ethernet/intel/e1000e/ich8lan.c
drivers/net/ethernet/intel/e1000e/ich8lan.c
+1
-2
drivers/net/ethernet/intel/igb/e1000_phy.c
drivers/net/ethernet/intel/igb/e1000_phy.c
+1
-1
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+11
-9
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
+6
-4
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+19
-29
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
+2
-0
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+1
-1
No files found.
drivers/net/ethernet/intel/e100.c
View file @
5b67b3c0
...
@@ -2810,6 +2810,10 @@ static int __devinit e100_probe(struct pci_dev *pdev,
...
@@ -2810,6 +2810,10 @@ static int __devinit e100_probe(struct pci_dev *pdev,
e100_get_defaults
(
nic
);
e100_get_defaults
(
nic
);
/* D100 MAC doesn't allow rx of vlan packets with normal MTU */
if
(
nic
->
mac
<
mac_82558_D101_A4
)
netdev
->
features
|=
NETIF_F_VLAN_CHALLENGED
;
/* locks must be initialized before calling hw_reset */
/* locks must be initialized before calling hw_reset */
spin_lock_init
(
&
nic
->
cb_lock
);
spin_lock_init
(
&
nic
->
cb_lock
);
spin_lock_init
(
&
nic
->
cmd_lock
);
spin_lock_init
(
&
nic
->
cmd_lock
);
...
...
drivers/net/ethernet/intel/e1000e/ich8lan.c
View file @
5b67b3c0
...
@@ -866,8 +866,7 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
...
@@ -866,8 +866,7 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
if
(
test_and_set_bit
(
__E1000_ACCESS_SHARED_RESOURCE
,
if
(
test_and_set_bit
(
__E1000_ACCESS_SHARED_RESOURCE
,
&
hw
->
adapter
->
state
))
{
&
hw
->
adapter
->
state
))
{
WARN
(
1
,
"e1000e: %s: contention for Phy access
\n
"
,
e_dbg
(
"contention for Phy access
\n
"
);
hw
->
adapter
->
netdev
->
name
);
return
-
E1000_ERR_PHY
;
return
-
E1000_ERR_PHY
;
}
}
...
...
drivers/net/ethernet/intel/igb/e1000_phy.c
View file @
5b67b3c0
...
@@ -1687,7 +1687,7 @@ s32 igb_get_cable_length_m88_gen2(struct e1000_hw *hw)
...
@@ -1687,7 +1687,7 @@ s32 igb_get_cable_length_m88_gen2(struct e1000_hw *hw)
if
(
ret_val
)
if
(
ret_val
)
goto
out
;
goto
out
;
is_cm
=
!
(
phy_data
&
I347AT4_PCDC_CABLE_LENGTH_UNIT
);
is_cm
=
!
(
phy_data
2
&
I347AT4_PCDC_CABLE_LENGTH_UNIT
);
/* Populate the phy structure with cable length in meters */
/* Populate the phy structure with cable length in meters */
phy
->
min_cable_length
=
phy_data
/
(
is_cm
?
100
:
1
);
phy
->
min_cable_length
=
phy_data
/
(
is_cm
?
100
:
1
);
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
View file @
5b67b3c0
...
@@ -3344,7 +3344,7 @@ static u8 ixgbe_calculate_checksum(u8 *buffer, u32 length)
...
@@ -3344,7 +3344,7 @@ static u8 ixgbe_calculate_checksum(u8 *buffer, u32 length)
static
s32
ixgbe_host_interface_command
(
struct
ixgbe_hw
*
hw
,
u32
*
buffer
,
static
s32
ixgbe_host_interface_command
(
struct
ixgbe_hw
*
hw
,
u32
*
buffer
,
u32
length
)
u32
length
)
{
{
u32
hicr
,
i
;
u32
hicr
,
i
,
bi
;
u32
hdr_size
=
sizeof
(
struct
ixgbe_hic_hdr
);
u32
hdr_size
=
sizeof
(
struct
ixgbe_hic_hdr
);
u8
buf_len
,
dword_len
;
u8
buf_len
,
dword_len
;
...
@@ -3398,9 +3398,9 @@ static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
...
@@ -3398,9 +3398,9 @@ static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
dword_len
=
hdr_size
>>
2
;
dword_len
=
hdr_size
>>
2
;
/* first pull in the header so we know the buffer length */
/* first pull in the header so we know the buffer length */
for
(
i
=
0
;
i
<
dword_len
;
i
++
)
{
for
(
bi
=
0
;
bi
<
dword_len
;
b
i
++
)
{
buffer
[
i
]
=
IXGBE_READ_REG_ARRAY
(
hw
,
IXGBE_FLEX_MNG
,
i
);
buffer
[
bi
]
=
IXGBE_READ_REG_ARRAY
(
hw
,
IXGBE_FLEX_MNG
,
b
i
);
le32_to_cpus
(
&
buffer
[
i
]);
le32_to_cpus
(
&
buffer
[
b
i
]);
}
}
/* If there is any thing in data position pull it in */
/* If there is any thing in data position pull it in */
...
@@ -3414,12 +3414,14 @@ static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
...
@@ -3414,12 +3414,14 @@ static s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 *buffer,
goto
out
;
goto
out
;
}
}
/* Calculate length in DWORDs, add
one
for odd lengths */
/* Calculate length in DWORDs, add
3
for odd lengths */
dword_len
=
(
buf_len
+
1
)
>>
2
;
dword_len
=
(
buf_len
+
3
)
>>
2
;
/* Pull in the rest of the buffer (i is where we left off)*/
/* Pull in the rest of the buffer (bi is where we left off)*/
for
(;
i
<
buf_len
;
i
++
)
for
(;
bi
<=
dword_len
;
bi
++
)
{
buffer
[
i
]
=
IXGBE_READ_REG_ARRAY
(
hw
,
IXGBE_FLEX_MNG
,
i
);
buffer
[
bi
]
=
IXGBE_READ_REG_ARRAY
(
hw
,
IXGBE_FLEX_MNG
,
bi
);
le32_to_cpus
(
&
buffer
[
bi
]);
}
out:
out:
return
ret_val
;
return
ret_val
;
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
View file @
5b67b3c0
...
@@ -561,11 +561,12 @@ static int ixgbe_dcbnl_ieee_getets(struct net_device *dev,
...
@@ -561,11 +561,12 @@ static int ixgbe_dcbnl_ieee_getets(struct net_device *dev,
struct
ixgbe_adapter
*
adapter
=
netdev_priv
(
dev
);
struct
ixgbe_adapter
*
adapter
=
netdev_priv
(
dev
);
struct
ieee_ets
*
my_ets
=
adapter
->
ixgbe_ieee_ets
;
struct
ieee_ets
*
my_ets
=
adapter
->
ixgbe_ieee_ets
;
ets
->
ets_cap
=
adapter
->
dcb_cfg
.
num_tcs
.
pg_tcs
;
/* No IEEE PFC settings available */
/* No IEEE PFC settings available */
if
(
!
my_ets
)
if
(
!
my_ets
)
return
-
EINVAL
;
return
0
;
ets
->
ets_cap
=
adapter
->
dcb_cfg
.
num_tcs
.
pg_tcs
;
ets
->
cbs
=
my_ets
->
cbs
;
ets
->
cbs
=
my_ets
->
cbs
;
memcpy
(
ets
->
tc_tx_bw
,
my_ets
->
tc_tx_bw
,
sizeof
(
ets
->
tc_tx_bw
));
memcpy
(
ets
->
tc_tx_bw
,
my_ets
->
tc_tx_bw
,
sizeof
(
ets
->
tc_tx_bw
));
memcpy
(
ets
->
tc_rx_bw
,
my_ets
->
tc_rx_bw
,
sizeof
(
ets
->
tc_rx_bw
));
memcpy
(
ets
->
tc_rx_bw
,
my_ets
->
tc_rx_bw
,
sizeof
(
ets
->
tc_rx_bw
));
...
@@ -621,11 +622,12 @@ static int ixgbe_dcbnl_ieee_getpfc(struct net_device *dev,
...
@@ -621,11 +622,12 @@ static int ixgbe_dcbnl_ieee_getpfc(struct net_device *dev,
struct
ieee_pfc
*
my_pfc
=
adapter
->
ixgbe_ieee_pfc
;
struct
ieee_pfc
*
my_pfc
=
adapter
->
ixgbe_ieee_pfc
;
int
i
;
int
i
;
pfc
->
pfc_cap
=
adapter
->
dcb_cfg
.
num_tcs
.
pfc_tcs
;
/* No IEEE PFC settings available */
/* No IEEE PFC settings available */
if
(
!
my_pfc
)
if
(
!
my_pfc
)
return
-
EINVAL
;
return
0
;
pfc
->
pfc_cap
=
adapter
->
dcb_cfg
.
num_tcs
.
pfc_tcs
;
pfc
->
pfc_en
=
my_pfc
->
pfc_en
;
pfc
->
pfc_en
=
my_pfc
->
pfc_en
;
pfc
->
mbc
=
my_pfc
->
mbc
;
pfc
->
mbc
=
my_pfc
->
mbc
;
pfc
->
delay
=
my_pfc
->
delay
;
pfc
->
delay
=
my_pfc
->
delay
;
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
View file @
5b67b3c0
...
@@ -3345,34 +3345,25 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
...
@@ -3345,34 +3345,25 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
hw
->
mac
.
ops
.
set_vfta
(
&
adapter
->
hw
,
0
,
0
,
true
);
hw
->
mac
.
ops
.
set_vfta
(
&
adapter
->
hw
,
0
,
0
,
true
);
/* reconfigure the hardware */
if
(
adapter
->
dcbx_cap
&
DCB_CAP_DCBX_VER_CEE
)
{
#ifdef IXGBE_FCOE
#ifdef IXGBE_FCOE
if
(
adapter
->
netdev
->
features
&
NETIF_F_FCOE_MTU
)
if
(
adapter
->
netdev
->
features
&
NETIF_F_FCOE_MTU
)
max_frame
=
max
(
max_frame
,
IXGBE_FCOE_JUMBO_FRAME_SIZE
);
max_frame
=
max
(
max_frame
,
IXGBE_FCOE_JUMBO_FRAME_SIZE
);
#endif
#endif
/* reconfigure the hardware */
if
(
adapter
->
dcbx_cap
&
DCB_CAP_DCBX_VER_CEE
)
{
ixgbe_dcb_calculate_tc_credits
(
hw
,
&
adapter
->
dcb_cfg
,
max_frame
,
ixgbe_dcb_calculate_tc_credits
(
hw
,
&
adapter
->
dcb_cfg
,
max_frame
,
DCB_TX_CONFIG
);
DCB_TX_CONFIG
);
ixgbe_dcb_calculate_tc_credits
(
hw
,
&
adapter
->
dcb_cfg
,
max_frame
,
ixgbe_dcb_calculate_tc_credits
(
hw
,
&
adapter
->
dcb_cfg
,
max_frame
,
DCB_RX_CONFIG
);
DCB_RX_CONFIG
);
ixgbe_dcb_hw_config
(
hw
,
&
adapter
->
dcb_cfg
);
ixgbe_dcb_hw_config
(
hw
,
&
adapter
->
dcb_cfg
);
}
else
{
}
else
if
(
adapter
->
ixgbe_ieee_ets
&&
adapter
->
ixgbe_ieee_pfc
)
{
struct
net_device
*
dev
=
adapter
->
netdev
;
ixgbe_dcb_hw_ets
(
&
adapter
->
hw
,
adapter
->
ixgbe_ieee_ets
,
if
(
adapter
->
ixgbe_ieee_ets
)
{
max_frame
);
struct
ieee_ets
*
ets
=
adapter
->
ixgbe_ieee_ets
;
ixgbe_dcb_hw_pfc_config
(
&
adapter
->
hw
,
int
max_frame
=
dev
->
mtu
+
ETH_HLEN
+
ETH_FCS_LEN
;
adapter
->
ixgbe_ieee_pfc
->
pfc_en
,
adapter
->
ixgbe_ieee_ets
->
prio_tc
);
ixgbe_dcb_hw_ets
(
&
adapter
->
hw
,
ets
,
max_frame
);
}
if
(
adapter
->
ixgbe_ieee_pfc
)
{
struct
ieee_pfc
*
pfc
=
adapter
->
ixgbe_ieee_pfc
;
u8
*
prio_tc
=
adapter
->
ixgbe_ieee_ets
->
prio_tc
;
ixgbe_dcb_hw_pfc_config
(
&
adapter
->
hw
,
pfc
->
pfc_en
,
prio_tc
);
}
}
}
/* Enable RSS Hash per TC */
/* Enable RSS Hash per TC */
...
@@ -6125,7 +6116,6 @@ static void ixgbe_sfp_link_config_subtask(struct ixgbe_adapter *adapter)
...
@@ -6125,7 +6116,6 @@ static void ixgbe_sfp_link_config_subtask(struct ixgbe_adapter *adapter)
autoneg
=
hw
->
phy
.
autoneg_advertised
;
autoneg
=
hw
->
phy
.
autoneg_advertised
;
if
((
!
autoneg
)
&&
(
hw
->
mac
.
ops
.
get_link_capabilities
))
if
((
!
autoneg
)
&&
(
hw
->
mac
.
ops
.
get_link_capabilities
))
hw
->
mac
.
ops
.
get_link_capabilities
(
hw
,
&
autoneg
,
&
negotiation
);
hw
->
mac
.
ops
.
get_link_capabilities
(
hw
,
&
autoneg
,
&
negotiation
);
hw
->
mac
.
autotry_restart
=
false
;
if
(
hw
->
mac
.
ops
.
setup_link
)
if
(
hw
->
mac
.
ops
.
setup_link
)
hw
->
mac
.
ops
.
setup_link
(
hw
,
autoneg
,
negotiation
,
true
);
hw
->
mac
.
ops
.
setup_link
(
hw
,
autoneg
,
negotiation
,
true
);
...
@@ -7589,13 +7579,6 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
...
@@ -7589,13 +7579,6 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
goto
err_eeprom
;
goto
err_eeprom
;
}
}
/* power down the optics for multispeed fiber and 82599 SFP+ fiber */
if
(
hw
->
mac
.
ops
.
disable_tx_laser
&&
((
hw
->
phy
.
multispeed_fiber
)
||
((
hw
->
mac
.
ops
.
get_media_type
(
hw
)
==
ixgbe_media_type_fiber
)
&&
(
hw
->
mac
.
type
==
ixgbe_mac_82599EB
))))
hw
->
mac
.
ops
.
disable_tx_laser
(
hw
);
setup_timer
(
&
adapter
->
service_timer
,
&
ixgbe_service_timer
,
setup_timer
(
&
adapter
->
service_timer
,
&
ixgbe_service_timer
,
(
unsigned
long
)
adapter
);
(
unsigned
long
)
adapter
);
...
@@ -7693,6 +7676,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
...
@@ -7693,6 +7676,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
if
(
err
)
if
(
err
)
goto
err_register
;
goto
err_register
;
/* power down the optics for multispeed fiber and 82599 SFP+ fiber */
if
(
hw
->
mac
.
ops
.
disable_tx_laser
&&
((
hw
->
phy
.
multispeed_fiber
)
||
((
hw
->
mac
.
ops
.
get_media_type
(
hw
)
==
ixgbe_media_type_fiber
)
&&
(
hw
->
mac
.
type
==
ixgbe_mac_82599EB
))))
hw
->
mac
.
ops
.
disable_tx_laser
(
hw
);
/* carrier off reporting is important to ethtool even BEFORE open */
/* carrier off reporting is important to ethtool even BEFORE open */
netif_carrier_off
(
netdev
);
netif_carrier_off
(
netdev
);
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
View file @
5b67b3c0
...
@@ -42,10 +42,12 @@ int ixgbe_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, bool setting);
...
@@ -42,10 +42,12 @@ int ixgbe_ndo_set_vf_spoofchk(struct net_device *netdev, int vf, bool setting);
int
ixgbe_ndo_get_vf_config
(
struct
net_device
*
netdev
,
int
ixgbe_ndo_get_vf_config
(
struct
net_device
*
netdev
,
int
vf
,
struct
ifla_vf_info
*
ivi
);
int
vf
,
struct
ifla_vf_info
*
ivi
);
void
ixgbe_check_vf_rate_limit
(
struct
ixgbe_adapter
*
adapter
);
void
ixgbe_check_vf_rate_limit
(
struct
ixgbe_adapter
*
adapter
);
#ifdef CONFIG_PCI_IOV
void
ixgbe_disable_sriov
(
struct
ixgbe_adapter
*
adapter
);
void
ixgbe_disable_sriov
(
struct
ixgbe_adapter
*
adapter
);
void
ixgbe_enable_sriov
(
struct
ixgbe_adapter
*
adapter
,
void
ixgbe_enable_sriov
(
struct
ixgbe_adapter
*
adapter
,
const
struct
ixgbe_info
*
ii
);
const
struct
ixgbe_info
*
ii
);
int
ixgbe_check_vf_assignment
(
struct
ixgbe_adapter
*
adapter
);
int
ixgbe_check_vf_assignment
(
struct
ixgbe_adapter
*
adapter
);
#endif
#endif
/* _IXGBE_SRIOV_H_ */
#endif
/* _IXGBE_SRIOV_H_ */
...
...
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
View file @
5b67b3c0
...
@@ -54,7 +54,7 @@ char ixgbevf_driver_name[] = "ixgbevf";
...
@@ -54,7 +54,7 @@ char ixgbevf_driver_name[] = "ixgbevf";
static
const
char
ixgbevf_driver_string
[]
=
static
const
char
ixgbevf_driver_string
[]
=
"Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver"
;
"Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver"
;
#define DRV_VERSION "2.
1
.0-k"
#define DRV_VERSION "2.
2
.0-k"
const
char
ixgbevf_driver_version
[]
=
DRV_VERSION
;
const
char
ixgbevf_driver_version
[]
=
DRV_VERSION
;
static
char
ixgbevf_copyright
[]
=
static
char
ixgbevf_copyright
[]
=
"Copyright (c) 2009 - 2010 Intel Corporation."
;
"Copyright (c) 2009 - 2010 Intel Corporation."
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment