Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
e457acae
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e457acae
编写于
1月 04, 2011
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau: create grctx on the fly on all chipsets
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
eeb9cc01
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
14 addition
and
12 deletion
+14
-12
drivers/gpu/drm/nouveau/nouveau_channel.c
drivers/gpu/drm/nouveau/nouveau_channel.c
+0
-10
drivers/gpu/drm/nouveau/nouveau_object.c
drivers/gpu/drm/nouveau/nouveau_object.c
+2
-1
drivers/gpu/drm/nouveau/nv40_fifo.c
drivers/gpu/drm/nouveau/nv40_fifo.c
+0
-1
drivers/gpu/drm/nouveau/nv40_graph.c
drivers/gpu/drm/nouveau/nv40_graph.c
+12
-0
未找到文件。
drivers/gpu/drm/nouveau/nouveau_channel.c
浏览文件 @
e457acae
...
...
@@ -121,7 +121,6 @@ nouveau_channel_alloc(struct drm_device *dev, struct nouveau_channel **chan_ret,
uint32_t
vram_handle
,
uint32_t
gart_handle
)
{
struct
drm_nouveau_private
*
dev_priv
=
dev
->
dev_private
;
struct
nouveau_pgraph_engine
*
pgraph
=
&
dev_priv
->
engine
.
graph
;
struct
nouveau_fifo_engine
*
pfifo
=
&
dev_priv
->
engine
.
fifo
;
struct
nouveau_channel
*
chan
;
unsigned
long
flags
;
...
...
@@ -202,15 +201,6 @@ nouveau_channel_alloc(struct drm_device *dev, struct nouveau_channel **chan_ret,
/* disable the fifo caches */
pfifo
->
reassign
(
dev
,
false
);
/* Create a graphics context for new channel */
if
(
dev_priv
->
card_type
<
NV_50
)
{
ret
=
pgraph
->
create_context
(
chan
);
if
(
ret
)
{
nouveau_channel_put
(
&
chan
);
return
ret
;
}
}
/* Construct inital RAMFC for new channel */
ret
=
pfifo
->
create_context
(
chan
);
if
(
ret
)
{
...
...
drivers/gpu/drm/nouveau/nouveau_object.c
浏览文件 @
e457acae
...
...
@@ -651,7 +651,8 @@ nouveau_gpuobj_gr_new(struct nouveau_channel *chan, u32 handle, int class)
}
break
;
case
NVOBJ_ENGINE_GR
:
if
(
dev_priv
->
card_type
>=
NV_50
&&
!
chan
->
ramin_grctx
)
{
if
((
dev_priv
->
card_type
>=
NV_20
&&
!
chan
->
ramin_grctx
)
||
(
dev_priv
->
card_type
<
NV_20
&&
!
chan
->
pgraph_ctx
))
{
struct
nouveau_pgraph_engine
*
pgraph
=
&
dev_priv
->
engine
.
graph
;
...
...
drivers/gpu/drm/nouveau/nv40_fifo.c
浏览文件 @
e457acae
...
...
@@ -64,7 +64,6 @@ nv40_fifo_create_context(struct nouveau_channel *chan)
NV_PFIFO_CACHE1_BIG_ENDIAN
|
#endif
0x30000000
/* no idea.. */
);
nv_wi32
(
dev
,
fc
+
56
,
chan
->
ramin_grctx
->
pinst
>>
4
);
nv_wi32
(
dev
,
fc
+
60
,
0x0001FFFF
);
/* enable the fifo dma operation */
...
...
drivers/gpu/drm/nouveau/nv40_graph.c
浏览文件 @
e457acae
...
...
@@ -62,6 +62,7 @@ nv40_graph_create_context(struct nouveau_channel *chan)
struct
drm_nouveau_private
*
dev_priv
=
dev
->
dev_private
;
struct
nouveau_pgraph_engine
*
pgraph
=
&
dev_priv
->
engine
.
graph
;
struct
nouveau_grctx
ctx
=
{};
unsigned
long
flags
;
int
ret
;
ret
=
nouveau_gpuobj_new
(
dev
,
chan
,
pgraph
->
grctx_size
,
16
,
...
...
@@ -76,6 +77,17 @@ nv40_graph_create_context(struct nouveau_channel *chan)
nv40_grctx_init
(
&
ctx
);
nv_wo32
(
chan
->
ramin_grctx
,
0
,
chan
->
ramin_grctx
->
pinst
);
/* init grctx pointer in ramfc, and on PFIFO if channel is
* already active there
*/
spin_lock_irqsave
(
&
dev_priv
->
context_switch_lock
,
flags
);
nv_wo32
(
chan
->
ramfc
,
0x38
,
chan
->
ramin_grctx
->
pinst
>>
4
);
nv_mask
(
dev
,
0x002500
,
0x00000001
,
0x00000000
);
if
((
nv_rd32
(
dev
,
0x003204
)
&
0x0000001f
)
==
chan
->
id
)
nv_wr32
(
dev
,
0x0032e0
,
chan
->
ramin_grctx
->
pinst
>>
4
);
nv_mask
(
dev
,
0x002500
,
0x00000001
,
0x00000001
);
spin_unlock_irqrestore
(
&
dev_priv
->
context_switch_lock
,
flags
);
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录