Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
32d219ed
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
32d219ed
编写于
2月 23, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-davem' of
git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next
上级
21f7638e
73e0026f
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
24 addition
and
14 deletion
+24
-14
drivers/net/ethernet/sfc/bitfield.h
drivers/net/ethernet/sfc/bitfield.h
+2
-2
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/efx.c
+6
-1
drivers/net/ethernet/sfc/mcdi_mon.c
drivers/net/ethernet/sfc/mcdi_mon.c
+1
-1
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/net_driver.h
+6
-3
drivers/net/ethernet/sfc/siena_sriov.c
drivers/net/ethernet/sfc/siena_sriov.c
+6
-5
drivers/net/ethernet/sfc/tx.c
drivers/net/ethernet/sfc/tx.c
+1
-1
drivers/net/ethernet/sfc/vfdi.h
drivers/net/ethernet/sfc/vfdi.h
+2
-1
未找到文件。
drivers/net/ethernet/sfc/bitfield.h
浏览文件 @
32d219ed
...
...
@@ -531,8 +531,8 @@ typedef union efx_oword {
/* Static initialiser */
#define EFX_OWORD32(a, b, c, d)
\
{ .u32 = { cpu_to_le32(a), cpu_to_le32(b),
\
#define EFX_OWORD32(a, b, c, d) \
{ .u32 = { cpu_to_le32(a), cpu_to_le32(b),
\
cpu_to_le32(c), cpu_to_le32(d) } }
#endif
/* EFX_BITFIELD_H */
drivers/net/ethernet/sfc/efx.c
浏览文件 @
32d219ed
...
...
@@ -585,7 +585,12 @@ static int efx_probe_channels(struct efx_nic *efx)
/* Restart special buffer allocation */
efx
->
next_buffer_table
=
0
;
efx_for_each_channel
(
channel
,
efx
)
{
/* Probe channels in reverse, so that any 'extra' channels
* use the start of the buffer table. This allows the traffic
* channels to be resized without moving them or wasting the
* entries before them.
*/
efx_for_each_channel_rev
(
channel
,
efx
)
{
rc
=
efx_probe_channel
(
channel
);
if
(
rc
)
{
netif_err
(
efx
,
probe
,
efx
->
net_dev
,
...
...
drivers/net/ethernet/sfc/mcdi_mon.c
浏览文件 @
32d219ed
...
...
@@ -37,7 +37,7 @@ static const struct {
SENSOR
(
PHY0_TEMP
,
"PHY temp."
,
EFX_HWMON_TEMP
,
0
),
SENSOR
(
PHY0_COOLING
,
"PHY cooling"
,
EFX_HWMON_COOL
,
0
),
SENSOR
(
PHY1_TEMP
,
"PHY temp."
,
EFX_HWMON_TEMP
,
1
),
SENSOR
(
PHY1_COOLING
,
"PHY cooling"
,
EFX_HWMON_COOL
,
1
),
SENSOR
(
PHY1_COOLING
,
"PHY cooling"
,
EFX_HWMON_COOL
,
1
),
SENSOR
(
IN_1V0
,
"1.0V supply"
,
EFX_HWMON_IN
,
-
1
),
SENSOR
(
IN_1V2
,
"1.2V supply"
,
EFX_HWMON_IN
,
-
1
),
SENSOR
(
IN_1V8
,
"1.8V supply"
,
EFX_HWMON_IN
,
-
1
),
...
...
drivers/net/ethernet/sfc/net_driver.h
浏览文件 @
32d219ed
...
...
@@ -1030,9 +1030,12 @@ static inline bool efx_tx_queue_used(struct efx_tx_queue *tx_queue)
/* Iterate over all possible TX queues belonging to a channel */
#define efx_for_each_possible_channel_tx_queue(_tx_queue, _channel) \
for (_tx_queue = (_channel)->tx_queue; \
_tx_queue < (_channel)->tx_queue + EFX_TXQ_TYPES; \
_tx_queue++)
if (!efx_channel_has_tx_queues(_channel)) \
; \
else \
for (_tx_queue = (_channel)->tx_queue; \
_tx_queue < (_channel)->tx_queue + EFX_TXQ_TYPES; \
_tx_queue++)
static
inline
bool
efx_channel_has_rx_queue
(
struct
efx_channel
*
channel
)
{
...
...
drivers/net/ethernet/sfc/siena_sriov.c
浏览文件 @
32d219ed
...
...
@@ -796,12 +796,13 @@ static int efx_vfdi_set_status_page(struct efx_vf *vf)
{
struct
efx_nic
*
efx
=
vf
->
efx
;
struct
vfdi_req
*
req
=
vf
->
buf
.
addr
;
unsigned
int
page_count
;
u64
page_count
=
req
->
u
.
set_status_page
.
peer_page_count
;
u64
max_page_count
=
(
EFX_PAGE_SIZE
-
offsetof
(
struct
vfdi_req
,
u
.
set_status_page
.
peer_page_addr
[
0
]))
/
sizeof
(
req
->
u
.
set_status_page
.
peer_page_addr
[
0
]);
page_count
=
req
->
u
.
set_status_page
.
peer_page_count
;
if
(
!
req
->
u
.
set_status_page
.
dma_addr
||
EFX_PAGE_SIZE
<
offsetof
(
struct
vfdi_req
,
u
.
set_status_page
.
peer_page_addr
[
page_count
]))
{
if
(
!
req
->
u
.
set_status_page
.
dma_addr
||
page_count
>
max_page_count
)
{
if
(
net_ratelimit
())
netif_err
(
efx
,
hw
,
efx
->
net_dev
,
"ERROR: Invalid SET_STATUS_PAGE from %s
\n
"
,
...
...
drivers/net/ethernet/sfc/tx.c
浏览文件 @
32d219ed
...
...
@@ -339,7 +339,7 @@ static void efx_dequeue_buffers(struct efx_tx_queue *tx_queue,
* OS to free the skb.
*/
netdev_tx_t
efx_hard_start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
net_dev
)
struct
net_device
*
net_dev
)
{
struct
efx_nic
*
efx
=
netdev_priv
(
net_dev
);
struct
efx_tx_queue
*
tx_queue
;
...
...
drivers/net/ethernet/sfc/vfdi.h
浏览文件 @
32d219ed
...
...
@@ -152,7 +152,8 @@ enum vfdi_op {
* all traffic at this receive queue.
* @u.mac_filter.flags: MAC filter flags.
* @u.set_status_page.dma_addr: Base address for the &struct vfdi_status.
* This address must be such that the structure fits within a page.
* This address must be page-aligned and the PF may write up to a
* whole page (allowing for extension of the structure).
* @u.set_status_page.peer_page_count: Number of additional pages the VF
* has provided into which peer addresses may be DMAd.
* @u.set_status_page.peer_page_addr: Array of DMA addresses of pages.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录