#include "gf100.h"
#include <core/memory.h>
#include <subdev/gsp.h>
#include <subdev/mmu/vmm.h>
#include <engine/fifo/priv.h>
#include <nvif/if900d.h>
#include <nvhw/drf.h>
#include <nvrm/nvtypes.h>
#include <nvrm/535.113.01/common/sdk/nvidia/inc/alloc/alloc_channel.h>
#include <nvrm/535.113.01/common/sdk/nvidia/inc/ctrl/ctrl0080/ctrl0080fifo.h>
#include <nvrm/535.113.01/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080gpu.h>
#include <nvrm/535.113.01/common/sdk/nvidia/inc/ctrl/ctrl2080/ctrl2080internal.h>
#include <nvrm/535.113.01/nvidia/generated/g_kernel_channel_nvoc.h>
#define r535_gr(p) …
#define R515_GR_MAX_CTXBUFS …
struct r535_gr { … };
struct r535_gr_chan { … };
struct r535_gr_obj { … };
static void *
r535_gr_obj_dtor(struct nvkm_object *object)
{ … }
static const struct nvkm_object_func
r535_gr_obj = …;
static int
r535_gr_obj_ctor(const struct nvkm_oclass *oclass, void *argv, u32 argc,
struct nvkm_object **pobject)
{ … }
static void *
r535_gr_chan_dtor(struct nvkm_object *object)
{ … }
static const struct nvkm_object_func
r535_gr_chan = …;
static int
r535_gr_promote_ctx(struct r535_gr *gr, bool golden, struct nvkm_vmm *vmm,
struct nvkm_memory **pmem, struct nvkm_vma **pvma,
struct nvkm_gsp_object *chan)
{ … }
static int
r535_gr_chan_new(struct nvkm_gr *base, struct nvkm_chan *chan, const struct nvkm_oclass *oclass,
struct nvkm_object **pobject)
{ … }
static u64
r535_gr_units(struct nvkm_gr *gr)
{ … }
static int
r535_gr_oneinit(struct nvkm_gr *base)
{ … }
static void *
r535_gr_dtor(struct nvkm_gr *base)
{ … }
int
r535_gr_new(const struct gf100_gr_func *hw,
struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_gr **pgr)
{ … }