#include "chan.h"
#include "chid.h"
#include "cgrp.h"
#include "runl.h"
#include "priv.h"
#include <core/ramht.h>
#include <subdev/mmu.h>
#include <engine/dma.h>
#include <nvif/if0020.h>
const struct nvkm_event_func
nvkm_chan_event = …;
void
nvkm_chan_cctx_bind(struct nvkm_chan *chan, struct nvkm_engn *engn, struct nvkm_cctx *cctx)
{ … }
void
nvkm_chan_cctx_put(struct nvkm_chan *chan, struct nvkm_cctx **pcctx)
{ … }
int
nvkm_chan_cctx_get(struct nvkm_chan *chan, struct nvkm_engn *engn, struct nvkm_cctx **pcctx,
struct nvkm_client *client)
{ … }
int
nvkm_chan_preempt_locked(struct nvkm_chan *chan, bool wait)
{ … }
int
nvkm_chan_preempt(struct nvkm_chan *chan, bool wait)
{ … }
void
nvkm_chan_remove_locked(struct nvkm_chan *chan)
{ … }
void
nvkm_chan_remove(struct nvkm_chan *chan, bool preempt)
{ … }
void
nvkm_chan_insert(struct nvkm_chan *chan)
{ … }
static void
nvkm_chan_block_locked(struct nvkm_chan *chan)
{ … }
void
nvkm_chan_error(struct nvkm_chan *chan, bool preempt)
{ … }
void
nvkm_chan_block(struct nvkm_chan *chan)
{ … }
void
nvkm_chan_allow(struct nvkm_chan *chan)
{ … }
void
nvkm_chan_del(struct nvkm_chan **pchan)
{ … }
void
nvkm_chan_put(struct nvkm_chan **pchan, unsigned long irqflags)
{ … }
struct nvkm_chan *
nvkm_chan_get_inst(struct nvkm_engine *engine, u64 inst, unsigned long *pirqflags)
{ … }
struct nvkm_chan *
nvkm_chan_get_chid(struct nvkm_engine *engine, int id, unsigned long *pirqflags)
{ … }
int
nvkm_chan_new_(const struct nvkm_chan_func *func, struct nvkm_runl *runl, int runq,
struct nvkm_cgrp *cgrp, const char *name, bool priv, u32 devm, struct nvkm_vmm *vmm,
struct nvkm_dmaobj *dmaobj, u64 offset, u64 length,
struct nvkm_memory *userd, u64 ouserd, struct nvkm_chan **pchan)
{ … }