Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
c79a191b
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
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看板
提交
c79a191b
编写于
9年前
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/xtensa: convert user classes to new-style nvkm_object
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
9d498e0f
master
alk-4.19.24
alk-4.19.30
alk-4.19.34
alk-4.19.36
alk-4.19.43
alk-4.19.48
alk-4.19.57
ck-4.19.67
ck-4.19.81
ck-4.19.91
github/fork/deepanshu1422/fix-typo-in-comment
github/fork/haosdent/fix-typo
linux-next
v4.19.91
v4.19.90
v4.19.89
v4.19.88
v4.19.87
v4.19.86
v4.19.85
v4.19.84
v4.19.83
v4.19.82
v4.19.81
v4.19.80
v4.19.79
v4.19.78
v4.19.77
v4.19.76
v4.19.75
v4.19.74
v4.19.73
v4.19.72
v4.19.71
v4.19.70
v4.19.69
v4.19.68
v4.19.67
v4.19.66
v4.19.65
v4.19.64
v4.19.63
v4.19.62
v4.19.61
v4.19.60
v4.19.59
v4.19.58
v4.19.57
v4.19.56
v4.19.55
v4.19.54
v4.19.53
v4.19.52
v4.19.51
v4.19.50
v4.19.49
v4.19.48
v4.19.47
v4.19.46
v4.19.45
v4.19.44
v4.19.43
v4.19.42
v4.19.41
v4.19.40
v4.19.39
v4.19.38
v4.19.37
v4.19.36
v4.19.35
v4.19.34
v4.19.33
v4.19.32
v4.19.31
v4.19.30
v4.19.29
v4.19.28
v4.19.27
v4.19.26
v4.19.25
v4.19.24
v4.19.23
v4.19.22
v4.19.21
v4.19.20
v4.19.19
v4.19.18
v4.19.17
v4.19.16
v4.19.15
v4.19.14
v4.19.13
v4.19.12
v4.19.11
v4.19.10
v4.19.9
v4.19.8
v4.19.7
v4.19.6
v4.19.5
v4.19.4
v4.19.3
v4.19.2
v4.19.1
v4.19
v4.19-rc8
v4.19-rc7
v4.19-rc6
v4.19-rc5
v4.19-rc4
v4.19-rc3
v4.19-rc2
v4.19-rc1
ck-release-21
ck-release-20
ck-release-19.2
ck-release-19.1
ck-release-19
ck-release-18
ck-release-17.2
ck-release-17.1
ck-release-17
ck-release-16
ck-release-15.1
ck-release-15
ck-release-14
ck-release-13.2
ck-release-13
ck-release-12
ck-release-11
ck-release-10
ck-release-9
ck-release-7
alk-release-15
alk-release-14
alk-release-13.2
alk-release-13
alk-release-12
alk-release-11
alk-release-10
alk-release-9
alk-release-7
无相关合并请求
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
63 addition
and
87 deletion
+63
-87
drivers/gpu/drm/nouveau/include/nvif/class.h
drivers/gpu/drm/nouveau/include/nvif/class.h
+4
-0
drivers/gpu/drm/nouveau/include/nvkm/engine/bsp.h
drivers/gpu/drm/nouveau/include/nvkm/engine/bsp.h
+1
-1
drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
+1
-1
drivers/gpu/drm/nouveau/include/nvkm/engine/xtensa.h
drivers/gpu/drm/nouveau/include/nvkm/engine/xtensa.h
+7
-6
drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c
drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c
+8
-33
drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c
drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c
+8
-33
drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
+34
-13
未找到文件。
drivers/gpu/drm/nouveau/include/nvif/class.h
浏览文件 @
c79a191b
...
...
@@ -45,6 +45,8 @@
#define GM107_DISP 0x00009470
#define GM204_DISP 0x00009570
#define NV74_VP2 0x00007476
#define NV50_DISP_CURSOR 0x0000507a
#define G82_DISP_CURSOR 0x0000827a
#define GT214_DISP_CURSOR 0x0000857a
...
...
@@ -94,6 +96,8 @@
#define MAXWELL_A 0x0000b097
#define MAXWELL_B 0x0000b197
#define NV74_BSP 0x000074b0
#define GT212_MSVLD 0x000085b1
#define IGT21A_MSVLD 0x000086b1
#define G98_MSVLD 0x000088b1
...
...
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/include/nvkm/engine/bsp.h
浏览文件 @
c79a191b
#ifndef __NVKM_BSP_H__
#define __NVKM_BSP_H__
#include <
core/engine
.h>
#include <
engine/xtensa
.h>
extern
struct
nvkm_oclass
g84_bsp_oclass
;
#endif
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
浏览文件 @
c79a191b
#ifndef __NVKM_VP_H__
#define __NVKM_VP_H__
#include <
core/engine
.h>
#include <
engine/xtensa
.h>
extern
struct
nvkm_oclass
g84_vp_oclass
;
#endif
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/include/nvkm/engine/xtensa.h
浏览文件 @
c79a191b
#ifndef __NVKM_XTENSA_H__
#define __NVKM_XTENSA_H__
#define nvkm_xtensa(p) container_of((p), struct nvkm_xtensa, engine)
#include <core/engine.h>
struct
nvkm_xtensa
{
struct
nvkm_engine
engine
;
const
struct
nvkm_xtensa_func
*
func
;
u32
addr
;
struct
nvkm_memory
*
gpu_fw
;
...
...
@@ -11,16 +13,15 @@ struct nvkm_xtensa {
u32
unkd28
;
};
struct
nvkm_xtensa_func
{
void
(
*
init
)(
struct
nvkm_xtensa
*
);
struct
nvkm_sclass
sclass
[];
};
#define nvkm_xtensa_create(p,e,c,b,d,i,f,r) \
nvkm_xtensa_create_((p), (e), (c), (b), (d), (i), (f), \
sizeof(**r),(void **)r)
int
_nvkm_xtensa_engctx_ctor
(
struct
nvkm_object
*
,
struct
nvkm_object
*
,
struct
nvkm_oclass
*
,
void
*
,
u32
,
struct
nvkm_object
**
);
void
_nvkm_xtensa_intr
(
struct
nvkm_subdev
*
);
int
nvkm_xtensa_create_
(
struct
nvkm_object
*
,
struct
nvkm_object
*
,
struct
nvkm_oclass
*
,
u32
,
bool
,
...
...
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/nvkm/engine/bsp/g84.c
浏览文件 @
c79a191b
...
...
@@ -22,41 +22,17 @@
* Authors: Ben Skeggs, Ilia Mirkin
*/
#include <engine/bsp.h>
#include <engine/xtensa.h>
#include <
core/engctx
.h>
#include <
nvif/class
.h>
/*******************************************************************************
* BSP object classes
******************************************************************************/
static
struct
nvkm_oclass
g84_bsp_sclass
[]
=
{
{
0x74b0
,
&
nvkm_object_ofuncs
},
{},
static
const
struct
nvkm_xtensa_func
g84_bsp_func
=
{
.
sclass
=
{
{
-
1
,
-
1
,
NV74_BSP
},
{}
}
};
/*******************************************************************************
* BSP context
******************************************************************************/
static
struct
nvkm_oclass
g84_bsp_cclass
=
{
.
handle
=
NV_ENGCTX
(
BSP
,
0x84
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
_nvkm_xtensa_engctx_ctor
,
.
dtor
=
_nvkm_engctx_dtor
,
.
init
=
_nvkm_engctx_init
,
.
fini
=
_nvkm_engctx_fini
,
.
rd32
=
_nvkm_engctx_rd32
,
.
wr32
=
_nvkm_engctx_wr32
,
},
};
/*******************************************************************************
* BSP engine/subdev functions
******************************************************************************/
static
int
g84_bsp_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
...
...
@@ -71,9 +47,8 @@ g84_bsp_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
if
(
ret
)
return
ret
;
bsp
->
func
=
&
g84_bsp_func
;
nv_subdev
(
bsp
)
->
unit
=
0x04008000
;
nv_engine
(
bsp
)
->
cclass
=
&
g84_bsp_cclass
;
nv_engine
(
bsp
)
->
sclass
=
g84_bsp_sclass
;
bsp
->
fifo_val
=
0x1111
;
bsp
->
unkd28
=
0x90044
;
return
0
;
...
...
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/nvkm/engine/vp/g84.c
浏览文件 @
c79a191b
...
...
@@ -22,41 +22,17 @@
* Authors: Ben Skeggs, Ilia Mirkin
*/
#include <engine/vp.h>
#include <engine/xtensa.h>
#include <
core/engctx
.h>
#include <
nvif/class
.h>
/*******************************************************************************
* VP object classes
******************************************************************************/
static
struct
nvkm_oclass
g84_vp_sclass
[]
=
{
{
0x7476
,
&
nvkm_object_ofuncs
},
{},
static
const
struct
nvkm_xtensa_func
g84_vp_func
=
{
.
sclass
=
{
{
-
1
,
-
1
,
NV74_VP2
},
{}
}
};
/*******************************************************************************
* PVP context
******************************************************************************/
static
struct
nvkm_oclass
g84_vp_cclass
=
{
.
handle
=
NV_ENGCTX
(
VP
,
0x84
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
_nvkm_xtensa_engctx_ctor
,
.
dtor
=
_nvkm_engctx_dtor
,
.
init
=
_nvkm_engctx_init
,
.
fini
=
_nvkm_engctx_fini
,
.
rd32
=
_nvkm_engctx_rd32
,
.
wr32
=
_nvkm_engctx_wr32
,
},
};
/*******************************************************************************
* PVP engine/subdev functions
******************************************************************************/
static
int
g84_vp_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
...
...
@@ -71,9 +47,8 @@ g84_vp_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
if
(
ret
)
return
ret
;
vp
->
func
=
&
g84_vp_func
;
nv_subdev
(
vp
)
->
unit
=
0x01020000
;
nv_engine
(
vp
)
->
cclass
=
&
g84_vp_cclass
;
nv_engine
(
vp
)
->
sclass
=
g84_vp_sclass
;
vp
->
fifo_val
=
0x111
;
vp
->
unkd28
=
0x9c544
;
return
0
;
...
...
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
浏览文件 @
c79a191b
...
...
@@ -20,23 +20,37 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
#include <engine/xtensa.h>
#include <engine/fifo.h>
#include <core/engctx.h>
int
_nvkm_xtensa_engctx_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
static
int
nvkm_xtensa_oclass_get
(
struct
nvkm_oclass
*
oclass
,
int
index
)
{
struct
nvkm_engctx
*
engctx
;
int
ret
;
struct
nvkm_xtensa
*
xtensa
=
nvkm_xtensa
(
oclass
->
engine
);
int
c
=
0
;
while
(
xtensa
->
func
->
sclass
[
c
].
oclass
)
{
if
(
c
++
==
index
)
{
oclass
->
base
=
xtensa
->
func
->
sclass
[
index
];
return
index
;
}
}
ret
=
nvkm_engctx_create
(
parent
,
engine
,
oclass
,
NULL
,
0x10000
,
0x1000
,
NVOBJ_FLAG_ZERO_ALLOC
,
&
engctx
);
*
pobject
=
nv_object
(
engctx
);
return
ret
;
return
c
;
}
static
int
nvkm_xtensa_cclass_bind
(
struct
nvkm_object
*
object
,
struct
nvkm_gpuobj
*
parent
,
int
align
,
struct
nvkm_gpuobj
**
pgpuobj
)
{
return
nvkm_gpuobj_new
(
object
->
engine
->
subdev
.
device
,
0x10000
,
align
,
true
,
parent
,
pgpuobj
);
}
static
const
struct
nvkm_object_func
nvkm_xtensa_cclass
=
{
.
bind
=
nvkm_xtensa_cclass_bind
,
};
void
_nvkm_xtensa_intr
(
struct
nvkm_subdev
*
subdev
)
{
...
...
@@ -58,6 +72,12 @@ _nvkm_xtensa_intr(struct nvkm_subdev *subdev)
}
}
static
const
struct
nvkm_engine_func
nvkm_xtensa
=
{
.
fifo
.
sclass
=
nvkm_xtensa_oclass_get
,
.
cclass
=
&
nvkm_xtensa_cclass
,
};
int
nvkm_xtensa_create_
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
u32
addr
,
bool
enable
,
...
...
@@ -73,7 +93,8 @@ nvkm_xtensa_create_(struct nvkm_object *parent, struct nvkm_object *engine,
if
(
ret
)
return
ret
;
nv_subdev
(
xtensa
)
->
intr
=
_nvkm_xtensa_intr
;
xtensa
->
engine
.
subdev
.
intr
=
_nvkm_xtensa_intr
;
xtensa
->
engine
.
func
=
&
nvkm_xtensa
;
xtensa
->
addr
=
addr
;
return
0
;
}
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部