blob: b2f82f9e4e7feccd8ef1542cf46a5559b48d4634 [file] [log] [blame]
Ben Skeggsaf7afbd2012-07-13 16:14:25 +10001#ifndef __NV04_INSTMEM_H__
2#define __NV04_INSTMEM_H__
3
Ben Skeggs3863c9b2012-07-14 19:09:17 +10004#include <core/gpuobj.h>
5#include <core/mm.h>
6
7#include <subdev/instmem.h>
8
Ben Skeggsaf7afbd2012-07-13 16:14:25 +10009struct nv04_instmem_priv {
Ben Skeggs3863c9b2012-07-14 19:09:17 +100010 struct nouveau_instmem base;
11 bool created;
12
13 void __iomem *iomem;
14 struct nouveau_mm heap;
15
Ben Skeggsaf7afbd2012-07-13 16:14:25 +100016 struct nouveau_gpuobj *vbios;
17 struct nouveau_gpuobj *ramht;
18 struct nouveau_gpuobj *ramro;
19 struct nouveau_gpuobj *ramfc;
20};
21
Ben Skeggs3863c9b2012-07-14 19:09:17 +100022struct nv04_instobj_priv {
23 struct nouveau_instobj base;
24 struct nouveau_mm_node *mem;
25};
26
27void nv04_instmem_dtor(struct nouveau_object *);
28
29int nv04_instmem_alloc(struct nouveau_instmem *, struct nouveau_object *,
30 u32 size, u32 align, struct nouveau_object **pobject);
31
Ben Skeggsaf7afbd2012-07-13 16:14:25 +100032#endif