#include "priv.h"
#include "cgrp.h"
#include "chan.h"
#include "chid.h"
#include "runl.h"
#include "runq.h"
#include <core/gpuobj.h>
#include <subdev/gsp.h>
#include <subdev/top.h>
#include <subdev/vfn.h>
#include <nvif/class.h>
static u32
ga100_chan_doorbell_handle(struct nvkm_chan *chan)
{ … }
static void
ga100_chan_stop(struct nvkm_chan *chan)
{ … }
static void
ga100_chan_start(struct nvkm_chan *chan)
{ … }
static void
ga100_chan_unbind(struct nvkm_chan *chan)
{ … }
static int
ga100_chan_ramfc_write(struct nvkm_chan *chan, u64 offset, u64 length, u32 devm, bool priv)
{ … }
static const struct nvkm_chan_func_ramfc
ga100_chan_ramfc = …;
const struct nvkm_chan_func
ga100_chan = …;
static void
ga100_cgrp_preempt(struct nvkm_cgrp *cgrp)
{ … }
const struct nvkm_cgrp_func
ga100_cgrp = …;
static int
ga100_engn_cxid(struct nvkm_engn *engn, bool *cgid)
{ … }
static int
ga100_engn_nonstall(struct nvkm_engn *engn)
{ … }
const struct nvkm_engn_func
ga100_engn = …;
const struct nvkm_engn_func
ga100_engn_ce = …;
static bool
ga100_runq_idle(struct nvkm_runq *runq)
{ … }
static bool
ga100_runq_intr_1(struct nvkm_runq *runq, struct nvkm_runl *runl)
{ … }
static bool
ga100_runq_intr_0(struct nvkm_runq *runq, struct nvkm_runl *runl)
{ … }
static bool
ga100_runq_intr(struct nvkm_runq *runq, struct nvkm_runl *runl)
{ … }
static void
ga100_runq_init(struct nvkm_runq *runq)
{ … }
const struct nvkm_runq_func
ga100_runq = …;
static bool
ga100_runl_preempt_pending(struct nvkm_runl *runl)
{ … }
static void
ga100_runl_preempt(struct nvkm_runl *runl)
{ … }
static void
ga100_runl_allow(struct nvkm_runl *runl, u32 engm)
{ … }
static void
ga100_runl_block(struct nvkm_runl *runl, u32 engm)
{ … }
static bool
ga100_runl_pending(struct nvkm_runl *runl)
{ … }
static void
ga100_runl_commit(struct nvkm_runl *runl, struct nvkm_memory *memory, u32 start, int count)
{ … }
static irqreturn_t
ga100_runl_intr(struct nvkm_inth *inth)
{ … }
static void
ga100_runl_fini(struct nvkm_runl *runl)
{ … }
static void
ga100_runl_init(struct nvkm_runl *runl)
{ … }
const struct nvkm_runl_func
ga100_runl = …;
static int
ga100_runl_new(struct nvkm_fifo *fifo, int id, u32 addr, struct nvkm_runl **prunl)
{ … }
static irqreturn_t
ga100_fifo_nonstall_intr(struct nvkm_inth *inth)
{ … }
static void
ga100_fifo_nonstall_block(struct nvkm_event *event, int type, int index)
{ … }
static void
ga100_fifo_nonstall_allow(struct nvkm_event *event, int type, int index)
{ … }
const struct nvkm_event_func
ga100_fifo_nonstall = …;
int
ga100_fifo_nonstall_ctor(struct nvkm_fifo *fifo)
{ … }
int
ga100_fifo_runl_ctor(struct nvkm_fifo *fifo)
{ … }
static const struct nvkm_fifo_func
ga100_fifo = …;
int
ga100_fifo_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst,
struct nvkm_fifo **pfifo)
{ … }