Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
6d7b9efa
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
6d7b9efa
编写于
2月 20, 2006
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'drm-patches' of
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
上级
cf70a6f2
73d72cff
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
58 addition
and
1 deletion
+58
-1
drivers/char/drm/i915_irq.c
drivers/char/drm/i915_irq.c
+5
-0
drivers/char/drm/r300_cmdbuf.c
drivers/char/drm/r300_cmdbuf.c
+48
-0
drivers/char/drm/r300_reg.h
drivers/char/drm/r300_reg.h
+3
-0
drivers/char/drm/radeon_drv.h
drivers/char/drm/radeon_drv.h
+2
-1
未找到文件。
drivers/char/drm/i915_irq.c
浏览文件 @
6d7b9efa
...
...
@@ -202,10 +202,15 @@ void i915_driver_irq_postinstall(drm_device_t * dev)
void
i915_driver_irq_uninstall
(
drm_device_t
*
dev
)
{
drm_i915_private_t
*
dev_priv
=
(
drm_i915_private_t
*
)
dev
->
dev_private
;
u16
temp
;
if
(
!
dev_priv
)
return
;
I915_WRITE16
(
I915REG_HWSTAM
,
0xffff
);
I915_WRITE16
(
I915REG_INT_MASK_R
,
0xffff
);
I915_WRITE16
(
I915REG_INT_ENABLE_R
,
0x0
);
temp
=
I915_READ16
(
I915REG_INT_IDENTITY_R
);
I915_WRITE16
(
I915REG_INT_IDENTITY_R
,
temp
);
}
drivers/char/drm/r300_cmdbuf.c
浏览文件 @
6d7b9efa
...
...
@@ -161,6 +161,7 @@ void r300_init_reg_flags(void)
ADD_RANGE
(
R300_VAP_PVS_CNTL_1
,
3
);
ADD_RANGE
(
R300_GB_ENABLE
,
1
);
ADD_RANGE
(
R300_GB_MSPOS0
,
5
);
ADD_RANGE
(
R300_TX_CNTL
,
1
);
ADD_RANGE
(
R300_TX_ENABLE
,
1
);
ADD_RANGE
(
0x4200
,
4
);
ADD_RANGE
(
0x4214
,
1
);
...
...
@@ -489,6 +490,50 @@ static __inline__ int r300_emit_3d_load_vbpntr(drm_radeon_private_t *dev_priv,
return
0
;
}
static
__inline__
int
r300_emit_bitblt_multi
(
drm_radeon_private_t
*
dev_priv
,
drm_radeon_kcmd_buffer_t
*
cmdbuf
)
{
u32
*
cmd
=
(
u32
*
)
cmdbuf
->
buf
;
int
count
,
ret
;
RING_LOCALS
;
count
=
(
cmd
[
0
]
>>
16
)
&
0x3fff
;
if
(
cmd
[
0
]
&
0x8000
)
{
u32
offset
;
if
(
cmd
[
1
]
&
(
RADEON_GMC_SRC_PITCH_OFFSET_CNTL
|
RADEON_GMC_DST_PITCH_OFFSET_CNTL
))
{
offset
=
cmd
[
2
]
<<
10
;
ret
=
r300_check_offset
(
dev_priv
,
offset
);
if
(
ret
)
{
DRM_ERROR
(
"Invalid bitblt first offset is %08X
\n
"
,
offset
);
return
DRM_ERR
(
EINVAL
);
}
}
if
((
cmd
[
1
]
&
RADEON_GMC_SRC_PITCH_OFFSET_CNTL
)
&&
(
cmd
[
1
]
&
RADEON_GMC_DST_PITCH_OFFSET_CNTL
))
{
offset
=
cmd
[
3
]
<<
10
;
ret
=
r300_check_offset
(
dev_priv
,
offset
);
if
(
ret
)
{
DRM_ERROR
(
"Invalid bitblt second offset is %08X
\n
"
,
offset
);
return
DRM_ERR
(
EINVAL
);
}
}
}
BEGIN_RING
(
count
+
2
);
OUT_RING
(
cmd
[
0
]);
OUT_RING_TABLE
((
int
*
)(
cmdbuf
->
buf
+
4
),
count
+
1
);
ADVANCE_RING
();
cmdbuf
->
buf
+=
(
count
+
2
)
*
4
;
cmdbuf
->
bufsz
-=
(
count
+
2
)
*
4
;
return
0
;
}
static
__inline__
int
r300_emit_raw_packet3
(
drm_radeon_private_t
*
dev_priv
,
drm_radeon_kcmd_buffer_t
*
cmdbuf
)
...
...
@@ -527,6 +572,9 @@ static __inline__ int r300_emit_raw_packet3(drm_radeon_private_t *dev_priv,
case
RADEON_3D_LOAD_VBPNTR
:
/* load vertex array pointers */
return
r300_emit_3d_load_vbpntr
(
dev_priv
,
cmdbuf
,
header
);
case
RADEON_CNTL_BITBLT_MULTI
:
return
r300_emit_bitblt_multi
(
dev_priv
,
cmdbuf
);
case
RADEON_CP_3D_DRAW_IMMD_2
:
/* triggers drawing using in-packet vertex data */
case
RADEON_CP_3D_DRAW_VBUF_2
:
/* triggers drawing of vertex buffers setup elsewhere */
case
RADEON_CP_3D_DRAW_INDX_2
:
/* triggers drawing using indices to vertex buffer */
...
...
drivers/char/drm/r300_reg.h
浏览文件 @
6d7b9efa
...
...
@@ -451,6 +451,9 @@ I am fairly certain that they are correct unless stated otherwise in comments.
/* END */
/* gap */
/* Zero to flush caches. */
#define R300_TX_CNTL 0x4100
/* The upper enable bits are guessed, based on fglrx reported limits. */
#define R300_TX_ENABLE 0x4104
# define R300_TX_ENABLE_0 (1 << 0)
...
...
drivers/char/drm/radeon_drv.h
浏览文件 @
6d7b9efa
...
...
@@ -90,9 +90,10 @@
* 1.19- Add support for gart table in FB memory and PCIE r300
* 1.20- Add support for r300 texrect
* 1.21- Add support for card type getparam
* 1.22- Add support for texture cache flushes (R300_TX_CNTL)
*/
#define DRIVER_MAJOR 1
#define DRIVER_MINOR 2
1
#define DRIVER_MINOR 2
2
#define DRIVER_PATCHLEVEL 0
/*
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录