Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
8af3994e
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8af3994e
编写于
5月 04, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net
上级
0a6ba092
dd7f5c9e
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
32 addition
and
34 deletion
+32
-34
drivers/net/ethernet/intel/e1000/e1000_main.c
drivers/net/ethernet/intel/e1000/e1000_main.c
+2
-2
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/igb/igb_main.c
+2
-2
drivers/net/ethernet/intel/ixgbe/ixgbe.h
drivers/net/ethernet/intel/ixgbe/ixgbe.h
+0
-3
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
+20
-23
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+2
-0
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+6
-4
未找到文件。
drivers/net/ethernet/intel/e1000/e1000_main.c
浏览文件 @
8af3994e
...
...
@@ -3380,7 +3380,7 @@ static void e1000_dump(struct e1000_adapter *adapter)
for
(
i
=
0
;
tx_ring
->
desc
&&
(
i
<
tx_ring
->
count
);
i
++
)
{
struct
e1000_tx_desc
*
tx_desc
=
E1000_TX_DESC
(
*
tx_ring
,
i
);
struct
e1000_buffer
*
buffer_info
=
&
tx_ring
->
buffer_info
[
i
];
struct
my_u
{
u64
a
;
u
64
b
;
};
struct
my_u
{
__le64
a
;
__le
64
b
;
};
struct
my_u
*
u
=
(
struct
my_u
*
)
tx_desc
;
const
char
*
type
;
...
...
@@ -3424,7 +3424,7 @@ static void e1000_dump(struct e1000_adapter *adapter)
for
(
i
=
0
;
rx_ring
->
desc
&&
(
i
<
rx_ring
->
count
);
i
++
)
{
struct
e1000_rx_desc
*
rx_desc
=
E1000_RX_DESC
(
*
rx_ring
,
i
);
struct
e1000_buffer
*
buffer_info
=
&
rx_ring
->
buffer_info
[
i
];
struct
my_u
{
u64
a
;
u
64
b
;
};
struct
my_u
{
__le64
a
;
__le
64
b
;
};
struct
my_u
*
u
=
(
struct
my_u
*
)
rx_desc
;
const
char
*
type
;
...
...
drivers/net/ethernet/intel/igb/igb_main.c
浏览文件 @
8af3994e
...
...
@@ -2771,8 +2771,6 @@ void igb_configure_tx_ring(struct igb_adapter *adapter,
txdctl
|=
E1000_TXDCTL_QUEUE_ENABLE
;
wr32
(
E1000_TXDCTL
(
reg_idx
),
txdctl
);
netdev_tx_reset_queue
(
txring_txq
(
ring
));
}
/**
...
...
@@ -3282,6 +3280,8 @@ static void igb_clean_tx_ring(struct igb_ring *tx_ring)
igb_unmap_and_free_tx_resource
(
tx_ring
,
buffer_info
);
}
netdev_tx_reset_queue
(
txring_txq
(
tx_ring
));
size
=
sizeof
(
struct
igb_tx_buffer
)
*
tx_ring
->
count
;
memset
(
tx_ring
->
tx_buffer_info
,
0
,
size
);
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe.h
浏览文件 @
8af3994e
...
...
@@ -574,9 +574,6 @@ extern struct ixgbe_info ixgbe_82599_info;
extern
struct
ixgbe_info
ixgbe_X540_info
;
#ifdef CONFIG_IXGBE_DCB
extern
const
struct
dcbnl_rtnl_ops
dcbnl_ops
;
extern
int
ixgbe_copy_dcb_cfg
(
struct
ixgbe_dcb_config
*
src_dcb_cfg
,
struct
ixgbe_dcb_config
*
dst_dcb_cfg
,
int
tc_max
);
#endif
extern
char
ixgbe_driver_name
[];
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
浏览文件 @
8af3994e
...
...
@@ -44,18 +44,26 @@
#define DCB_NO_HW_CHG 1
/* DCB configuration did not change */
#define DCB_HW_CHG 2
/* DCB configuration changed, no reset */
int
ixgbe_copy_dcb_cfg
(
struct
ixgbe_dcb_config
*
scfg
,
struct
ixgbe_dcb_config
*
dcfg
,
int
tc_max
)
static
int
ixgbe_copy_dcb_cfg
(
struct
ixgbe_adapter
*
adapter
,
int
tc_max
)
{
struct
ixgbe_dcb_config
*
scfg
=
&
adapter
->
temp_dcb_cfg
;
struct
ixgbe_dcb_config
*
dcfg
=
&
adapter
->
dcb_cfg
;
struct
tc_configuration
*
src
=
NULL
;
struct
tc_configuration
*
dst
=
NULL
;
int
i
,
j
;
int
tx
=
DCB_TX_CONFIG
;
int
rx
=
DCB_RX_CONFIG
;
int
changes
=
0
;
#ifdef IXGBE_FCOE
struct
dcb_app
app
=
{
.
selector
=
DCB_APP_IDTYPE_ETHTYPE
,
.
protocol
=
ETH_P_FCOE
,
};
u8
up
=
dcb_getapp
(
adapter
->
netdev
,
&
app
);
if
(
!
scfg
||
!
dcfg
)
return
changes
;
if
(
up
&&
!
(
up
&
(
1
<<
adapter
->
fcoe
.
up
)))
changes
|=
BIT_APP_UPCHG
;
#endif
for
(
i
=
DCB_PG_ATTR_TC_0
;
i
<
tc_max
+
DCB_PG_ATTR_TC_0
;
i
++
)
{
src
=
&
scfg
->
tc_config
[
i
-
DCB_PG_ATTR_TC_0
];
...
...
@@ -332,28 +340,12 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
struct
ixgbe_adapter
*
adapter
=
netdev_priv
(
netdev
);
int
ret
=
DCB_NO_HW_CHG
;
int
i
;
#ifdef IXGBE_FCOE
struct
dcb_app
app
=
{
.
selector
=
DCB_APP_IDTYPE_ETHTYPE
,
.
protocol
=
ETH_P_FCOE
,
};
u8
up
;
/* In IEEE mode, use the IEEE Ethertype selector value */
if
(
adapter
->
dcbx_cap
&
DCB_CAP_DCBX_VER_IEEE
)
{
app
.
selector
=
IEEE_8021QAZ_APP_SEL_ETHERTYPE
;
up
=
dcb_ieee_getapp_mask
(
netdev
,
&
app
);
}
else
{
up
=
dcb_getapp
(
netdev
,
&
app
);
}
#endif
/* Fail command if not in CEE mode */
if
(
!
(
adapter
->
dcbx_cap
&
DCB_CAP_DCBX_VER_CEE
))
return
ret
;
adapter
->
dcb_set_bitmap
|=
ixgbe_copy_dcb_cfg
(
&
adapter
->
temp_dcb_cfg
,
&
adapter
->
dcb_cfg
,
adapter
->
dcb_set_bitmap
|=
ixgbe_copy_dcb_cfg
(
adapter
,
MAX_TRAFFIC_CLASS
);
if
(
!
adapter
->
dcb_set_bitmap
)
return
ret
;
...
...
@@ -440,8 +432,13 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
* FCoE is using changes. This happens if the APP info
* changes or the up2tc mapping is updated.
*/
if
((
up
&&
!
(
up
&
(
1
<<
adapter
->
fcoe
.
up
)))
||
(
adapter
->
dcb_set_bitmap
&
BIT_APP_UPCHG
))
{
if
(
adapter
->
dcb_set_bitmap
&
BIT_APP_UPCHG
)
{
struct
dcb_app
app
=
{
.
selector
=
DCB_APP_IDTYPE_ETHTYPE
,
.
protocol
=
ETH_P_FCOE
,
};
u8
up
=
dcb_getapp
(
netdev
,
&
app
);
adapter
->
fcoe
.
up
=
ffs
(
up
)
-
1
;
ixgbe_dcbnl_devreset
(
netdev
);
ret
=
DCB_HW_CHG_RST
;
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
浏览文件 @
8af3994e
...
...
@@ -1780,6 +1780,8 @@ static u16 ixgbe_clean_test_rings(struct ixgbe_ring *rx_ring,
rx_desc
=
IXGBE_RX_DESC
(
rx_ring
,
rx_ntc
);
}
netdev_tx_reset_queue
(
txring_txq
(
tx_ring
));
/* re-map buffers to ring, store next to clean values */
ixgbe_alloc_rx_buffers
(
rx_ring
,
count
);
rx_ring
->
next_to_clean
=
rx_ntc
;
...
...
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
浏览文件 @
8af3994e
...
...
@@ -2671,8 +2671,6 @@ void ixgbe_configure_tx_ring(struct ixgbe_adapter *adapter,
/* enable queue */
IXGBE_WRITE_REG
(
hw
,
IXGBE_TXDCTL
(
reg_idx
),
txdctl
);
netdev_tx_reset_queue
(
txring_txq
(
ring
));
/* TXDCTL.EN will return 0 on 82598 if link is down, so skip it */
if
(
hw
->
mac
.
type
==
ixgbe_mac_82598EB
&&
!
(
IXGBE_READ_REG
(
hw
,
IXGBE_LINKS
)
&
IXGBE_LINKS_UP
))
...
...
@@ -4167,6 +4165,8 @@ static void ixgbe_clean_tx_ring(struct ixgbe_ring *tx_ring)
ixgbe_unmap_and_free_tx_resource
(
tx_ring
,
tx_buffer_info
);
}
netdev_tx_reset_queue
(
txring_txq
(
tx_ring
));
size
=
sizeof
(
struct
ixgbe_tx_buffer
)
*
tx_ring
->
count
;
memset
(
tx_ring
->
tx_buffer_info
,
0
,
size
);
...
...
@@ -4418,8 +4418,8 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
adapter
->
dcb_cfg
.
pfc_mode_enable
=
false
;
adapter
->
dcb_set_bitmap
=
0x00
;
adapter
->
dcbx_cap
=
DCB_CAP_DCBX_HOST
|
DCB_CAP_DCBX_VER_CEE
;
ixgbe_copy_dcb_cfg
(
&
adapter
->
dcb_cfg
,
&
adapter
->
temp_
dcb_cfg
,
MAX_TRAFFIC_CLASS
);
memcpy
(
&
adapter
->
temp_dcb_cfg
,
&
adapter
->
dcb_cfg
,
sizeof
(
adapter
->
temp_dcb_cfg
)
);
#endif
...
...
@@ -4866,10 +4866,12 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
netif_device_detach
(
netdev
);
if
(
netif_running
(
netdev
))
{
rtnl_lock
();
ixgbe_down
(
adapter
);
ixgbe_free_irq
(
adapter
);
ixgbe_free_all_tx_resources
(
adapter
);
ixgbe_free_all_rx_resources
(
adapter
);
rtnl_unlock
();
}
ixgbe_clear_interrupt_scheme
(
adapter
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录