• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __NVKM_FB_NV50_H__
2 #define __NVKM_FB_NV50_H__
3 
4 #include "priv.h"
5 
6 struct nv50_fb_priv {
7 	struct nouveau_fb base;
8 	struct page *r100c08_page;
9 	dma_addr_t r100c08;
10 };
11 
12 int  nv50_fb_ctor(struct nouveau_object *, struct nouveau_object *,
13 		  struct nouveau_oclass *, void *, u32,
14 		  struct nouveau_object **);
15 void nv50_fb_dtor(struct nouveau_object *);
16 int  nv50_fb_init(struct nouveau_object *);
17 
18 struct nv50_fb_impl {
19 	struct nouveau_fb_impl base;
20 	u32 trap;
21 };
22 
23 #define nv50_ram_create(p,e,o,d)                                               \
24 	nv50_ram_create_((p), (e), (o), sizeof(**d), (void **)d)
25 int  nv50_ram_create_(struct nouveau_object *, struct nouveau_object *,
26 		      struct nouveau_oclass *, int, void **);
27 int  nv50_ram_get(struct nouveau_fb *, u64 size, u32 align, u32 ncmin,
28 		  u32 memtype, struct nouveau_mem **);
29 void nv50_ram_put(struct nouveau_fb *, struct nouveau_mem **);
30 void __nv50_ram_put(struct nouveau_fb *, struct nouveau_mem *);
31 extern int nv50_fb_memtype[0x80];
32 
33 #endif
34