1#ifndef __NVKM_RAM_NVC0_H__
2#define __NVKM_RAM_NVC0_H__
3#include "priv.h"
4#include "nv50.h"
5
6struct gf100_fb_priv {
7	struct nvkm_fb base;
8	struct page *r100c10_page;
9	dma_addr_t r100c10;
10};
11
12int  gf100_fb_ctor(struct nvkm_object *, struct nvkm_object *,
13		  struct nvkm_oclass *, void *, u32,
14		  struct nvkm_object **);
15void gf100_fb_dtor(struct nvkm_object *);
16int  gf100_fb_init(struct nvkm_object *);
17bool 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)
21int  gf100_ram_create_(struct nvkm_object *, struct nvkm_object *,
22		      struct nvkm_oclass *, u32, int, void **);
23int  gf100_ram_get(struct nvkm_fb *, u64, u32, u32, u32,
24		  struct nvkm_mem **);
25void gf100_ram_put(struct nvkm_fb *, struct nvkm_mem **);
26
27int  gk104_ram_init(struct nvkm_object*);
28#endif
29