Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
3bfcec35
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3bfcec35
编写于
10月 03, 2013
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nv50-/sw: share engine/channel struct definitions between implementations
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
ac51bb09
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
24 deletion
+25
-24
drivers/gpu/drm/nouveau/core/engine/software/nv50.c
drivers/gpu/drm/nouveau/core/engine/software/nv50.c
+1
-8
drivers/gpu/drm/nouveau/core/engine/software/nv50.h
drivers/gpu/drm/nouveau/core/engine/software/nv50.h
+14
-0
drivers/gpu/drm/nouveau/core/engine/software/nvc0.c
drivers/gpu/drm/nouveau/core/engine/software/nvc0.c
+10
-16
未找到文件。
drivers/gpu/drm/nouveau/core/engine/software/nv50.c
浏览文件 @
3bfcec35
...
@@ -32,16 +32,9 @@
...
@@ -32,16 +32,9 @@
#include <subdev/bar.h>
#include <subdev/bar.h>
#include <engine/software.h>
#include <engine/disp.h>
#include <engine/disp.h>
struct
nv50_software_priv
{
#include "nv50.h"
struct
nouveau_software
base
;
};
struct
nv50_software_chan
{
struct
nouveau_software_chan
base
;
};
/*******************************************************************************
/*******************************************************************************
* software object classes
* software object classes
...
...
drivers/gpu/drm/nouveau/core/engine/software/nv50.h
0 → 100644
浏览文件 @
3bfcec35
#ifndef __NVKM_SW_NV50_H__
#define __NVKM_SW_NV50_H__
#include <engine/software.h>
struct
nv50_software_priv
{
struct
nouveau_software
base
;
};
struct
nv50_software_chan
{
struct
nouveau_software_chan
base
;
};
#endif
drivers/gpu/drm/nouveau/core/engine/software/nvc0.c
浏览文件 @
3bfcec35
...
@@ -32,13 +32,7 @@
...
@@ -32,13 +32,7 @@
#include <engine/software.h>
#include <engine/software.h>
#include <engine/disp.h>
#include <engine/disp.h>
struct
nvc0_software_priv
{
#include "nv50.h"
struct
nouveau_software
base
;
};
struct
nvc0_software_chan
{
struct
nouveau_software_chan
base
;
};
/*******************************************************************************
/*******************************************************************************
* software object classes
* software object classes
...
@@ -48,7 +42,7 @@ static int
...
@@ -48,7 +42,7 @@ static int
nvc0_software_mthd_vblsem_offset
(
struct
nouveau_object
*
object
,
u32
mthd
,
nvc0_software_mthd_vblsem_offset
(
struct
nouveau_object
*
object
,
u32
mthd
,
void
*
args
,
u32
size
)
void
*
args
,
u32
size
)
{
{
struct
nv
c
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nv
5
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
u64
data
=
*
(
u32
*
)
args
;
u64
data
=
*
(
u32
*
)
args
;
if
(
mthd
==
0x0400
)
{
if
(
mthd
==
0x0400
)
{
chan
->
base
.
vblank
.
offset
&=
0x00ffffffffULL
;
chan
->
base
.
vblank
.
offset
&=
0x00ffffffffULL
;
...
@@ -64,7 +58,7 @@ static int
...
@@ -64,7 +58,7 @@ static int
nvc0_software_mthd_vblsem_value
(
struct
nouveau_object
*
object
,
u32
mthd
,
nvc0_software_mthd_vblsem_value
(
struct
nouveau_object
*
object
,
u32
mthd
,
void
*
args
,
u32
size
)
void
*
args
,
u32
size
)
{
{
struct
nv
c
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nv
5
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
chan
->
base
.
vblank
.
value
=
*
(
u32
*
)
args
;
chan
->
base
.
vblank
.
value
=
*
(
u32
*
)
args
;
return
0
;
return
0
;
}
}
...
@@ -73,7 +67,7 @@ static int
...
@@ -73,7 +67,7 @@ static int
nvc0_software_mthd_vblsem_release
(
struct
nouveau_object
*
object
,
u32
mthd
,
nvc0_software_mthd_vblsem_release
(
struct
nouveau_object
*
object
,
u32
mthd
,
void
*
args
,
u32
size
)
void
*
args
,
u32
size
)
{
{
struct
nv
c
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nv
5
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nouveau_disp
*
disp
=
nouveau_disp
(
object
);
struct
nouveau_disp
*
disp
=
nouveau_disp
(
object
);
u32
crtc
=
*
(
u32
*
)
args
;
u32
crtc
=
*
(
u32
*
)
args
;
...
@@ -88,7 +82,7 @@ static int
...
@@ -88,7 +82,7 @@ static int
nvc0_software_mthd_flip
(
struct
nouveau_object
*
object
,
u32
mthd
,
nvc0_software_mthd_flip
(
struct
nouveau_object
*
object
,
u32
mthd
,
void
*
args
,
u32
size
)
void
*
args
,
u32
size
)
{
{
struct
nv
c
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nv
5
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
if
(
chan
->
base
.
flip
)
if
(
chan
->
base
.
flip
)
return
chan
->
base
.
flip
(
chan
->
base
.
flip_data
);
return
chan
->
base
.
flip
(
chan
->
base
.
flip_data
);
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -98,8 +92,8 @@ static int
...
@@ -98,8 +92,8 @@ static int
nvc0_software_mthd_mp_control
(
struct
nouveau_object
*
object
,
u32
mthd
,
nvc0_software_mthd_mp_control
(
struct
nouveau_object
*
object
,
u32
mthd
,
void
*
args
,
u32
size
)
void
*
args
,
u32
size
)
{
{
struct
nv
c
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nv
5
0_software_chan
*
chan
=
(
void
*
)
nv_engctx
(
object
->
parent
);
struct
nv
c
0_software_priv
*
priv
=
(
void
*
)
nv_object
(
chan
)
->
engine
;
struct
nv
5
0_software_priv
*
priv
=
(
void
*
)
nv_object
(
chan
)
->
engine
;
u32
data
=
*
(
u32
*
)
args
;
u32
data
=
*
(
u32
*
)
args
;
switch
(
mthd
)
{
switch
(
mthd
)
{
...
@@ -148,7 +142,7 @@ nvc0_software_vblsem_release(struct nouveau_eventh *event, int head)
...
@@ -148,7 +142,7 @@ nvc0_software_vblsem_release(struct nouveau_eventh *event, int head)
{
{
struct
nouveau_software_chan
*
chan
=
struct
nouveau_software_chan
*
chan
=
container_of
(
event
,
struct
nouveau_software_chan
,
vblank
.
event
);
container_of
(
event
,
struct
nouveau_software_chan
,
vblank
.
event
);
struct
nv
c
0_software_priv
*
priv
=
(
void
*
)
nv_object
(
chan
)
->
engine
;
struct
nv
5
0_software_priv
*
priv
=
(
void
*
)
nv_object
(
chan
)
->
engine
;
struct
nouveau_bar
*
bar
=
nouveau_bar
(
priv
);
struct
nouveau_bar
*
bar
=
nouveau_bar
(
priv
);
nv_wr32
(
priv
,
0x001718
,
0x80000000
|
chan
->
vblank
.
channel
);
nv_wr32
(
priv
,
0x001718
,
0x80000000
|
chan
->
vblank
.
channel
);
...
@@ -166,7 +160,7 @@ nvc0_software_context_ctor(struct nouveau_object *parent,
...
@@ -166,7 +160,7 @@ nvc0_software_context_ctor(struct nouveau_object *parent,
struct
nouveau_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nouveau_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nouveau_object
**
pobject
)
struct
nouveau_object
**
pobject
)
{
{
struct
nv
c
0_software_chan
*
chan
;
struct
nv
5
0_software_chan
*
chan
;
int
ret
;
int
ret
;
ret
=
nouveau_software_context_create
(
parent
,
engine
,
oclass
,
&
chan
);
ret
=
nouveau_software_context_create
(
parent
,
engine
,
oclass
,
&
chan
);
...
@@ -199,7 +193,7 @@ nvc0_software_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
...
@@ -199,7 +193,7 @@ nvc0_software_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
struct
nouveau_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nouveau_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nouveau_object
**
pobject
)
struct
nouveau_object
**
pobject
)
{
{
struct
nv
c
0_software_priv
*
priv
;
struct
nv
5
0_software_priv
*
priv
;
int
ret
;
int
ret
;
ret
=
nouveau_software_create
(
parent
,
engine
,
oclass
,
&
priv
);
ret
=
nouveau_software_create
(
parent
,
engine
,
oclass
,
&
priv
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录