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