Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
0b5e8db6
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,发现更多精彩内容 >>
提交
0b5e8db6
编写于
12月 10, 2009
作者:
D
Dave Airlie
浏览文件
操作
浏览文件
下载
差异文件
Merge remote branch 'anholt/drm-intel-next' into drm-linus
Pull more Intel changes in, especially one to init the GTT properly
上级
7b0a9e83
4f8d619c
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
32 addition
and
27 deletion
+32
-27
drivers/char/agp/intel-agp.c
drivers/char/agp/intel-agp.c
+6
-1
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_debugfs.c
+3
-2
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_drv.h
+0
-2
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem.c
+1
-0
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_irq.c
+0
-1
drivers/gpu/drm/i915/i915_suspend.c
drivers/gpu/drm/i915/i915_suspend.c
+1
-6
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_display.c
+20
-15
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_drv.h
+1
-0
未找到文件。
drivers/char/agp/intel-agp.c
浏览文件 @
0b5e8db6
...
...
@@ -178,6 +178,7 @@ static struct _intel_private {
* popup and for the GTT.
*/
int
gtt_entries
;
/* i830+ */
int
gtt_total_size
;
union
{
void
__iomem
*
i9xx_flush_page
;
void
*
i8xx_flush_page
;
...
...
@@ -1153,7 +1154,7 @@ static int intel_i915_configure(void)
readl
(
intel_private
.
registers
+
I810_PGETBL_CTL
);
/* PCI Posting. */
if
(
agp_bridge
->
driver
->
needs_scratch_page
)
{
for
(
i
=
intel_private
.
gtt_entries
;
i
<
current_size
->
num_entries
;
i
++
)
{
for
(
i
=
intel_private
.
gtt_entries
;
i
<
intel_private
.
gtt_total_size
;
i
++
)
{
writel
(
agp_bridge
->
scratch_page
,
intel_private
.
gtt
+
i
);
}
readl
(
intel_private
.
gtt
+
i
-
1
);
/* PCI Posting. */
...
...
@@ -1308,6 +1309,8 @@ static int intel_i915_create_gatt_table(struct agp_bridge_data *bridge)
if
(
!
intel_private
.
gtt
)
return
-
ENOMEM
;
intel_private
.
gtt_total_size
=
gtt_map_size
/
4
;
temp
&=
0xfff80000
;
intel_private
.
registers
=
ioremap
(
temp
,
128
*
4096
);
...
...
@@ -1395,6 +1398,8 @@ static int intel_i965_create_gatt_table(struct agp_bridge_data *bridge)
if
(
!
intel_private
.
gtt
)
return
-
ENOMEM
;
intel_private
.
gtt_total_size
=
gtt_size
/
4
;
intel_private
.
registers
=
ioremap
(
temp
,
128
*
4096
);
if
(
!
intel_private
.
registers
)
{
iounmap
(
intel_private
.
gtt
);
...
...
drivers/gpu/drm/i915/i915_debugfs.c
浏览文件 @
0b5e8db6
...
...
@@ -97,13 +97,14 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
{
struct
drm_gem_object
*
obj
=
obj_priv
->
obj
;
seq_printf
(
m
,
" %p: %s %8zd %08x %08x %d
%s"
,
seq_printf
(
m
,
" %p: %s %8zd %08x %08x %d
%s
%s"
,
obj
,
get_pin_flag
(
obj_priv
),
obj
->
size
,
obj
->
read_domains
,
obj
->
write_domain
,
obj_priv
->
last_rendering_seqno
,
obj_priv
->
dirty
?
"dirty"
:
""
);
obj_priv
->
dirty
?
" dirty"
:
""
,
obj_priv
->
madv
==
I915_MADV_DONTNEED
?
" purgeable"
:
""
);
if
(
obj
->
name
)
seq_printf
(
m
,
" (name: %d)"
,
obj
->
name
);
...
...
drivers/gpu/drm/i915/i915_drv.h
浏览文件 @
0b5e8db6
...
...
@@ -383,8 +383,6 @@ typedef struct drm_i915_private {
u32
saveFDI_RXA_IMR
;
u32
saveFDI_RXB_IMR
;
u32
saveCACHE_MODE_0
;
u32
saveD_STATE
;
u32
saveDSPCLK_GATE_D
;
u32
saveMI_ARB_STATE
;
u32
saveSWF0
[
16
];
u32
saveSWF1
[
16
];
...
...
drivers/gpu/drm/i915/i915_gem.c
浏览文件 @
0b5e8db6
...
...
@@ -1288,6 +1288,7 @@ i915_gem_create_mmap_offset(struct drm_gem_object *obj)
list
->
hash
.
key
=
list
->
file_offset_node
->
start
;
if
(
drm_ht_insert_item
(
&
mm
->
offset_hash
,
&
list
->
hash
))
{
DRM_ERROR
(
"failed to add to map hash
\n
"
);
ret
=
-
ENOMEM
;
goto
out_free_mm
;
}
...
...
drivers/gpu/drm/i915/i915_irq.c
浏览文件 @
0b5e8db6
...
...
@@ -546,7 +546,6 @@ static void i915_handle_error(struct drm_device *dev, bool wedged)
/*
* Wakeup waiting processes so they don't hang
*/
printk
(
"i915: Waking up sleeping processes
\n
"
);
DRM_WAKEUP
(
&
dev_priv
->
irq_queue
);
}
...
...
drivers/gpu/drm/i915/i915_suspend.c
浏览文件 @
0b5e8db6
...
...
@@ -756,10 +756,6 @@ int i915_save_state(struct drm_device *dev)
dev_priv
->
saveIMR
=
I915_READ
(
IMR
);
}
/* Clock gating state */
dev_priv
->
saveD_STATE
=
I915_READ
(
D_STATE
);
dev_priv
->
saveDSPCLK_GATE_D
=
I915_READ
(
DSPCLK_GATE_D
);
/* Not sure about this */
/* Cache mode state */
dev_priv
->
saveCACHE_MODE_0
=
I915_READ
(
CACHE_MODE_0
);
...
...
@@ -834,8 +830,7 @@ int i915_restore_state(struct drm_device *dev)
}
/* Clock gating state */
I915_WRITE
(
D_STATE
,
dev_priv
->
saveD_STATE
);
I915_WRITE
(
DSPCLK_GATE_D
,
dev_priv
->
saveDSPCLK_GATE_D
);
intel_init_clock_gating
(
dev
);
/* Cache mode state */
I915_WRITE
(
CACHE_MODE_0
,
dev_priv
->
saveCACHE_MODE_0
|
0xffff0000
);
...
...
drivers/gpu/drm/i915/intel_display.c
浏览文件 @
0b5e8db6
...
...
@@ -4584,28 +4584,33 @@ void intel_init_clock_gating(struct drm_device *dev)
struct
drm_i915_gem_object
*
obj_priv
;
int
ret
;
pwrctx
=
drm_gem_object_alloc
(
dev
,
4096
);
if
(
!
pwrctx
)
{
DRM_DEBUG
(
"failed to alloc power context, RC6 disabled
\n
"
);
goto
out
;
}
if
(
dev_priv
->
pwrctx
)
{
obj_priv
=
dev_priv
->
pwrctx
->
driver_private
;
}
else
{
pwrctx
=
drm_gem_object_alloc
(
dev
,
4096
);
if
(
!
pwrctx
)
{
DRM_DEBUG
(
"failed to alloc power context, "
"RC6 disabled
\n
"
);
goto
out
;
}
ret
=
i915_gem_object_pin
(
pwrctx
,
4096
);
if
(
ret
)
{
DRM_ERROR
(
"failed to pin power context: %d
\n
"
,
ret
);
drm_gem_object_unreference
(
pwrctx
);
goto
out
;
}
ret
=
i915_gem_object_pin
(
pwrctx
,
4096
);
if
(
ret
)
{
DRM_ERROR
(
"failed to pin power context: %d
\n
"
,
ret
);
drm_gem_object_unreference
(
pwrctx
);
goto
out
;
}
i915_gem_object_set_to_gtt_domain
(
pwrctx
,
1
);
i915_gem_object_set_to_gtt_domain
(
pwrctx
,
1
);
obj_priv
=
pwrctx
->
driver_private
;
dev_priv
->
pwrctx
=
pwrctx
;
obj_priv
=
pwrctx
->
driver_private
;
}
I915_WRITE
(
PWRCTXA
,
obj_priv
->
gtt_offset
|
PWRCTX_EN
);
I915_WRITE
(
MCHBAR_RENDER_STANDBY
,
I915_READ
(
MCHBAR_RENDER_STANDBY
)
&
~
RCX_SW_EXIT
);
dev_priv
->
pwrctx
=
pwrctx
;
}
out:
...
...
drivers/gpu/drm/i915/intel_drv.h
浏览文件 @
0b5e8db6
...
...
@@ -208,6 +208,7 @@ extern void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
u16
blue
,
int
regno
);
extern
void
intel_crtc_fb_gamma_get
(
struct
drm_crtc
*
crtc
,
u16
*
red
,
u16
*
green
,
u16
*
blue
,
int
regno
);
extern
void
intel_init_clock_gating
(
struct
drm_device
*
dev
);
extern
int
intel_framebuffer_create
(
struct
drm_device
*
dev
,
struct
drm_mode_fb_cmd
*
mode_cmd
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录