Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
f746072a
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看板
提交
f746072a
编写于
1月 24, 2009
作者:
S
Stefan Richter
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
firewire: sbp2: define some magic numbers as macros
Signed-off-by:
N
Stefan Richter
<
stefanr@s5r6.in-berlin.de
>
上级
a08e100a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
11 deletion
+12
-11
drivers/firewire/fw-sbp2.c
drivers/firewire/fw-sbp2.c
+12
-11
未找到文件。
drivers/firewire/fw-sbp2.c
浏览文件 @
f746072a
...
...
@@ -311,14 +311,16 @@ struct sbp2_command_orb {
dma_addr_t
page_table_bus
;
};
#define SBP2_ROM_VALUE_WILDCARD ~0
/* match all */
#define SBP2_ROM_VALUE_MISSING 0xff000000
/* not present in the unit dir. */
/*
* List of devices with known bugs.
*
* The firmware_revision field, masked with 0xffff00, is the best
* indicator for the type of bridge chip of a device. It yields a few
* false positives but this did not break correctly behaving devices
* so far. We use ~0 as a wildcard, since the 24 bit values we get
* from the config rom can never match that.
* so far.
*/
static
const
struct
{
u32
firmware_revision
;
...
...
@@ -340,22 +342,22 @@ static const struct {
},
/* Initio bridges, actually only needed for some older ones */
{
.
firmware_revision
=
0x000200
,
.
model
=
~
0
,
.
model
=
SBP2_ROM_VALUE_WILDCARD
,
.
workarounds
=
SBP2_WORKAROUND_INQUIRY_36
,
},
/* PL-3507 bridge with Prolific firmware */
{
.
firmware_revision
=
0x012800
,
.
model
=
~
0
,
.
model
=
SBP2_ROM_VALUE_WILDCARD
,
.
workarounds
=
SBP2_WORKAROUND_POWER_CONDITION
,
},
/* Symbios bridge */
{
.
firmware_revision
=
0xa0b800
,
.
model
=
~
0
,
.
model
=
SBP2_ROM_VALUE_WILDCARD
,
.
workarounds
=
SBP2_WORKAROUND_128K_MAX_TRANS
,
},
/* Datafab MD2-FW2 with Symbios/LSILogic SYM13FW500 bridge */
{
.
firmware_revision
=
0x002600
,
.
model
=
~
0
,
.
model
=
SBP2_ROM_VALUE_WILDCARD
,
.
workarounds
=
SBP2_WORKAROUND_128K_MAX_TRANS
,
},
...
...
@@ -1093,7 +1095,7 @@ static void sbp2_init_workarounds(struct sbp2_target *tgt, u32 model,
continue
;
if
(
sbp2_workarounds_table
[
i
].
model
!=
model
&&
sbp2_workarounds_table
[
i
].
model
!=
~
0
)
sbp2_workarounds_table
[
i
].
model
!=
SBP2_ROM_VALUE_WILDCARD
)
continue
;
w
|=
sbp2_workarounds_table
[
i
].
workarounds
;
...
...
@@ -1143,14 +1145,13 @@ static int sbp2_probe(struct device *dev)
fw_device_get
(
device
);
fw_unit_get
(
unit
);
/* Initialize to values that won't match anything in our table. */
firmware_revision
=
0xff000000
;
model
=
0xff000000
;
/* implicit directory ID */
tgt
->
directory_id
=
((
unit
->
directory
-
device
->
config_rom
)
*
4
+
CSR_CONFIG_ROM
)
&
0xffffff
;
firmware_revision
=
SBP2_ROM_VALUE_MISSING
;
model
=
SBP2_ROM_VALUE_MISSING
;
if
(
sbp2_scan_unit_dir
(
tgt
,
unit
->
directory
,
&
model
,
&
firmware_revision
)
<
0
)
goto
fail_tgt_put
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录