nvkm_instmem
NVKM_LAYOUT_ONCE(NVKM_SUBDEV_INSTMEM , struct nvkm_instmem , imem)
u32 nvkm_instmem_rd32(struct nvkm_instmem *, u32 addr);
void nvkm_instmem_wr32(struct nvkm_instmem *, u32 addr, u32 data);
int nvkm_instobj_new(struct nvkm_instmem *, u32 size, u32 align, bool zero, bool preserve,
int nv04_instmem_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_instmem **);
int nv40_instmem_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_instmem **);
int nv50_instmem_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_instmem **);
int gk20a_instmem_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_instmem **);
int gh100_instmem_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_instmem **);
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = fifo->engine.subdev.device->imem;
struct nvkm_instmem *imem = fifo->engine.subdev.device->imem;
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = fifo->engine.subdev.device->imem;
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = device->imem;
r535_instmem_dtor(struct nvkm_instmem *imem)
struct nvkm_instmem **pinstmem)
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem *imem = device->imem;
nvkm_instobj_new(struct nvkm_instmem *imem, u32 size, u32 align, bool zero, bool preserve,
nvkm_instmem_rd32(struct nvkm_instmem *imem, u32 addr)
nvkm_instmem_wr32(struct nvkm_instmem *imem, u32 addr, u32 data)
nvkm_instmem_boot(struct nvkm_instmem *imem)
struct nvkm_instmem *imem = nvkm_instmem(subdev);
struct nvkm_instmem *imem = nvkm_instmem(subdev);
struct nvkm_instmem *imem = nvkm_instmem(subdev);
struct nvkm_instmem *imem = nvkm_instmem(subdev);
nvkm_instmem = {
enum nvkm_subdev_type type, int inst, struct nvkm_instmem *imem)
nvkm_subdev_ctor(&nvkm_instmem, device, type, inst, &imem->subdev);
nvkm_instobj_dtor(struct nvkm_instmem *imem, struct nvkm_instobj *iobj)
struct nvkm_instmem *imem, struct nvkm_instobj *iobj)
struct nvkm_instmem *imem = device->imem;
struct nvkm_instmem **pimem)
gk20a_instobj_new(struct nvkm_instmem *base, u32 size, u32 align, bool zero,
gk20a_instmem_dtor(struct nvkm_instmem *base)
struct nvkm_instmem **pimem)
struct nvkm_instmem base;
nv04_instobj_new(struct nvkm_instmem *base, u32 size, u32 align, bool zero,
nv04_instmem_rd32(struct nvkm_instmem *imem, u32 addr)
nv04_instmem_wr32(struct nvkm_instmem *imem, u32 addr, u32 data)
nv04_instmem_resume(struct nvkm_instmem *imem)
nv04_instmem_suspend(struct nvkm_instmem *imem)
nv04_instmem_oneinit(struct nvkm_instmem *base)
nv04_instmem_dtor(struct nvkm_instmem *base)
struct nvkm_instmem **pimem)
struct nvkm_instmem base;
nv40_instobj_new(struct nvkm_instmem *base, u32 size, u32 align, bool zero,
nv40_instmem_rd32(struct nvkm_instmem *base, u32 addr)
nv40_instmem_wr32(struct nvkm_instmem *base, u32 addr, u32 data)
nv40_instmem_oneinit(struct nvkm_instmem *base)
nv40_instmem_dtor(struct nvkm_instmem *base)
struct nvkm_instmem **pimem)
struct nvkm_instmem base;
struct nvkm_instmem *imem = &iobj->imem->base;
struct nvkm_instmem *imem = &iobj->imem->base;
struct nvkm_instmem *imem = &iobj->imem->base;
struct nvkm_instmem base;
nv50_instobj_wrap(struct nvkm_instmem *base,
nv50_instobj_new(struct nvkm_instmem *imem, u32 size, u32 align, bool zero,
nv50_instmem_fini(struct nvkm_instmem *base)
nv50_instmem_dtor(struct nvkm_instmem *base)
struct nvkm_instmem **pimem)
struct nvkm_instmem **pimem)
int (*suspend)(struct nvkm_instmem *);
void (*resume)(struct nvkm_instmem *);
void (*fini)(struct nvkm_instmem *);
u32 (*rd32)(struct nvkm_instmem *, u32 addr);
void (*wr32)(struct nvkm_instmem *, u32 addr, u32 data);
int (*memory_new)(struct nvkm_instmem *, u32 size, u32 align,
int (*memory_wrap)(struct nvkm_instmem *, struct nvkm_memory *, struct nvkm_memory **);
enum nvkm_subdev_type, int, struct nvkm_instmem **);
void nv50_instmem_fini(struct nvkm_instmem *);
int nv50_instobj_new(struct nvkm_instmem *, u32 size, u32 align, bool zero,
int nv50_instobj_wrap(struct nvkm_instmem *, struct nvkm_memory *vram,
enum nvkm_subdev_type, int, struct nvkm_instmem *);
void nvkm_instmem_boot(struct nvkm_instmem *);
int nv04_instmem_suspend(struct nvkm_instmem *);
void nv04_instmem_resume(struct nvkm_instmem *);
struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_instmem **);
#define nvkm_instmem(p) container_of((p), struct nvkm_instmem, subdev)
struct nvkm_instmem *, struct nvkm_instobj *);
void nvkm_instobj_dtor(struct nvkm_instmem *, struct nvkm_instobj *);
void *(*dtor)(struct nvkm_instmem *);
int (*oneinit)(struct nvkm_instmem *);