1#ifndef __NVKM_FB_NV04_H__ 2#define __NVKM_FB_NV04_H__ 3#include "priv.h" 4 5struct nv04_fb_priv { 6 struct nvkm_fb base; 7}; 8 9int nv04_fb_ctor(struct nvkm_object *, struct nvkm_object *, 10 struct nvkm_oclass *, void *, u32, 11 struct nvkm_object **); 12 13struct nv04_fb_impl { 14 struct nvkm_fb_impl base; 15 struct { 16 int regions; 17 void (*init)(struct nvkm_fb *, int i, u32 addr, u32 size, 18 u32 pitch, u32 flags, struct nvkm_fb_tile *); 19 void (*comp)(struct nvkm_fb *, int i, u32 size, u32 flags, 20 struct nvkm_fb_tile *); 21 void (*fini)(struct nvkm_fb *, int i, 22 struct nvkm_fb_tile *); 23 void (*prog)(struct nvkm_fb *, int i, 24 struct nvkm_fb_tile *); 25 } tile; 26}; 27 28void nv10_fb_tile_init(struct nvkm_fb *, int i, u32 addr, u32 size, 29 u32 pitch, u32 flags, struct nvkm_fb_tile *); 30void nv10_fb_tile_fini(struct nvkm_fb *, int i, struct nvkm_fb_tile *); 31void nv10_fb_tile_prog(struct nvkm_fb *, int, struct nvkm_fb_tile *); 32 33void nv20_fb_tile_init(struct nvkm_fb *, int i, u32 addr, u32 size, 34 u32 pitch, u32 flags, struct nvkm_fb_tile *); 35void nv20_fb_tile_fini(struct nvkm_fb *, int i, struct nvkm_fb_tile *); 36void nv20_fb_tile_prog(struct nvkm_fb *, int, struct nvkm_fb_tile *); 37 38int nv30_fb_init(struct nvkm_object *); 39void nv30_fb_tile_init(struct nvkm_fb *, int i, u32 addr, u32 size, 40 u32 pitch, u32 flags, struct nvkm_fb_tile *); 41 42void nv40_fb_tile_comp(struct nvkm_fb *, int i, u32 size, u32 flags, 43 struct nvkm_fb_tile *); 44 45int nv41_fb_init(struct nvkm_object *); 46void nv41_fb_tile_prog(struct nvkm_fb *, int, struct nvkm_fb_tile *); 47 48int nv44_fb_init(struct nvkm_object *); 49void nv44_fb_tile_prog(struct nvkm_fb *, int, struct nvkm_fb_tile *); 50 51void nv46_fb_tile_init(struct nvkm_fb *, int i, u32 addr, u32 size, 52 u32 pitch, u32 flags, struct nvkm_fb_tile *); 53#endif 54