Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
22fecbae
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 3 年多
通知
13
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
22fecbae
编写于
9月 10, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sparc64: Record OF device instead of device node pointer in pci_pbm_info.
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
d3ae4b5b
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
30 addition
and
29 deletion
+30
-29
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/pci.c
+1
-1
arch/sparc64/kernel/pci_common.c
arch/sparc64/kernel/pci_common.c
+4
-4
arch/sparc64/kernel/pci_fire.c
arch/sparc64/kernel/pci_fire.c
+1
-1
arch/sparc64/kernel/pci_impl.h
arch/sparc64/kernel/pci_impl.h
+2
-1
arch/sparc64/kernel/pci_msi.c
arch/sparc64/kernel/pci_msi.c
+9
-9
arch/sparc64/kernel/pci_psycho.c
arch/sparc64/kernel/pci_psycho.c
+2
-2
arch/sparc64/kernel/pci_sabre.c
arch/sparc64/kernel/pci_sabre.c
+2
-2
arch/sparc64/kernel/pci_schizo.c
arch/sparc64/kernel/pci_schizo.c
+6
-6
arch/sparc64/kernel/pci_sun4v.c
arch/sparc64/kernel/pci_sun4v.c
+3
-3
未找到文件。
arch/sparc64/kernel/pci.c
浏览文件 @
22fecbae
...
...
@@ -676,7 +676,7 @@ static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus)
struct
pci_bus
*
__devinit
pci_scan_one_pbm
(
struct
pci_pbm_info
*
pbm
,
struct
device
*
parent
)
{
struct
device_node
*
node
=
pbm
->
prom_
node
;
struct
device_node
*
node
=
pbm
->
op
->
node
;
struct
pci_bus
*
bus
;
printk
(
"PCI: Scanning PBM %s
\n
"
,
node
->
full_name
);
...
...
arch/sparc64/kernel/pci_common.c
浏览文件 @
22fecbae
...
...
@@ -314,12 +314,12 @@ struct pci_ops sun4v_pci_ops = {
void
pci_get_pbm_props
(
struct
pci_pbm_info
*
pbm
)
{
const
u32
*
val
=
of_get_property
(
pbm
->
prom_
node
,
"bus-range"
,
NULL
);
const
u32
*
val
=
of_get_property
(
pbm
->
op
->
node
,
"bus-range"
,
NULL
);
pbm
->
pci_first_busno
=
val
[
0
];
pbm
->
pci_last_busno
=
val
[
1
];
val
=
of_get_property
(
pbm
->
prom_
node
,
"ino-bitmap"
,
NULL
);
val
=
of_get_property
(
pbm
->
op
->
node
,
"ino-bitmap"
,
NULL
);
if
(
val
)
{
pbm
->
ino_bitmap
=
(((
u64
)
val
[
1
]
<<
32UL
)
|
((
u64
)
val
[
0
]
<<
0UL
));
...
...
@@ -365,7 +365,7 @@ static void pci_register_legacy_regions(struct resource *io_res,
static
void
pci_register_iommu_region
(
struct
pci_pbm_info
*
pbm
)
{
const
u32
*
vdma
=
of_get_property
(
pbm
->
prom_
node
,
"virtual-dma"
,
NULL
);
const
u32
*
vdma
=
of_get_property
(
pbm
->
op
->
node
,
"virtual-dma"
,
NULL
);
if
(
vdma
)
{
struct
resource
*
rp
=
kmalloc
(
sizeof
(
*
rp
),
GFP_KERNEL
);
...
...
@@ -389,7 +389,7 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
int
num_pbm_ranges
;
saw_mem
=
saw_io
=
0
;
pbm_ranges
=
of_get_property
(
pbm
->
prom_
node
,
"ranges"
,
&
i
);
pbm_ranges
=
of_get_property
(
pbm
->
op
->
node
,
"ranges"
,
&
i
);
if
(
!
pbm_ranges
)
{
prom_printf
(
"PCI: Fatal error, missing PBM ranges property "
" for %s
\n
"
,
...
...
arch/sparc64/kernel/pci_fire.c
浏览文件 @
22fecbae
...
...
@@ -446,7 +446,7 @@ static int __init pci_fire_pbm_init(struct pci_pbm_info *pbm,
pbm
->
index
=
pci_num_pbms
++
;
pbm
->
portid
=
portid
;
pbm
->
prom_node
=
d
p
;
pbm
->
op
=
o
p
;
pbm
->
name
=
dp
->
full_name
;
regs
=
of_get_property
(
dp
,
"reg"
,
NULL
);
...
...
arch/sparc64/kernel/pci_impl.h
浏览文件 @
22fecbae
...
...
@@ -10,6 +10,7 @@
#include <linux/spinlock.h>
#include <linux/pci.h>
#include <linux/msi.h>
#include <linux/of_device.h>
#include <asm/io.h>
#include <asm/prom.h>
#include <asm/iommu.h>
...
...
@@ -90,7 +91,7 @@ struct pci_pbm_info {
char
*
name
;
/* OBP specific information. */
struct
device_node
*
prom_node
;
struct
of_device
*
op
;
u64
ino_bitmap
;
/* PBM I/O and Memory space resources. */
...
...
arch/sparc64/kernel/pci_msi.c
浏览文件 @
22fecbae
...
...
@@ -323,7 +323,7 @@ void sparc64_pbm_msi_init(struct pci_pbm_info *pbm,
const
u32
*
val
;
int
len
;
val
=
of_get_property
(
pbm
->
prom_
node
,
"#msi-eqs"
,
&
len
);
val
=
of_get_property
(
pbm
->
op
->
node
,
"#msi-eqs"
,
&
len
);
if
(
!
val
||
len
!=
4
)
goto
no_msi
;
pbm
->
msiq_num
=
*
val
;
...
...
@@ -346,16 +346,16 @@ void sparc64_pbm_msi_init(struct pci_pbm_info *pbm,
u32
msi64_len
;
}
*
arng
;
val
=
of_get_property
(
pbm
->
prom_
node
,
"msi-eq-size"
,
&
len
);
val
=
of_get_property
(
pbm
->
op
->
node
,
"msi-eq-size"
,
&
len
);
if
(
!
val
||
len
!=
4
)
goto
no_msi
;
pbm
->
msiq_ent_count
=
*
val
;
mqp
=
of_get_property
(
pbm
->
prom_
node
,
mqp
=
of_get_property
(
pbm
->
op
->
node
,
"msi-eq-to-devino"
,
&
len
);
if
(
!
mqp
)
mqp
=
of_get_property
(
pbm
->
prom_
node
,
mqp
=
of_get_property
(
pbm
->
op
->
node
,
"msi-eq-devino"
,
&
len
);
if
(
!
mqp
||
len
!=
sizeof
(
struct
msiq_prop
))
goto
no_msi
;
...
...
@@ -363,27 +363,27 @@ void sparc64_pbm_msi_init(struct pci_pbm_info *pbm,
pbm
->
msiq_first
=
mqp
->
first_msiq
;
pbm
->
msiq_first_devino
=
mqp
->
first_devino
;
val
=
of_get_property
(
pbm
->
prom_
node
,
"#msi"
,
&
len
);
val
=
of_get_property
(
pbm
->
op
->
node
,
"#msi"
,
&
len
);
if
(
!
val
||
len
!=
4
)
goto
no_msi
;
pbm
->
msi_num
=
*
val
;
mrng
=
of_get_property
(
pbm
->
prom_
node
,
"msi-ranges"
,
&
len
);
mrng
=
of_get_property
(
pbm
->
op
->
node
,
"msi-ranges"
,
&
len
);
if
(
!
mrng
||
len
!=
sizeof
(
struct
msi_range_prop
))
goto
no_msi
;
pbm
->
msi_first
=
mrng
->
first_msi
;
val
=
of_get_property
(
pbm
->
prom_
node
,
"msi-data-mask"
,
&
len
);
val
=
of_get_property
(
pbm
->
op
->
node
,
"msi-data-mask"
,
&
len
);
if
(
!
val
||
len
!=
4
)
goto
no_msi
;
pbm
->
msi_data_mask
=
*
val
;
val
=
of_get_property
(
pbm
->
prom_
node
,
"msix-data-width"
,
&
len
);
val
=
of_get_property
(
pbm
->
op
->
node
,
"msix-data-width"
,
&
len
);
if
(
!
val
||
len
!=
4
)
goto
no_msi
;
pbm
->
msix_data_width
=
*
val
;
arng
=
of_get_property
(
pbm
->
prom_
node
,
"msi-address-ranges"
,
arng
=
of_get_property
(
pbm
->
op
->
node
,
"msi-address-ranges"
,
&
len
);
if
(
!
arng
||
len
!=
sizeof
(
struct
addr_range_prop
))
goto
no_msi
;
...
...
arch/sparc64/kernel/pci_psycho.c
浏览文件 @
22fecbae
...
...
@@ -690,7 +690,7 @@ static irqreturn_t psycho_pcierr_intr(int irq, void *dev_id)
#define PSYCHO_ECCCTRL_CE 0x2000000000000000UL
/* Enable CE INterrupts */
static
void
psycho_register_error_handlers
(
struct
pci_pbm_info
*
pbm
)
{
struct
of_device
*
op
=
of_find_device_by_node
(
pbm
->
prom_
node
);
struct
of_device
*
op
=
of_find_device_by_node
(
pbm
->
op
->
node
);
unsigned
long
base
=
pbm
->
controller_regs
;
u64
tmp
;
int
err
;
...
...
@@ -967,7 +967,7 @@ static void __init psycho_pbm_init(struct pci_pbm_info *pbm,
pbm
->
chip_version
=
of_getintprop_default
(
dp
,
"version#"
,
0
);
pbm
->
chip_revision
=
of_getintprop_default
(
dp
,
"module-revision#"
,
0
);
pbm
->
prom_node
=
d
p
;
pbm
->
op
=
o
p
;
pbm
->
name
=
dp
->
full_name
;
printk
(
KERN_INFO
"%s: PSYCHO PCI Bus Module ver[%x:%x]
\n
"
,
...
...
arch/sparc64/kernel/pci_sabre.c
浏览文件 @
22fecbae
...
...
@@ -543,7 +543,7 @@ static irqreturn_t sabre_pcierr_intr(int irq, void *dev_id)
static
void
sabre_register_error_handlers
(
struct
pci_pbm_info
*
pbm
)
{
struct
device_node
*
dp
=
pbm
->
prom_
node
;
struct
device_node
*
dp
=
pbm
->
op
->
node
;
struct
of_device
*
op
;
unsigned
long
base
=
pbm
->
controller_regs
;
u64
tmp
;
...
...
@@ -750,7 +750,7 @@ static void __init sabre_pbm_init(struct pci_pbm_info *pbm,
pbm
->
index
=
pci_num_pbms
++
;
pbm
->
chip_type
=
PBM_CHIP_TYPE_SABRE
;
pbm
->
prom_node
=
d
p
;
pbm
->
op
=
o
p
;
pci_get_pbm_props
(
pbm
);
pci_determine_mem_io_space
(
pbm
);
...
...
arch/sparc64/kernel/pci_schizo.c
浏览文件 @
22fecbae
...
...
@@ -862,7 +862,7 @@ static int pbm_routes_this_ino(struct pci_pbm_info *pbm, u32 ino)
*/
static
void
tomatillo_register_error_handlers
(
struct
pci_pbm_info
*
pbm
)
{
struct
of_device
*
op
=
of_find_device_by_node
(
pbm
->
prom_
node
);
struct
of_device
*
op
=
of_find_device_by_node
(
pbm
->
op
->
node
);
u64
tmp
,
err_mask
,
err_no_mask
;
int
err
;
...
...
@@ -958,7 +958,7 @@ static void tomatillo_register_error_handlers(struct pci_pbm_info *pbm)
static
void
schizo_register_error_handlers
(
struct
pci_pbm_info
*
pbm
)
{
struct
of_device
*
op
=
of_find_device_by_node
(
pbm
->
prom_
node
);
struct
of_device
*
op
=
of_find_device_by_node
(
pbm
->
op
->
node
);
u64
tmp
,
err_mask
,
err_no_mask
;
int
err
;
...
...
@@ -1088,7 +1088,7 @@ static void __devinit schizo_scan_bus(struct pci_pbm_info *pbm,
{
pbm_config_busmastering
(
pbm
);
pbm
->
is_66mhz_capable
=
(
of_find_property
(
pbm
->
prom_
node
,
"66mhz-capable"
,
NULL
)
(
of_find_property
(
pbm
->
op
->
node
,
"66mhz-capable"
,
NULL
)
!=
NULL
);
pbm
->
pci_bus
=
pci_scan_one_pbm
(
pbm
,
parent
);
...
...
@@ -1158,7 +1158,7 @@ static int schizo_pbm_iommu_init(struct pci_pbm_info *pbm)
u32
dma_mask
;
u64
control
;
vdma
=
of_get_property
(
pbm
->
prom_
node
,
"virtual-dma"
,
NULL
);
vdma
=
of_get_property
(
pbm
->
op
->
node
,
"virtual-dma"
,
NULL
);
if
(
!
vdma
)
vdma
=
vdma_default
;
...
...
@@ -1288,7 +1288,7 @@ static void schizo_pbm_hw_init(struct pci_pbm_info *pbm)
pbm
->
chip_version
>=
0x2
)
tmp
|=
0x3UL
<<
SCHIZO_PCICTRL_PTO_SHIFT
;
if
(
!
of_find_property
(
pbm
->
prom_
node
,
"no-bus-parking"
,
NULL
))
if
(
!
of_find_property
(
pbm
->
op
->
node
,
"no-bus-parking"
,
NULL
))
tmp
|=
SCHIZO_PCICTRL_PARK
;
else
tmp
&=
~
SCHIZO_PCICTRL_PARK
;
...
...
@@ -1377,7 +1377,7 @@ static int __devinit schizo_pbm_init(struct pci_pbm_info *pbm,
pbm
->
index
=
pci_num_pbms
++
;
pbm
->
portid
=
portid
;
pbm
->
prom_node
=
d
p
;
pbm
->
op
=
o
p
;
pbm
->
chip_type
=
chip_type
;
pbm
->
chip_version
=
of_getintprop_default
(
dp
,
"version#"
,
0
);
...
...
arch/sparc64/kernel/pci_sun4v.c
浏览文件 @
22fecbae
...
...
@@ -550,7 +550,7 @@ static void __init pci_sun4v_scan_bus(struct pci_pbm_info *pbm,
struct
property
*
prop
;
struct
device_node
*
dp
;
dp
=
pbm
->
prom_
node
;
dp
=
pbm
->
op
->
node
;
prop
=
of_find_property
(
dp
,
"66mhz-capable"
,
NULL
);
pbm
->
is_66mhz_capable
=
(
prop
!=
NULL
);
pbm
->
pci_bus
=
pci_scan_one_pbm
(
pbm
,
parent
);
...
...
@@ -594,7 +594,7 @@ static int __init pci_sun4v_iommu_init(struct pci_pbm_info *pbm)
u32
dma_mask
,
dma_offset
;
const
u32
*
vdma
;
vdma
=
of_get_property
(
pbm
->
prom_
node
,
"virtual-dma"
,
NULL
);
vdma
=
of_get_property
(
pbm
->
op
->
node
,
"virtual-dma"
,
NULL
);
if
(
!
vdma
)
vdma
=
vdma_default
;
...
...
@@ -901,7 +901,7 @@ static int __init pci_sun4v_pbm_init(struct pci_pbm_info *pbm,
pbm
->
index
=
pci_num_pbms
++
;
pbm
->
prom_node
=
d
p
;
pbm
->
op
=
o
p
;
pbm
->
devhandle
=
devhandle
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录