diff options
Diffstat (limited to 'kernel/drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h')
-rw-r--r-- | kernel/drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/kernel/drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h b/kernel/drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h new file mode 100644 index 000000000..cd5d29fc0 --- /dev/null +++ b/kernel/drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h @@ -0,0 +1,31 @@ +#ifndef __NVKM_LTC_H__ +#define __NVKM_LTC_H__ +#include <core/subdev.h> +struct nvkm_mm_node; + +#define NVKM_LTC_MAX_ZBC_CNT 16 + +struct nvkm_ltc { + struct nvkm_subdev base; + + int (*tags_alloc)(struct nvkm_ltc *, u32 count, + struct nvkm_mm_node **); + void (*tags_free)(struct nvkm_ltc *, struct nvkm_mm_node **); + void (*tags_clear)(struct nvkm_ltc *, u32 first, u32 count); + + int zbc_min; + int zbc_max; + int (*zbc_color_get)(struct nvkm_ltc *, int index, const u32[4]); + int (*zbc_depth_get)(struct nvkm_ltc *, int index, const u32); +}; + +static inline struct nvkm_ltc * +nvkm_ltc(void *obj) +{ + return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_LTC); +} + +extern struct nvkm_oclass *gf100_ltc_oclass; +extern struct nvkm_oclass *gk104_ltc_oclass; +extern struct nvkm_oclass *gm107_ltc_oclass; +#endif |