Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
668b6c09
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
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看板
提交
668b6c09
编写于
12月 15, 2011
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau: rework the init/takedown ordering
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
f3298532
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
40 deletion
+41
-40
drivers/gpu/drm/nouveau/nouveau_state.c
drivers/gpu/drm/nouveau/nouveau_state.c
+41
-40
未找到文件。
drivers/gpu/drm/nouveau/nouveau_state.c
浏览文件 @
668b6c09
...
...
@@ -592,16 +592,34 @@ nouveau_card_init(struct drm_device *dev)
nv_mask
(
dev
,
0x00088080
,
0x00000800
,
0x00000000
);
}
nouveau_pm_init
(
dev
);
/* PMC */
ret
=
engine
->
mc
.
init
(
dev
);
if
(
ret
)
goto
out_bios
;
/* PTIMER */
ret
=
engine
->
timer
.
init
(
dev
);
if
(
ret
)
goto
out_mc
;
/* PFB */
ret
=
engine
->
fb
.
init
(
dev
);
if
(
ret
)
goto
out_timer
;
ret
=
engine
->
vram
.
init
(
dev
);
if
(
ret
)
goto
out_
bios
;
goto
out_
fb
;
ret
=
nouveau_gpuobj_init
(
dev
);
/* PGPIO */
ret
=
nouveau_gpio_create
(
dev
);
if
(
ret
)
goto
out_vram
;
ret
=
nouveau_gpuobj_init
(
dev
);
if
(
ret
)
goto
out_gpio
;
ret
=
engine
->
instmem
.
init
(
dev
);
if
(
ret
)
goto
out_gpuobj
;
...
...
@@ -614,25 +632,7 @@ nouveau_card_init(struct drm_device *dev)
if
(
ret
)
goto
out_ttmvram
;
/* PMC */
ret
=
engine
->
mc
.
init
(
dev
);
if
(
ret
)
goto
out_gart
;
/* PGPIO */
ret
=
nouveau_gpio_create
(
dev
);
if
(
ret
)
goto
out_mc
;
/* PTIMER */
ret
=
engine
->
timer
.
init
(
dev
);
if
(
ret
)
goto
out_gpio
;
/* PFB */
ret
=
engine
->
fb
.
init
(
dev
);
if
(
ret
)
goto
out_timer
;
nouveau_pm_init
(
dev
);
if
(
!
dev_priv
->
noaccel
)
{
switch
(
dev_priv
->
card_type
)
{
...
...
@@ -783,15 +783,7 @@ nouveau_card_init(struct drm_device *dev)
dev_priv
->
eng
[
e
]
->
destroy
(
dev
,
e
);
}
}
engine
->
fb
.
takedown
(
dev
);
out_timer:
engine
->
timer
.
takedown
(
dev
);
out_gpio:
nouveau_gpio_destroy
(
dev
);
out_mc:
engine
->
mc
.
takedown
(
dev
);
out_gart:
nouveau_pm_fini
(
dev
);
nouveau_mem_gart_fini
(
dev
);
out_ttmvram:
nouveau_mem_vram_fini
(
dev
);
...
...
@@ -799,10 +791,17 @@ nouveau_card_init(struct drm_device *dev)
engine
->
instmem
.
takedown
(
dev
);
out_gpuobj:
nouveau_gpuobj_takedown
(
dev
);
out_gpio:
nouveau_gpio_destroy
(
dev
);
out_vram:
engine
->
vram
.
takedown
(
dev
);
out_fb:
engine
->
fb
.
takedown
(
dev
);
out_timer:
engine
->
timer
.
takedown
(
dev
);
out_mc:
engine
->
mc
.
takedown
(
dev
);
out_bios:
nouveau_pm_fini
(
dev
);
nouveau_bios_takedown
(
dev
);
out_display_early:
engine
->
display
.
late_takedown
(
dev
);
...
...
@@ -839,11 +838,6 @@ static void nouveau_card_takedown(struct drm_device *dev)
}
}
}
engine
->
fb
.
takedown
(
dev
);
engine
->
timer
.
takedown
(
dev
);
nouveau_gpio_destroy
(
dev
);
engine
->
mc
.
takedown
(
dev
);
engine
->
display
.
late_takedown
(
dev
);
if
(
dev_priv
->
vga_ram
)
{
nouveau_bo_unpin
(
dev_priv
->
vga_ram
);
...
...
@@ -859,12 +853,19 @@ static void nouveau_card_takedown(struct drm_device *dev)
engine
->
instmem
.
takedown
(
dev
);
nouveau_gpuobj_takedown
(
dev
);
engine
->
vram
.
takedown
(
dev
);
nouveau_irq_fini
(
dev
);
nouveau_pm_fini
(
dev
);
nouveau_gpio_destroy
(
dev
);
engine
->
vram
.
takedown
(
dev
);
engine
->
fb
.
takedown
(
dev
);
engine
->
timer
.
takedown
(
dev
);
engine
->
mc
.
takedown
(
dev
);
nouveau_bios_takedown
(
dev
);
engine
->
display
.
late_takedown
(
dev
);
nouveau_irq_fini
(
dev
);
vga_client_register
(
dev
->
pdev
,
NULL
,
NULL
,
NULL
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录