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