Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / include / nvkm / subdev / ltc.h
1 #ifndef __NVKM_LTC_H__
2 #define __NVKM_LTC_H__
3 #include <core/subdev.h>
4 struct nvkm_mm_node;
5
6 #define NVKM_LTC_MAX_ZBC_CNT 16
7
8 struct nvkm_ltc {
9         struct nvkm_subdev base;
10
11         int  (*tags_alloc)(struct nvkm_ltc *, u32 count,
12                            struct nvkm_mm_node **);
13         void (*tags_free)(struct nvkm_ltc *, struct nvkm_mm_node **);
14         void (*tags_clear)(struct nvkm_ltc *, u32 first, u32 count);
15
16         int zbc_min;
17         int zbc_max;
18         int (*zbc_color_get)(struct nvkm_ltc *, int index, const u32[4]);
19         int (*zbc_depth_get)(struct nvkm_ltc *, int index, const u32);
20 };
21
22 static inline struct nvkm_ltc *
23 nvkm_ltc(void *obj)
24 {
25         return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_LTC);
26 }
27
28 extern struct nvkm_oclass *gf100_ltc_oclass;
29 extern struct nvkm_oclass *gk104_ltc_oclass;
30 extern struct nvkm_oclass *gm107_ltc_oclass;
31 #endif