Commit 3cb0ebdd authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/copy: remove nouveau_copy base class

nva3/nvc0 are using falcon, nve0 is now using engine directly.
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 586ae46d
...@@ -30,11 +30,11 @@ ...@@ -30,11 +30,11 @@
#include <engine/copy.h> #include <engine/copy.h>
struct nve0_copy_priv { struct nve0_copy_priv {
struct nouveau_copy base; struct nouveau_engine base;
}; };
struct nve0_copy_chan { struct nve0_copy_chan {
struct nouveau_copy_chan base; struct nouveau_engctx base;
}; };
/******************************************************************************* /*******************************************************************************
...@@ -60,7 +60,7 @@ nve0_copy_context_ctor(struct nouveau_object *parent, ...@@ -60,7 +60,7 @@ nve0_copy_context_ctor(struct nouveau_object *parent,
struct nve0_copy_chan *priv; struct nve0_copy_chan *priv;
int ret; int ret;
ret = nouveau_copy_context_create(parent, engine, oclass, NULL, 256, ret = nouveau_engctx_create(parent, engine, oclass, NULL, 256,
256, NVOBJ_FLAG_ZERO_ALLOC, &priv); 256, NVOBJ_FLAG_ZERO_ALLOC, &priv);
*pobject = nv_object(priv); *pobject = nv_object(priv);
if (ret) if (ret)
...@@ -72,11 +72,11 @@ nve0_copy_context_ctor(struct nouveau_object *parent, ...@@ -72,11 +72,11 @@ nve0_copy_context_ctor(struct nouveau_object *parent,
static struct nouveau_ofuncs static struct nouveau_ofuncs
nve0_copy_context_ofuncs = { nve0_copy_context_ofuncs = {
.ctor = nve0_copy_context_ctor, .ctor = nve0_copy_context_ctor,
.dtor = _nouveau_copy_context_dtor, .dtor = _nouveau_engctx_dtor,
.init = _nouveau_copy_context_init, .init = _nouveau_engctx_init,
.fini = _nouveau_copy_context_fini, .fini = _nouveau_engctx_fini,
.rd32 = _nouveau_copy_context_rd32, .rd32 = _nouveau_engctx_rd32,
.wr32 = _nouveau_copy_context_wr32, .wr32 = _nouveau_engctx_wr32,
}; };
static struct nouveau_oclass static struct nouveau_oclass
...@@ -100,7 +100,8 @@ nve0_copy0_ctor(struct nouveau_object *parent, struct nouveau_object *engine, ...@@ -100,7 +100,8 @@ nve0_copy0_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
if (nv_rd32(parent, 0x022500) & 0x00000100) if (nv_rd32(parent, 0x022500) & 0x00000100)
return -ENODEV; return -ENODEV;
ret = nouveau_copy_create(parent, engine, oclass, true, 0, &priv); ret = nouveau_engine_create(parent, engine, oclass, true,
"PCE0", "copy0", &priv);
*pobject = nv_object(priv); *pobject = nv_object(priv);
if (ret) if (ret)
return ret; return ret;
...@@ -122,7 +123,8 @@ nve0_copy1_ctor(struct nouveau_object *parent, struct nouveau_object *engine, ...@@ -122,7 +123,8 @@ nve0_copy1_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
if (nv_rd32(parent, 0x022500) & 0x00000200) if (nv_rd32(parent, 0x022500) & 0x00000200)
return -ENODEV; return -ENODEV;
ret = nouveau_copy_create(parent, engine, oclass, true, 1, &priv); ret = nouveau_engine_create(parent, engine, oclass, true,
"PCE1", "copy1", &priv);
*pobject = nv_object(priv); *pobject = nv_object(priv);
if (ret) if (ret)
return ret; return ret;
...@@ -138,9 +140,9 @@ nve0_copy0_oclass = { ...@@ -138,9 +140,9 @@ nve0_copy0_oclass = {
.handle = NV_ENGINE(COPY0, 0xe0), .handle = NV_ENGINE(COPY0, 0xe0),
.ofuncs = &(struct nouveau_ofuncs) { .ofuncs = &(struct nouveau_ofuncs) {
.ctor = nve0_copy0_ctor, .ctor = nve0_copy0_ctor,
.dtor = _nouveau_copy_dtor, .dtor = _nouveau_engine_dtor,
.init = _nouveau_copy_init, .init = _nouveau_engine_init,
.fini = _nouveau_copy_fini, .fini = _nouveau_engine_fini,
}, },
}; };
...@@ -149,8 +151,8 @@ nve0_copy1_oclass = { ...@@ -149,8 +151,8 @@ nve0_copy1_oclass = {
.handle = NV_ENGINE(COPY1, 0xe0), .handle = NV_ENGINE(COPY1, 0xe0),
.ofuncs = &(struct nouveau_ofuncs) { .ofuncs = &(struct nouveau_ofuncs) {
.ctor = nve0_copy1_ctor, .ctor = nve0_copy1_ctor,
.dtor = _nouveau_copy_dtor, .dtor = _nouveau_engine_dtor,
.init = _nouveau_copy_init, .init = _nouveau_engine_init,
.fini = _nouveau_copy_fini, .fini = _nouveau_engine_fini,
}, },
}; };
#ifndef __NOUVEAU_COPY_H__ #ifndef __NOUVEAU_COPY_H__
#define __NOUVEAU_COPY_H__ #define __NOUVEAU_COPY_H__
#include <core/engine.h>
#include <core/engctx.h>
struct nouveau_copy_chan {
struct nouveau_engctx base;
};
#define nouveau_copy_context_create(p,e,c,g,s,a,f,d) \
nouveau_engctx_create((p), (e), (c), (g), (s), (a), (f), (d))
#define nouveau_copy_context_destroy(d) \
nouveau_engctx_destroy(&(d)->base)
#define nouveau_copy_context_init(d) \
nouveau_engctx_init(&(d)->base)
#define nouveau_copy_context_fini(d,s) \
nouveau_engctx_fini(&(d)->base, (s))
#define _nouveau_copy_context_dtor _nouveau_engctx_dtor
#define _nouveau_copy_context_init _nouveau_engctx_init
#define _nouveau_copy_context_fini _nouveau_engctx_fini
#define _nouveau_copy_context_rd32 _nouveau_engctx_rd32
#define _nouveau_copy_context_wr32 _nouveau_engctx_wr32
struct nouveau_copy {
struct nouveau_engine base;
};
#define nouveau_copy_create(p,e,c,y,i,d) \
nouveau_engine_create((p), (e), (c), (y), "PCE"#i, "copy"#i, (d))
#define nouveau_copy_destroy(d) \
nouveau_engine_destroy(&(d)->base)
#define nouveau_copy_init(d) \
nouveau_engine_init(&(d)->base)
#define nouveau_copy_fini(d,s) \
nouveau_engine_fini(&(d)->base, (s))
#define _nouveau_copy_dtor _nouveau_engine_dtor
#define _nouveau_copy_init _nouveau_engine_init
#define _nouveau_copy_fini _nouveau_engine_fini
extern struct nouveau_oclass nva3_copy_oclass; extern struct nouveau_oclass nva3_copy_oclass;
extern struct nouveau_oclass nvc0_copy0_oclass; extern struct nouveau_oclass nvc0_copy0_oclass;
extern struct nouveau_oclass nvc0_copy1_oclass; extern struct nouveau_oclass nvc0_copy1_oclass;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment