1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVKM_FB_NV50_H__
3 #define __NVKM_FB_NV50_H__
4 #define nv50_fb(p) container_of((p), struct nv50_fb, base)
5 #include "priv.h"
6 
7 struct nv50_fb {
8 	const struct nv50_fb_func *func;
9 	struct nvkm_fb base;
10 	struct page *r100c08_page;
11 	dma_addr_t r100c08;
12 };
13 
14 struct nv50_fb_func {
15 	int (*ram_new)(struct nvkm_fb *, struct nvkm_ram **);
16 	u32 (*tags)(struct nvkm_fb *);
17 	u32 trap;
18 };
19 
20 int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
21 		 struct nvkm_fb **pfb);
22 #endif
23