Ben Skeggs | 9ca3037 | 2013-10-18 14:44:23 +1000 | [diff] [blame] | 1 | #ifndef __NVKM_FB_NV50_H__ |
| 2 | #define __NVKM_FB_NV50_H__ |
Ben Skeggs | 03c8952 | 2015-08-20 14:54:20 +1000 | [diff] [blame] | 3 | #define nv50_fb(p) container_of((p), struct nv50_fb, base) |
Ben Skeggs | 9ca3037 | 2013-10-18 14:44:23 +1000 | [diff] [blame] | 4 | #include "priv.h" |
| 5 | |
Ben Skeggs | b1e4553 | 2015-08-20 14:54:06 +1000 | [diff] [blame] | 6 | struct nv50_fb { |
Ben Skeggs | 03c8952 | 2015-08-20 14:54:20 +1000 | [diff] [blame] | 7 | const struct nv50_fb_func *func; |
Ben Skeggs | 639c308 | 2015-01-14 14:52:58 +1000 | [diff] [blame] | 8 | struct nvkm_fb base; |
Ben Skeggs | 9ca3037 | 2013-10-18 14:44:23 +1000 | [diff] [blame] | 9 | struct page *r100c08_page; |
| 10 | dma_addr_t r100c08; |
| 11 | }; |
| 12 | |
Ben Skeggs | 03c8952 | 2015-08-20 14:54:20 +1000 | [diff] [blame] | 13 | struct nv50_fb_func { |
| 14 | int (*ram_new)(struct nvkm_fb *, struct nvkm_ram **); |
Ben Skeggs | 9ca3037 | 2013-10-18 14:44:23 +1000 | [diff] [blame] | 15 | u32 trap; |
| 16 | }; |
| 17 | |
Ben Skeggs | 03c8952 | 2015-08-20 14:54:20 +1000 | [diff] [blame] | 18 | int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, int index, |
| 19 | struct nvkm_fb **pfb); |
Ben Skeggs | 20cdeaf | 2013-10-21 10:26:04 +1000 | [diff] [blame] | 20 | extern int nv50_fb_memtype[0x80]; |
Ben Skeggs | 9ca3037 | 2013-10-18 14:44:23 +1000 | [diff] [blame] | 21 | #endif |