#include "runl.h"
#include "cgrp.h"
#include "chan.h"
#include "chid.h"
#include "priv.h"
#include "runq.h"
#include <core/gpuobj.h>
#include <subdev/timer.h>
#include <subdev/top.h>
static struct nvkm_cgrp *
nvkm_engn_cgrp_get(struct nvkm_engn *engn, unsigned long *pirqflags)
{ … }
static void
nvkm_runl_rc(struct nvkm_runl *runl)
{ … }
static void
nvkm_runl_rc_runl(struct nvkm_runl *runl)
{ … }
void
nvkm_runl_rc_cgrp(struct nvkm_cgrp *cgrp)
{ … }
void
nvkm_runl_rc_engn(struct nvkm_runl *runl, struct nvkm_engn *engn)
{ … }
static void
nvkm_runl_work(struct work_struct *work)
{ … }
struct nvkm_chan *
nvkm_runl_chan_get_inst(struct nvkm_runl *runl, u64 inst, unsigned long *pirqflags)
{ … }
struct nvkm_chan *
nvkm_runl_chan_get_chid(struct nvkm_runl *runl, int id, unsigned long *pirqflags)
{ … }
struct nvkm_cgrp *
nvkm_runl_cgrp_get_cgid(struct nvkm_runl *runl, int id, unsigned long *pirqflags)
{ … }
int
nvkm_runl_preempt_wait(struct nvkm_runl *runl)
{ … }
bool
nvkm_runl_update_pending(struct nvkm_runl *runl)
{ … }
void
nvkm_runl_update_locked(struct nvkm_runl *runl, bool wait)
{ … }
void
nvkm_runl_allow(struct nvkm_runl *runl)
{ … }
void
nvkm_runl_block(struct nvkm_runl *runl)
{ … }
void
nvkm_runl_fini(struct nvkm_runl *runl)
{ … }
void
nvkm_runl_del(struct nvkm_runl *runl)
{ … }
struct nvkm_engn *
nvkm_runl_add(struct nvkm_runl *runl, int engi, const struct nvkm_engn_func *func,
enum nvkm_subdev_type type, int inst)
{ … }
struct nvkm_runl *
nvkm_runl_get(struct nvkm_fifo *fifo, int runi, u32 addr)
{ … }
struct nvkm_runl *
nvkm_runl_new(struct nvkm_fifo *fifo, int runi, u32 addr, int id_nr)
{ … }