1 | #ifndef __NV04_INSTMEM_H__ |
---|---|
2 | #define __NV04_INSTMEM_H__ |
3 | |
4 | #include <core/gpuobj.h> |
5 | #include <core/ramht.h> |
6 | #include <core/mm.h> |
7 | |
8 | #include "priv.h" |
9 | |
10 | extern struct nouveau_instobj_impl nv04_instobj_oclass; |
11 | |
12 | struct nv04_instmem_priv { |
13 | struct nouveau_instmem base; |
14 | |
15 | #ifdef __NetBSD__ |
16 | bus_space_tag_t iomemt; |
17 | bus_space_handle_t iomemh; |
18 | bus_size_t iomemsz; |
19 | #else |
20 | void __iomem *iomem; |
21 | #endif |
22 | struct nouveau_mm heap; |
23 | |
24 | struct nouveau_gpuobj *vbios; |
25 | struct nouveau_ramht *ramht; |
26 | struct nouveau_gpuobj *ramro; |
27 | struct nouveau_gpuobj *ramfc; |
28 | }; |
29 | |
30 | static inline struct nv04_instmem_priv * |
31 | nv04_instmem(void *obj) |
32 | { |
33 | return (void *)nouveau_instmem(obj); |
34 | } |
35 | |
36 | struct nv04_instobj_priv { |
37 | struct nouveau_instobj base; |
38 | struct nouveau_mm_node *mem; |
39 | }; |
40 | |
41 | void nv04_instmem_dtor(struct nouveau_object *); |
42 | |
43 | int nv04_instmem_alloc(struct nouveau_instmem *, struct nouveau_object *, |
44 | u32 size, u32 align, struct nouveau_object **pobject); |
45 | |
46 | #endif |
47 |