Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
62d65a80
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
6
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看板
提交
62d65a80
编写于
12月 01, 2005
作者:
J
Jeff Garzik
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'upstream-fixes'
上级
f89b2321
ea182d4a
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
53 addition
and
64 deletion
+53
-64
drivers/net/ibm_emac/ibm_emac_core.c
drivers/net/ibm_emac/ibm_emac_core.c
+29
-9
drivers/net/ibm_emac/ibm_emac_core.h
drivers/net/ibm_emac/ibm_emac_core.h
+2
-0
drivers/net/jazzsonic.c
drivers/net/jazzsonic.c
+2
-2
drivers/net/mipsnet.h
drivers/net/mipsnet.h
+5
-25
drivers/net/pcmcia/fmvj18x_cs.c
drivers/net/pcmcia/fmvj18x_cs.c
+11
-21
drivers/net/skge.c
drivers/net/skge.c
+1
-3
drivers/net/wireless/airo.c
drivers/net/wireless/airo.c
+2
-2
drivers/net/wireless/orinoco.c
drivers/net/wireless/orinoco.c
+1
-2
未找到文件。
drivers/net/ibm_emac/ibm_emac_core.c
浏览文件 @
62d65a80
...
...
@@ -65,7 +65,7 @@
*/
#define DRV_NAME "emac"
#define DRV_VERSION "3.5
3
"
#define DRV_VERSION "3.5
4
"
#define DRV_DESC "PPC 4xx OCP EMAC driver"
MODULE_DESCRIPTION
(
DRV_DESC
);
...
...
@@ -158,6 +158,14 @@ static inline void emac_report_timeout_error(struct ocp_enet_private *dev,
#define PHY_POLL_LINK_ON HZ
#define PHY_POLL_LINK_OFF (HZ / 5)
/* Graceful stop timeouts in us.
* We should allow up to 1 frame time (full-duplex, ignoring collisions)
*/
#define STOP_TIMEOUT_10 1230
#define STOP_TIMEOUT_100 124
#define STOP_TIMEOUT_1000 13
#define STOP_TIMEOUT_1000_JUMBO 73
/* Please, keep in sync with struct ibm_emac_stats/ibm_emac_error_stats */
static
const
char
emac_stats_keys
[
EMAC_ETHTOOL_STATS_COUNT
][
ETH_GSTRING_LEN
]
=
{
"rx_packets"
,
"rx_bytes"
,
"tx_packets"
,
"tx_bytes"
,
"rx_packets_csum"
,
...
...
@@ -222,10 +230,12 @@ static void emac_tx_disable(struct ocp_enet_private *dev)
r
=
in_be32
(
&
p
->
mr0
);
if
(
r
&
EMAC_MR0_TXE
)
{
int
n
=
300
;
int
n
=
dev
->
stop_timeout
;
out_be32
(
&
p
->
mr0
,
r
&
~
EMAC_MR0_TXE
);
while
(
!
(
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_TXI
)
&&
n
)
while
(
!
(
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_TXI
)
&&
n
)
{
udelay
(
1
);
--
n
;
}
if
(
unlikely
(
!
n
))
emac_report_timeout_error
(
dev
,
"TX disable timeout"
);
}
...
...
@@ -248,9 +258,11 @@ static void emac_rx_enable(struct ocp_enet_private *dev)
if
(
!
(
r
&
EMAC_MR0_RXE
))
{
if
(
unlikely
(
!
(
r
&
EMAC_MR0_RXI
)))
{
/* Wait if previous async disable is still in progress */
int
n
=
100
;
while
(
!
(
r
=
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_RXI
)
&&
n
)
int
n
=
dev
->
stop_timeout
;
while
(
!
(
r
=
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_RXI
)
&&
n
)
{
udelay
(
1
);
--
n
;
}
if
(
unlikely
(
!
n
))
emac_report_timeout_error
(
dev
,
"RX disable timeout"
);
...
...
@@ -273,10 +285,12 @@ static void emac_rx_disable(struct ocp_enet_private *dev)
r
=
in_be32
(
&
p
->
mr0
);
if
(
r
&
EMAC_MR0_RXE
)
{
int
n
=
300
;
int
n
=
dev
->
stop_timeout
;
out_be32
(
&
p
->
mr0
,
r
&
~
EMAC_MR0_RXE
);
while
(
!
(
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_RXI
)
&&
n
)
while
(
!
(
in_be32
(
&
p
->
mr0
)
&
EMAC_MR0_RXI
)
&&
n
)
{
udelay
(
1
);
--
n
;
}
if
(
unlikely
(
!
n
))
emac_report_timeout_error
(
dev
,
"RX disable timeout"
);
}
...
...
@@ -395,6 +409,7 @@ static int emac_configure(struct ocp_enet_private *dev)
r
=
EMAC_MR1_BASE
(
emac_opb_mhz
())
|
EMAC_MR1_VLE
|
EMAC_MR1_IST
;
if
(
dev
->
phy
.
duplex
==
DUPLEX_FULL
)
r
|=
EMAC_MR1_FDE
;
dev
->
stop_timeout
=
STOP_TIMEOUT_10
;
switch
(
dev
->
phy
.
speed
)
{
case
SPEED_1000
:
if
(
emac_phy_gpcs
(
dev
->
phy
.
mode
))
{
...
...
@@ -409,12 +424,16 @@ static int emac_configure(struct ocp_enet_private *dev)
r
|=
EMAC_MR1_MF_1000
;
r
|=
EMAC_MR1_RFS_16K
;
gige
=
1
;
if
(
dev
->
ndev
->
mtu
>
ETH_DATA_LEN
)
if
(
dev
->
ndev
->
mtu
>
ETH_DATA_LEN
)
{
r
|=
EMAC_MR1_JPSM
;
dev
->
stop_timeout
=
STOP_TIMEOUT_1000_JUMBO
;
}
else
dev
->
stop_timeout
=
STOP_TIMEOUT_1000
;
break
;
case
SPEED_100
:
r
|=
EMAC_MR1_MF_100
;
dev
->
stop_timeout
=
STOP_TIMEOUT_100
;
/* Fall through */
default:
r
|=
EMAC_MR1_RFS_4K
;
...
...
@@ -2048,6 +2067,7 @@ static int __init emac_probe(struct ocp_device *ocpdev)
dev
->
phy
.
duplex
=
DUPLEX_FULL
;
dev
->
phy
.
autoneg
=
AUTONEG_DISABLE
;
dev
->
phy
.
pause
=
dev
->
phy
.
asym_pause
=
0
;
dev
->
stop_timeout
=
STOP_TIMEOUT_100
;
init_timer
(
&
dev
->
link_timer
);
dev
->
link_timer
.
function
=
emac_link_timer
;
dev
->
link_timer
.
data
=
(
unsigned
long
)
dev
;
...
...
drivers/net/ibm_emac/ibm_emac_core.h
浏览文件 @
62d65a80
...
...
@@ -189,6 +189,8 @@ struct ocp_enet_private {
struct
timer_list
link_timer
;
int
reset_failed
;
int
stop_timeout
;
/* in us */
struct
ibm_emac_error_stats
estats
;
struct
net_device_stats
nstats
;
...
...
drivers/net/jazzsonic.c
浏览文件 @
62d65a80
...
...
@@ -296,7 +296,7 @@ static int __init jazz_sonic_init_module(void)
}
jazz_sonic_device
=
platform_device_alloc
(
jazz_sonic_string
,
0
);
if
(
!
jazz_son
n
ic_device
)
if
(
!
jazz_sonic_device
)
goto
out_unregister
;
if
(
platform_device_add
(
jazz_sonic_device
))
{
...
...
@@ -307,7 +307,7 @@ static int __init jazz_sonic_init_module(void)
return
0
;
out_unregister:
driver_unregister
(
&
jazz_sonic_driver
);
platform_
driver_unregister
(
&
jazz_sonic_driver
);
return
-
ENOMEM
;
}
...
...
drivers/net/mipsnet.h
浏览文件 @
62d65a80
//
// <COPYRIGHT CLASS="1B" YEAR="2005">
// Unpublished work (c) MIPS Technologies, Inc. All rights reserved.
// Unpublished rights reserved under the copyright laws of the U.S.A. and
// other countries.
//
// PROPRIETARY / SECRET CONFIDENTIAL INFORMATION OF MIPS TECHNOLOGIES, INC.
// FOR INTERNAL USE ONLY.
//
// Under no circumstances (contract or otherwise) may this information be
// disclosed to, or copied, modified or used by anyone other than employees
// or contractors of MIPS Technologies having a need to know.
// </COPYRIGHT>
//
//++
// File: MIPS_Net.h
//
// Description:
// The definition of the emulated MIPSNET device's interface.
//
// Notes: This include file needs to work from a Linux device drivers.
//
//--
//
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*/
#ifndef __MIPSNET_H
#define __MIPSNET_H
...
...
drivers/net/pcmcia/fmvj18x_cs.c
浏览文件 @
62d65a80
...
...
@@ -131,10 +131,9 @@ typedef struct local_info_t {
u_short
tx_queue_len
;
cardtype_t
cardtype
;
u_short
sent
;
u_char
mc_filter
[
8
];
}
local_info_t
;
#define MC_FILTERBREAK
8
#define MC_FILTERBREAK
64
/*====================================================================*/
/*
...
...
@@ -1005,15 +1004,8 @@ static void fjn_reset(struct net_device *dev)
for
(
i
=
0
;
i
<
6
;
i
++
)
outb
(
dev
->
dev_addr
[
i
],
ioaddr
+
NODE_ID
+
i
);
/* Switch to bank 1 */
if
(
lp
->
cardtype
==
MBH10302
)
outb
(
BANK_1
,
ioaddr
+
CONFIG_1
);
else
outb
(
BANK_1U
,
ioaddr
+
CONFIG_1
);
/* set the multicast table to accept none. */
for
(
i
=
0
;
i
<
8
;
i
++
)
outb
(
0x00
,
ioaddr
+
MAR_ADR
+
i
);
/* (re)initialize the multicast table */
set_rx_mode
(
dev
);
/* Switch to bank 2 (runtime mode) */
if
(
lp
->
cardtype
==
MBH10302
)
...
...
@@ -1264,11 +1256,11 @@ static struct net_device_stats *fjn_get_stats(struct net_device *dev)
static
void
set_rx_mode
(
struct
net_device
*
dev
)
{
kio_addr_t
ioaddr
=
dev
->
base_addr
;
struct
local_info_t
*
lp
=
netdev_priv
(
dev
);
u_char
mc_filter
[
8
];
/* Multicast hash filter */
u_long
flags
;
int
i
;
int
saved_bank
;
int
saved_config_0
=
inb
(
ioaddr
+
CONFIG_0
);
local_irq_save
(
flags
);
...
...
@@ -1306,15 +1298,13 @@ static void set_rx_mode(struct net_device *dev)
outb
(
2
,
ioaddr
+
RX_MODE
);
/* Use normal mode. */
}
if
(
memcmp
(
mc_filter
,
lp
->
mc_filter
,
sizeof
(
mc_filter
)))
{
int
saved_bank
=
inb
(
ioaddr
+
CONFIG_1
);
/* Switch to bank 1 and set the multicast table. */
outb
(
0xe4
,
ioaddr
+
CONFIG_1
);
for
(
i
=
0
;
i
<
8
;
i
++
)
outb
(
mc_filter
[
i
],
ioaddr
+
MAR_ADR
+
i
);
memcpy
(
lp
->
mc_filter
,
mc_filter
,
sizeof
(
mc_filter
));
outb
(
saved_bank
,
ioaddr
+
CONFIG_1
);
}
/* Switch to bank 1 and set the multicast table. */
saved_bank
=
inb
(
ioaddr
+
CONFIG_1
);
outb
(
0xe4
,
ioaddr
+
CONFIG_1
);
for
(
i
=
0
;
i
<
8
;
i
++
)
outb
(
mc_filter
[
i
],
ioaddr
+
MAR_ADR
+
i
);
outb
(
saved_bank
,
ioaddr
+
CONFIG_1
);
outb
(
saved_config_0
,
ioaddr
+
CONFIG_0
);
...
...
drivers/net/skge.c
浏览文件 @
62d65a80
...
...
@@ -2300,14 +2300,12 @@ static int skge_xmit_frame(struct sk_buff *skb, struct net_device *dev)
td
->
dma_hi
=
map
>>
32
;
if
(
skb
->
ip_summed
==
CHECKSUM_HW
)
{
const
struct
iphdr
*
ip
=
(
const
struct
iphdr
*
)
(
skb
->
data
+
ETH_HLEN
);
int
offset
=
skb
->
h
.
raw
-
skb
->
data
;
/* This seems backwards, but it is what the sk98lin
* does. Looks like hardware is wrong?
*/
if
(
ip
->
protocol
==
IPPROTO_UDP
if
(
skb
->
h
.
ipiph
->
protocol
==
IPPROTO_UDP
&&
hw
->
chip_rev
==
0
&&
hw
->
chip_id
==
CHIP_ID_YUKON
)
control
=
BMU_TCP_CHECK
;
else
...
...
drivers/net/wireless/airo.c
浏览文件 @
62d65a80
...
...
@@ -2755,8 +2755,8 @@ static struct net_device *_init_airo_card( unsigned short irq, int port,
SET_NETDEV_DEV
(
dev
,
dmdev
);
if
(
test_bit
(
FLAG_MPI
,
&
ai
->
flags
))
reset_card
(
dev
,
1
);
reset_card
(
dev
,
1
);
msleep
(
400
);
rc
=
request_irq
(
dev
->
irq
,
airo_interrupt
,
SA_SHIRQ
,
dev
->
name
,
dev
);
if
(
rc
)
{
...
...
drivers/net/wireless/orinoco.c
浏览文件 @
62d65a80
...
...
@@ -3512,9 +3512,8 @@ static int orinoco_ioctl_setpower(struct net_device *dev,
break
;
default:
err
=
-
EINVAL
;
}
if
(
err
)
goto
out
;
}
if
(
prq
->
flags
&
IW_POWER_TIMEOUT
)
{
priv
->
pm_on
=
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录