Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
2f1cb96d
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,发现更多精彩内容 >>
提交
2f1cb96d
编写于
10月 11, 2012
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nv40/fb: enable z compression
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
fd3a5225
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
24 addition
and
5 deletion
+24
-5
drivers/gpu/drm/nouveau/core/include/subdev/fb.h
drivers/gpu/drm/nouveau/core/include/subdev/fb.h
+3
-0
drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
+14
-3
drivers/gpu/drm/nouveau/core/subdev/fb/nv41.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv41.c
+3
-1
drivers/gpu/drm/nouveau/core/subdev/fb/nv47.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv47.c
+1
-0
drivers/gpu/drm/nouveau/core/subdev/fb/nv49.c
drivers/gpu/drm/nouveau/core/subdev/fb/nv49.c
+3
-1
未找到文件。
drivers/gpu/drm/nouveau/core/include/subdev/fb.h
浏览文件 @
2f1cb96d
...
...
@@ -151,6 +151,9 @@ int nv30_fb_init(struct nouveau_object *);
void
nv30_fb_tile_init
(
struct
nouveau_fb
*
,
int
i
,
u32
addr
,
u32
size
,
u32
pitch
,
u32
flags
,
struct
nouveau_fb_tile
*
);
void
nv40_fb_tile_comp
(
struct
nouveau_fb
*
,
int
i
,
u32
size
,
u32
flags
,
struct
nouveau_fb_tile
*
);
int
nv41_fb_vram_init
(
struct
nouveau_fb
*
);
int
nv41_fb_init
(
struct
nouveau_object
*
);
void
nv41_fb_tile_prog
(
struct
nouveau_fb
*
,
int
,
struct
nouveau_fb_tile
*
);
...
...
drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
浏览文件 @
2f1cb96d
...
...
@@ -41,15 +41,26 @@ nv40_fb_vram_init(struct nouveau_fb *pfb)
case
0x00000300
:
pfb
->
ram
.
type
=
NV_MEM_TYPE_DDR2
;
break
;
}
pfb
->
ram
.
size
=
nv_rd32
(
pfb
,
0x10020c
)
&
0xff000000
;
pfb
->
ram
.
size
=
nv_rd32
(
pfb
,
0x10020c
)
&
0xff000000
;
pfb
->
ram
.
parts
=
(
nv_rd32
(
pfb
,
0x100200
)
&
0x00000003
)
+
1
;
return
nv_rd32
(
pfb
,
0x100320
);
}
static
void
void
nv40_fb_tile_comp
(
struct
nouveau_fb
*
pfb
,
int
i
,
u32
size
,
u32
flags
,
struct
nouveau_fb_tile
*
tile
)
{
tile
->
zcomp
=
0x00000000
;
u32
tiles
=
DIV_ROUND_UP
(
size
,
0x80
);
u32
tags
=
round_up
(
tiles
/
pfb
->
ram
.
parts
,
0x100
);
if
(
(
flags
&
2
)
&&
!
nouveau_mm_head
(
&
pfb
->
tags
,
1
,
tags
,
tags
,
1
,
&
tile
->
tag
))
{
tile
->
zcomp
=
0x24000000
;
/* Z24S8_SPLIT */
tile
->
zcomp
|=
((
tile
->
tag
->
offset
)
>>
8
);
tile
->
zcomp
|=
((
tile
->
tag
->
offset
+
tags
-
1
)
>>
8
)
<<
13
;
#ifdef __BIG_ENDIAN
tile
->
zcomp
|=
0x40000000
;
#endif
}
}
static
int
...
...
drivers/gpu/drm/nouveau/core/subdev/fb/nv41.c
浏览文件 @
2f1cb96d
...
...
@@ -41,7 +41,8 @@ nv41_fb_vram_init(struct nouveau_fb *pfb)
if
(
pfb474
&
0x00000001
)
pfb
->
ram
.
type
=
NV_MEM_TYPE_DDR1
;
pfb
->
ram
.
size
=
nv_rd32
(
pfb
,
0x10020c
)
&
0xff000000
;
pfb
->
ram
.
size
=
nv_rd32
(
pfb
,
0x10020c
)
&
0xff000000
;
pfb
->
ram
.
parts
=
(
nv_rd32
(
pfb
,
0x100200
)
&
0x00000003
)
+
1
;
return
nv_rd32
(
pfb
,
0x100320
);
}
...
...
@@ -86,6 +87,7 @@ nv41_fb_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
priv
->
base
.
ram
.
init
=
nv41_fb_vram_init
;
priv
->
base
.
tile
.
regions
=
12
;
priv
->
base
.
tile
.
init
=
nv30_fb_tile_init
;
priv
->
base
.
tile
.
comp
=
nv40_fb_tile_comp
;
priv
->
base
.
tile
.
fini
=
nv20_fb_tile_fini
;
priv
->
base
.
tile
.
prog
=
nv41_fb_tile_prog
;
return
nouveau_fb_preinit
(
&
priv
->
base
);
...
...
drivers/gpu/drm/nouveau/core/subdev/fb/nv47.c
浏览文件 @
2f1cb96d
...
...
@@ -47,6 +47,7 @@ nv47_fb_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
priv
->
base
.
ram
.
init
=
nv41_fb_vram_init
;
priv
->
base
.
tile
.
regions
=
15
;
priv
->
base
.
tile
.
init
=
nv30_fb_tile_init
;
priv
->
base
.
tile
.
comp
=
nv40_fb_tile_comp
;
priv
->
base
.
tile
.
fini
=
nv20_fb_tile_fini
;
priv
->
base
.
tile
.
prog
=
nv41_fb_tile_prog
;
return
nouveau_fb_preinit
(
&
priv
->
base
);
...
...
drivers/gpu/drm/nouveau/core/subdev/fb/nv49.c
浏览文件 @
2f1cb96d
...
...
@@ -42,7 +42,8 @@ nv49_fb_vram_init(struct nouveau_fb *pfb)
case
0x00000003
:
break
;
}
pfb
->
ram
.
size
=
nv_rd32
(
pfb
,
0x10020c
)
&
0xff000000
;
pfb
->
ram
.
size
=
nv_rd32
(
pfb
,
0x10020c
)
&
0xff000000
;
pfb
->
ram
.
parts
=
(
nv_rd32
(
pfb
,
0x100200
)
&
0x00000003
)
+
1
;
return
nv_rd32
(
pfb
,
0x100320
);
}
...
...
@@ -63,6 +64,7 @@ nv49_fb_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
priv
->
base
.
ram
.
init
=
nv49_fb_vram_init
;
priv
->
base
.
tile
.
regions
=
15
;
priv
->
base
.
tile
.
init
=
nv30_fb_tile_init
;
priv
->
base
.
tile
.
comp
=
nv40_fb_tile_comp
;
priv
->
base
.
tile
.
fini
=
nv20_fb_tile_fini
;
priv
->
base
.
tile
.
prog
=
nv41_fb_tile_prog
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录