nvkm_sw_chan
struct nvkm_sw_chan *chan;
struct nvkm_sw_chan *chan = nvkm_sw_chan(oclass->parent);
nvkm_sw_chan_mthd(struct nvkm_sw_chan *chan, int subc, u32 mthd, u32 data)
struct nvkm_sw_chan *chan = nvkm_sw_chan(object);
nvkm_sw_chan = {
struct nvkm_sw_chan *chan)
nvkm_object_ctor(&nvkm_sw_chan, oclass, &chan->object);
void *(*dtor)(struct nvkm_sw_chan *);
bool (*mthd)(struct nvkm_sw_chan *, int subc, u32 mthd, u32 data);
struct nvkm_sw_chan *);
bool nvkm_sw_chan_mthd(struct nvkm_sw_chan *, int subc, u32 mthd, u32 data);
#define nvkm_sw_chan(p) container_of((p), struct nvkm_sw_chan, object)
gf100_sw_chan_mthd(struct nvkm_sw_chan *base, int subc, u32 mthd, u32 data)
struct nvkm_sw_chan base;
nv04_nvsw_new(struct nvkm_sw_chan *chan, const struct nvkm_oclass *oclass,
nv04_sw_chan_mthd(struct nvkm_sw_chan *base, int subc, u32 mthd, u32 data)
struct nvkm_sw_chan *chan;
nv50_sw_chan_mthd(struct nvkm_sw_chan *base, int subc, u32 mthd, u32 data)
nv50_sw_chan_dtor(struct nvkm_sw_chan *base)
struct nvkm_sw_chan base;
void *nv50_sw_chan_dtor(struct nvkm_sw_chan *);
nvkm_nvsw_new_(const struct nvkm_nvsw_func *func, struct nvkm_sw_chan *chan,
nvkm_nvsw_new(struct nvkm_sw_chan *chan, const struct nvkm_oclass *oclass,
struct nvkm_sw_chan *chan;
int nvkm_nvsw_new_(const struct nvkm_nvsw_func *, struct nvkm_sw_chan *,
int nvkm_nvsw_new(struct nvkm_sw_chan *, const struct nvkm_oclass *,
int (*ctor)(struct nvkm_sw_chan *, const struct nvkm_oclass *,
struct nvkm_sw_chan;