1 #ifndef __NV04_INSTMEM_H__ 2 #define __NV04_INSTMEM_H__ 3 #include "priv.h" 4 5 #include <core/mm.h> 6 7 extern struct nvkm_instobj_impl nv04_instobj_oclass; 8 9 struct nv04_instmem_priv { 10 struct nvkm_instmem base; 11 12 void __iomem *iomem; 13 struct nvkm_mm heap; 14 15 struct nvkm_gpuobj *vbios; 16 struct nvkm_ramht *ramht; 17 struct nvkm_gpuobj *ramro; 18 struct nvkm_gpuobj *ramfc; 19 }; 20 21 static inline struct nv04_instmem_priv * nv04_instmem(void * obj)22nv04_instmem(void *obj) 23 { 24 return (void *)nvkm_instmem(obj); 25 } 26 27 struct nv04_instobj_priv { 28 struct nvkm_instobj base; 29 struct nvkm_mm_node *mem; 30 }; 31 32 void nv04_instmem_dtor(struct nvkm_object *); 33 34 int nv04_instmem_alloc(struct nvkm_instmem *, struct nvkm_object *, 35 u32 size, u32 align, struct nvkm_object **pobject); 36 #endif 37