xref: /linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.h (revision 2ba9268dd603d23e17643437b2246acb6844953b)
1 #ifndef __NVKM_RAM_NVC0_H__
2 #define __NVKM_RAM_NVC0_H__
3 #include "priv.h"
4 #include "nv50.h"
5 
6 struct gf100_fb_priv {
7 	struct nvkm_fb base;
8 	struct page *r100c10_page;
9 	dma_addr_t r100c10;
10 };
11 
12 int  gf100_fb_ctor(struct nvkm_object *, struct nvkm_object *,
13 		  struct nvkm_oclass *, void *, u32,
14 		  struct nvkm_object **);
15 void gf100_fb_dtor(struct nvkm_object *);
16 int  gf100_fb_init(struct nvkm_object *);
17 bool gf100_fb_memtype_valid(struct nvkm_fb *, u32);
18 
19 #define gf100_ram_create(p,e,o,m,d)                                             \
20 	gf100_ram_create_((p), (e), (o), (m), sizeof(**d), (void **)d)
21 int  gf100_ram_create_(struct nvkm_object *, struct nvkm_object *,
22 		      struct nvkm_oclass *, u32, int, void **);
23 int  gf100_ram_get(struct nvkm_fb *, u64, u32, u32, u32,
24 		  struct nvkm_mem **);
25 void gf100_ram_put(struct nvkm_fb *, struct nvkm_mem **);
26 
27 int  gk104_ram_init(struct nvkm_object*);
28 #endif
29