|
@@ -24,14 +24,6 @@
|
|
#include <engine/sw.h>
|
|
#include <engine/sw.h>
|
|
#include <engine/fifo.h>
|
|
#include <engine/fifo.h>
|
|
|
|
|
|
-struct nv04_sw_priv {
|
|
|
|
- struct nvkm_sw base;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-struct nv04_sw_chan {
|
|
|
|
- struct nvkm_sw_chan base;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
/*******************************************************************************
|
|
/*******************************************************************************
|
|
* software object classes
|
|
* software object classes
|
|
******************************************************************************/
|
|
******************************************************************************/
|
|
@@ -48,9 +40,9 @@ nv04_sw_set_ref(struct nvkm_object *object, u32 mthd, void *data, u32 size)
|
|
static int
|
|
static int
|
|
nv04_sw_flip(struct nvkm_object *object, u32 mthd, void *args, u32 size)
|
|
nv04_sw_flip(struct nvkm_object *object, u32 mthd, void *args, u32 size)
|
|
{
|
|
{
|
|
- struct nv04_sw_chan *chan = (void *)nv_engctx(object->parent);
|
|
|
|
- if (chan->base.flip)
|
|
|
|
- return chan->base.flip(chan->base.flip_data);
|
|
|
|
|
|
+ struct nvkm_sw_chan *chan = (void *)nv_engctx(object->parent);
|
|
|
|
+ if (chan->flip)
|
|
|
|
+ return chan->flip(chan->flip_data);
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -76,7 +68,7 @@ nv04_sw_context_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
|
|
struct nvkm_oclass *oclass, void *data, u32 size,
|
|
struct nvkm_oclass *oclass, void *data, u32 size,
|
|
struct nvkm_object **pobject)
|
|
struct nvkm_object **pobject)
|
|
{
|
|
{
|
|
- struct nv04_sw_chan *chan;
|
|
|
|
|
|
+ struct nvkm_sw_chan *chan;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
ret = nvkm_sw_context_create(parent, engine, oclass, &chan);
|
|
ret = nvkm_sw_context_create(parent, engine, oclass, &chan);
|
|
@@ -113,17 +105,17 @@ nv04_sw_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
|
|
struct nvkm_oclass *oclass, void *data, u32 size,
|
|
struct nvkm_oclass *oclass, void *data, u32 size,
|
|
struct nvkm_object **pobject)
|
|
struct nvkm_object **pobject)
|
|
{
|
|
{
|
|
- struct nv04_sw_priv *priv;
|
|
|
|
|
|
+ struct nvkm_sw *sw;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- ret = nvkm_sw_create(parent, engine, oclass, &priv);
|
|
|
|
- *pobject = nv_object(priv);
|
|
|
|
|
|
+ ret = nvkm_sw_create(parent, engine, oclass, &sw);
|
|
|
|
+ *pobject = nv_object(sw);
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
- nv_engine(priv)->cclass = &nv04_sw_cclass;
|
|
|
|
- nv_engine(priv)->sclass = nv04_sw_sclass;
|
|
|
|
- nv_subdev(priv)->intr = nv04_sw_intr;
|
|
|
|
|
|
+ nv_engine(sw)->cclass = &nv04_sw_cclass;
|
|
|
|
+ nv_engine(sw)->sclass = nv04_sw_sclass;
|
|
|
|
+ nv_subdev(sw)->intr = nv04_sw_intr;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|