Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
29181d2f
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看板
提交
29181d2f
编写于
3月 04, 2012
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nvc0/vram: get part count from PUNITS
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
8b83d67c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
16 deletion
+14
-16
drivers/gpu/drm/nouveau/nvc0_vram.c
drivers/gpu/drm/nouveau/nvc0_vram.c
+14
-16
未找到文件。
drivers/gpu/drm/nouveau/nvc0_vram.c
浏览文件 @
29181d2f
...
...
@@ -106,34 +106,32 @@ nvc0_vram_init(struct drm_device *dev)
struct
nouveau_vram_engine
*
vram
=
&
dev_priv
->
engine
.
vram
;
const
u32
rsvd_head
=
(
256
*
1024
)
>>
12
;
/* vga memory */
const
u32
rsvd_tail
=
(
1024
*
1024
)
>>
12
;
/* vbios etc */
u32
parts
=
nv_rd32
(
dev
,
0x121c74
);
u32
parts
=
nv_rd32
(
dev
,
0x022438
);
u32
pmask
=
nv_rd32
(
dev
,
0x022554
);
u32
bsize
=
nv_rd32
(
dev
,
0x10f20c
);
u32
offset
,
length
;
bool
uniform
=
true
;
int
ret
,
part
;
NV_DEBUG
(
dev
,
"0x100800: 0x%08x
\n
"
,
nv_rd32
(
dev
,
0x100800
));
NV_DEBUG
(
dev
,
"parts 0x%08x
bcast_mem_amount 0x%08x
\n
"
,
parts
,
bsize
);
NV_DEBUG
(
dev
,
"parts 0x%08x
mask 0x%08x
\n
"
,
parts
,
pmask
);
dev_priv
->
vram_type
=
nouveau_mem_vbios_type
(
dev
);
dev_priv
->
vram_rank_B
=
!!
(
nv_rd32
(
dev
,
0x10f200
)
&
0x00000004
);
/* read amount of vram attached to each memory controller */
part
=
0
;
while
(
parts
)
{
u32
psize
=
nv_rd32
(
dev
,
0x11020c
+
(
part
++
*
0x1000
));
if
(
psize
==
0
)
continue
;
parts
--
;
if
(
psize
!=
bsize
)
{
if
(
psize
<
bsize
)
bsize
=
psize
;
uniform
=
false
;
for
(
part
=
0
;
part
<
parts
;
part
++
)
{
if
(
!
(
pmask
&
(
1
<<
part
))
)
{
u32
psize
=
nv_rd32
(
dev
,
0x11020c
+
(
part
*
0x1000
));
if
(
psize
!=
bsize
)
{
if
(
psize
<
bsize
)
bsize
=
psize
;
uniform
=
false
;
}
NV_DEBUG
(
dev
,
"%d: mem_amount 0x%08x
\n
"
,
part
,
psize
)
;
dev_priv
->
vram_size
+=
(
u64
)
psize
<<
20
;
}
NV_DEBUG
(
dev
,
"%d: mem_amount 0x%08x
\n
"
,
part
,
psize
);
dev_priv
->
vram_size
+=
(
u64
)
psize
<<
20
;
}
/* if all controllers have the same amount attached, there's no holes */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录