Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
59054392
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
59054392
编写于
11月 26, 2013
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nve0/fb/gddr5: fix an assumption of sane memory controller layout
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
2daaf5b0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
7 deletion
+10
-7
drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
+10
-7
未找到文件。
drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
浏览文件 @
59054392
...
...
@@ -134,17 +134,20 @@ struct nve0_ram {
* GDDR5
******************************************************************************/
static
void
train
(
struct
nve0_ramfuc
*
fuc
,
u32
magic
)
nve0_ram_
train
(
struct
nve0_ramfuc
*
fuc
,
u32
magic
)
{
struct
nve0_ram
*
ram
=
container_of
(
fuc
,
typeof
(
*
ram
),
fuc
);
struct
nouveau_fb
*
pfb
=
nouveau_fb
(
ram
);
const
int
mc
=
nv_rd32
(
pfb
,
0x02243c
);
int
i
;
u32
part
=
nv_rd32
(
pfb
,
0x022438
),
i
;
u32
mask
=
nv_rd32
(
pfb
,
0x022554
);
u32
addr
=
0x110974
;
ram_mask
(
fuc
,
0x10f910
,
0xbc0e0000
,
magic
);
ram_mask
(
fuc
,
0x10f914
,
0xbc0e0000
,
magic
);
for
(
i
=
0
;
i
<
mc
;
i
++
)
{
const
u32
addr
=
0x110974
+
(
i
*
0x1000
);
for
(
i
=
0
;
(
magic
&
0x80000000
)
&&
i
<
part
;
addr
+=
0x1000
,
i
++
)
{
if
(
mask
&
(
1
<<
i
))
continue
;
ram_wait
(
fuc
,
addr
,
0x0000000f
,
0x00000000
,
500000
);
}
}
...
...
@@ -518,7 +521,7 @@ nve0_ram_calc_gddr5(struct nouveau_fb *pfb, u32 freq)
if
((
nv_ro08
(
bios
,
ramcfg
+
0x08
)
&
0x10
)
&&
(
ram
->
mode
==
2
)
/*XXX*/
)
{
u32
temp
=
ram_mask
(
fuc
,
0x10f294
,
0xff000000
,
0x24000000
);
train
(
fuc
,
0xa4010000
);
/*XXX*/
nve0_ram_
train
(
fuc
,
0xa4010000
);
/*XXX*/
ram_nsec
(
fuc
,
1000
);
ram_wr32
(
fuc
,
0x10f294
,
temp
);
}
...
...
@@ -572,7 +575,7 @@ nve0_ram_calc_gddr5(struct nouveau_fb *pfb, u32 freq)
}
else
{
data
=
0xa40e0000
;
}
train
(
fuc
,
data
);
nve0_ram_
train
(
fuc
,
data
);
ram_nsec
(
fuc
,
1000
);
if
(
ram
->
mode
==
2
)
{
/*XXX*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录