0001
0002 #ifndef __NVKM_FB_NV50_H__
0003 #define __NVKM_FB_NV50_H__
0004 #define nv50_fb(p) container_of((p), struct nv50_fb, base)
0005 #include "priv.h"
0006
0007 struct nv50_fb {
0008 const struct nv50_fb_func *func;
0009 struct nvkm_fb base;
0010 struct page *r100c08_page;
0011 dma_addr_t r100c08;
0012 };
0013
0014 struct nv50_fb_func {
0015 int (*ram_new)(struct nvkm_fb *, struct nvkm_ram **);
0016 u32 (*tags)(struct nvkm_fb *);
0017 u32 trap;
0018 };
0019
0020 int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
0021 struct nvkm_fb **pfb);
0022 #endif