Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
3532c370
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3532c370
编写于
12月 05, 2014
作者:
B
Ben Skeggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
drm/nouveau/instmem: instobjs may not have an engine
Signed-off-by:
N
Ben Skeggs
<
bskeggs@redhat.com
>
上级
490d595f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
11 deletion
+12
-11
drivers/gpu/drm/nouveau/core/subdev/instmem/base.c
drivers/gpu/drm/nouveau/core/subdev/instmem/base.c
+4
-5
drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c
+6
-4
drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c
drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c
+2
-2
未找到文件。
drivers/gpu/drm/nouveau/core/subdev/instmem/base.c
浏览文件 @
3532c370
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
void
void
_nouveau_instobj_dtor
(
struct
nouveau_object
*
object
)
_nouveau_instobj_dtor
(
struct
nouveau_object
*
object
)
{
{
struct
nouveau_instmem
*
imem
=
(
void
*
)
object
->
engine
;
struct
nouveau_instmem
*
imem
=
nouveau_instmem
(
object
)
;
struct
nouveau_instobj
*
iobj
=
(
void
*
)
object
;
struct
nouveau_instobj
*
iobj
=
(
void
*
)
object
;
mutex_lock
(
&
nv_subdev
(
imem
)
->
mutex
);
mutex_lock
(
&
nv_subdev
(
imem
)
->
mutex
);
...
@@ -47,7 +47,7 @@ nouveau_instobj_create_(struct nouveau_object *parent,
...
@@ -47,7 +47,7 @@ nouveau_instobj_create_(struct nouveau_object *parent,
struct
nouveau_oclass
*
oclass
,
struct
nouveau_oclass
*
oclass
,
int
length
,
void
**
pobject
)
int
length
,
void
**
pobject
)
{
{
struct
nouveau_instmem
*
imem
=
(
void
*
)
engine
;
struct
nouveau_instmem
*
imem
=
nouveau_instmem
(
parent
)
;
struct
nouveau_instobj
*
iobj
;
struct
nouveau_instobj
*
iobj
;
int
ret
;
int
ret
;
...
@@ -72,10 +72,9 @@ nouveau_instmem_alloc(struct nouveau_instmem *imem,
...
@@ -72,10 +72,9 @@ nouveau_instmem_alloc(struct nouveau_instmem *imem,
struct
nouveau_object
*
parent
,
u32
size
,
u32
align
,
struct
nouveau_object
*
parent
,
u32
size
,
u32
align
,
struct
nouveau_object
**
pobject
)
struct
nouveau_object
**
pobject
)
{
{
struct
nouveau_object
*
engine
=
nv_object
(
imem
);
struct
nouveau_instmem_impl
*
impl
=
(
void
*
)
imem
->
base
.
object
.
oclass
;
struct
nouveau_instmem_impl
*
impl
=
(
void
*
)
engine
->
oclass
;
struct
nouveau_instobj_args
args
=
{
.
size
=
size
,
.
align
=
align
};
struct
nouveau_instobj_args
args
=
{
.
size
=
size
,
.
align
=
align
};
return
nouveau_object_ctor
(
parent
,
engine
,
impl
->
instobj
,
&
args
,
return
nouveau_object_ctor
(
parent
,
parent
->
engine
,
impl
->
instobj
,
&
args
,
sizeof
(
args
),
pobject
);
sizeof
(
args
),
pobject
);
}
}
...
...
drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c
浏览文件 @
3532c370
...
@@ -31,21 +31,23 @@
...
@@ -31,21 +31,23 @@
static
u32
static
u32
nv04_instobj_rd32
(
struct
nouveau_object
*
object
,
u64
addr
)
nv04_instobj_rd32
(
struct
nouveau_object
*
object
,
u64
addr
)
{
{
struct
nv04_instmem_priv
*
priv
=
(
void
*
)
nouveau_instmem
(
object
);
struct
nv04_instobj_priv
*
node
=
(
void
*
)
object
;
struct
nv04_instobj_priv
*
node
=
(
void
*
)
object
;
return
nv_ro32
(
object
->
engine
,
node
->
mem
->
offset
+
addr
);
return
nv_ro32
(
priv
,
node
->
mem
->
offset
+
addr
);
}
}
static
void
static
void
nv04_instobj_wr32
(
struct
nouveau_object
*
object
,
u64
addr
,
u32
data
)
nv04_instobj_wr32
(
struct
nouveau_object
*
object
,
u64
addr
,
u32
data
)
{
{
struct
nv04_instmem_priv
*
priv
=
(
void
*
)
nouveau_instmem
(
object
);
struct
nv04_instobj_priv
*
node
=
(
void
*
)
object
;
struct
nv04_instobj_priv
*
node
=
(
void
*
)
object
;
nv_wo32
(
object
->
engine
,
node
->
mem
->
offset
+
addr
,
data
);
nv_wo32
(
priv
,
node
->
mem
->
offset
+
addr
,
data
);
}
}
static
void
static
void
nv04_instobj_dtor
(
struct
nouveau_object
*
object
)
nv04_instobj_dtor
(
struct
nouveau_object
*
object
)
{
{
struct
nv04_instmem_priv
*
priv
=
(
void
*
)
object
->
engine
;
struct
nv04_instmem_priv
*
priv
=
(
void
*
)
nouveau_instmem
(
object
)
;
struct
nv04_instobj_priv
*
node
=
(
void
*
)
object
;
struct
nv04_instobj_priv
*
node
=
(
void
*
)
object
;
nouveau_mm_free
(
&
priv
->
heap
,
&
node
->
mem
);
nouveau_mm_free
(
&
priv
->
heap
,
&
node
->
mem
);
nouveau_instobj_destroy
(
&
node
->
base
);
nouveau_instobj_destroy
(
&
node
->
base
);
...
@@ -56,7 +58,7 @@ nv04_instobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
...
@@ -56,7 +58,7 @@ nv04_instobj_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
nv04_instmem_priv
*
priv
=
(
void
*
)
engine
;
struct
nv04_instmem_priv
*
priv
=
(
void
*
)
nouveau_instmem
(
parent
)
;
struct
nv04_instobj_priv
*
node
;
struct
nv04_instobj_priv
*
node
;
struct
nouveau_instobj_args
*
args
=
data
;
struct
nouveau_instobj_args
*
args
=
data
;
int
ret
;
int
ret
;
...
...
drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c
浏览文件 @
3532c370
...
@@ -45,7 +45,7 @@ struct nv50_instobj_priv {
...
@@ -45,7 +45,7 @@ struct nv50_instobj_priv {
static
u32
static
u32
nv50_instobj_rd32
(
struct
nouveau_object
*
object
,
u64
offset
)
nv50_instobj_rd32
(
struct
nouveau_object
*
object
,
u64
offset
)
{
{
struct
nv50_instmem_priv
*
priv
=
(
void
*
)
object
->
engine
;
struct
nv50_instmem_priv
*
priv
=
(
void
*
)
nouveau_instmem
(
object
)
;
struct
nv50_instobj_priv
*
node
=
(
void
*
)
object
;
struct
nv50_instobj_priv
*
node
=
(
void
*
)
object
;
unsigned
long
flags
;
unsigned
long
flags
;
u64
base
=
(
node
->
mem
->
offset
+
offset
)
&
0xffffff00000ULL
;
u64
base
=
(
node
->
mem
->
offset
+
offset
)
&
0xffffff00000ULL
;
...
@@ -65,7 +65,7 @@ nv50_instobj_rd32(struct nouveau_object *object, u64 offset)
...
@@ -65,7 +65,7 @@ nv50_instobj_rd32(struct nouveau_object *object, u64 offset)
static
void
static
void
nv50_instobj_wr32
(
struct
nouveau_object
*
object
,
u64
offset
,
u32
data
)
nv50_instobj_wr32
(
struct
nouveau_object
*
object
,
u64
offset
,
u32
data
)
{
{
struct
nv50_instmem_priv
*
priv
=
(
void
*
)
object
->
engine
;
struct
nv50_instmem_priv
*
priv
=
(
void
*
)
nouveau_instmem
(
object
)
;
struct
nv50_instobj_priv
*
node
=
(
void
*
)
object
;
struct
nv50_instobj_priv
*
node
=
(
void
*
)
object
;
unsigned
long
flags
;
unsigned
long
flags
;
u64
base
=
(
node
->
mem
->
offset
+
offset
)
&
0xffffff00000ULL
;
u64
base
=
(
node
->
mem
->
offset
+
offset
)
&
0xffffff00000ULL
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录