#include <engine/msvld.h>
#include <engine/falcon.h>
-struct g98_msvld_priv {
- struct nvkm_falcon base;
-};
-
/*******************************************************************************
* MSVLD object classes
******************************************************************************/
static int
g98_msvld_init(struct nvkm_object *object)
{
- struct g98_msvld_priv *priv = (void *)object;
+ struct nvkm_falcon *msvld = (void *)object;
+ struct nvkm_device *device = msvld->engine.subdev.device;
int ret;
- ret = nvkm_falcon_init(&priv->base);
+ ret = nvkm_falcon_init(msvld);
if (ret)
return ret;
- nv_wr32(priv, 0x084010, 0x0000ffd2);
- nv_wr32(priv, 0x08401c, 0x0000fff2);
+ nvkm_wr32(device, 0x084010, 0x0000ffd2);
+ nvkm_wr32(device, 0x08401c, 0x0000fff2);
return 0;
}
+static const struct nvkm_falcon_func
+g98_msvld_func = {
+};
+
static int
g98_msvld_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nvkm_oclass *oclass, void *data, u32 size,
struct nvkm_object **pobject)
{
- struct g98_msvld_priv *priv;
+ struct nvkm_falcon *msvld;
int ret;
- ret = nvkm_falcon_create(parent, engine, oclass, 0x084000, true,
- "PMSVLD", "msvld", &priv);
- *pobject = nv_object(priv);
+ ret = nvkm_falcon_create(&g98_msvld_func, parent, engine, oclass,
+ 0x084000, true, "PMSVLD", "msvld", &msvld);
+ *pobject = nv_object(msvld);
if (ret)
return ret;
- nv_subdev(priv)->unit = 0x04008000;
- nv_engine(priv)->cclass = &g98_msvld_cclass;
- nv_engine(priv)->sclass = g98_msvld_sclass;
+ nv_subdev(msvld)->unit = 0x04008000;
+ nv_engine(msvld)->cclass = &g98_msvld_cclass;
+ nv_engine(msvld)->sclass = g98_msvld_sclass;
return 0;
}
.dtor = _nvkm_falcon_dtor,
.init = g98_msvld_init,
.fini = _nvkm_falcon_fini,
- .rd32 = _nvkm_falcon_rd32,
- .wr32 = _nvkm_falcon_wr32,
},
};