Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
862fc81b
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
862fc81b
编写于
6月 08, 2006
作者:
J
Jeff Garzik
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'upstream-fixes' into upstream
上级
987024ca
2e84abe7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
9 deletion
+22
-9
drivers/net/wireless/bcm43xx/bcm43xx_dma.c
drivers/net/wireless/bcm43xx/bcm43xx_dma.c
+22
-9
未找到文件。
drivers/net/wireless/bcm43xx/bcm43xx_dma.c
浏览文件 @
862fc81b
...
...
@@ -624,25 +624,28 @@ int bcm43xx_dma_init(struct bcm43xx_private *bcm)
static
u16
generate_cookie
(
struct
bcm43xx_dmaring
*
ring
,
int
slot
)
{
u16
cookie
=
0x
0
000
;
u16
cookie
=
0x
F
000
;
/* Use the upper 4 bits of the cookie as
* DMA controller ID and store the slot number
* in the lower 12 bits
* in the lower 12 bits.
* Note that the cookie must never be 0, as this
* is a special value used in RX path.
*/
switch
(
ring
->
mmio_base
)
{
default:
assert
(
0
);
case
BCM43xx_MMIO_DMA1_BASE
:
cookie
=
0xA000
;
break
;
case
BCM43xx_MMIO_DMA2_BASE
:
cookie
=
0x
1
000
;
cookie
=
0x
B
000
;
break
;
case
BCM43xx_MMIO_DMA3_BASE
:
cookie
=
0x
2
000
;
cookie
=
0x
C
000
;
break
;
case
BCM43xx_MMIO_DMA4_BASE
:
cookie
=
0x
3
000
;
cookie
=
0x
D
000
;
break
;
}
assert
(((
u16
)
slot
&
0xF000
)
==
0x0000
);
...
...
@@ -660,16 +663,16 @@ struct bcm43xx_dmaring * parse_cookie(struct bcm43xx_private *bcm,
struct
bcm43xx_dmaring
*
ring
=
NULL
;
switch
(
cookie
&
0xF000
)
{
case
0x
0
000
:
case
0x
A
000
:
ring
=
dma
->
tx_ring0
;
break
;
case
0x
1
000
:
case
0x
B
000
:
ring
=
dma
->
tx_ring1
;
break
;
case
0x
2
000
:
case
0x
C
000
:
ring
=
dma
->
tx_ring2
;
break
;
case
0x
3
000
:
case
0x
D
000
:
ring
=
dma
->
tx_ring3
;
break
;
default:
...
...
@@ -839,8 +842,18 @@ static void dma_rx(struct bcm43xx_dmaring *ring,
/* We received an xmit status. */
struct
bcm43xx_hwxmitstatus
*
hw
=
(
struct
bcm43xx_hwxmitstatus
*
)
skb
->
data
;
struct
bcm43xx_xmitstatus
stat
;
int
i
=
0
;
stat
.
cookie
=
le16_to_cpu
(
hw
->
cookie
);
while
(
stat
.
cookie
==
0
)
{
if
(
unlikely
(
++
i
>=
10000
))
{
assert
(
0
);
break
;
}
udelay
(
2
);
barrier
();
stat
.
cookie
=
le16_to_cpu
(
hw
->
cookie
);
}
stat
.
flags
=
hw
->
flags
;
stat
.
cnt1
=
hw
->
cnt1
;
stat
.
cnt2
=
hw
->
cnt2
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录