1 /* $NetBSD: nv50.h,v 1.4 2021/12/18 23:45:39 riastradh Exp $ */ 2 3 /* SPDX-License-Identifier: MIT */ 4 #ifndef __NVKM_FB_NV50_H__ 5 #define __NVKM_FB_NV50_H__ 6 #define nv50_fb(p) container_of((p), struct nv50_fb, base) 7 #include "priv.h" 8 9 struct nv50_fb { 10 const struct nv50_fb_func *func; 11 struct nvkm_fb base; 12 #ifdef __NetBSD__ 13 bus_dma_segment_t r100c08_seg; 14 bus_dmamap_t r100c08_page; 15 void *r100c08_kva; 16 #else 17 struct page *r100c08_page; 18 #endif 19 dma_addr_t r100c08; 20 }; 21 22 struct nv50_fb_func { 23 int (*ram_new)(struct nvkm_fb *, struct nvkm_ram **); 24 u32 (*tags)(struct nvkm_fb *); 25 u32 trap; 26 }; 27 28 int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, int index, 29 struct nvkm_fb **pfb); 30 #endif 31