1/* $NetBSD: gr.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $ */ 2 3/* SPDX-License-Identifier: MIT */ 4#ifndef __NVKM_GR_H__ 5#define __NVKM_GR_H__ 6#include <core/engine.h> 7 8struct nvkm_gr { 9 const struct nvkm_gr_func *func; 10 struct nvkm_engine engine; 11}; 12 13u64 nvkm_gr_units(struct nvkm_gr *); 14int nvkm_gr_tlb_flush(struct nvkm_gr *); 15int nvkm_gr_ctxsw_pause(struct nvkm_device *); 16int nvkm_gr_ctxsw_resume(struct nvkm_device *); 17u32 nvkm_gr_ctxsw_inst(struct nvkm_device *); 18 19int nv04_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 20int nv10_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 21int nv15_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 22int nv17_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 23int nv20_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 24int nv25_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 25int nv2a_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 26int nv30_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 27int nv34_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 28int nv35_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 29int nv40_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 30int nv44_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 31int nv50_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 32int g84_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 33int gt200_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 34int mcp79_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 35int gt215_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 36int mcp89_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 37int gf100_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 38int gf104_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 39int gf108_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 40int gf110_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 41int gf117_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 42int gf119_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 43int gk104_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 44int gk110_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 45int gk110b_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 46int gk208_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 47int gk20a_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 48int gm107_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 49int gm200_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 50int gm20b_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 51int gp100_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 52int gp102_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 53int gp104_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 54int gp107_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 55int gp108_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 56int gp10b_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 57int gv100_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 58int tu102_gr_new(struct nvkm_device *, int, struct nvkm_gr **); 59#endif 60