[go: nahoru, domu]

1479dcaea09bf17e8de7005015345e4266723666dBen Skeggs#ifndef __NOUVEAU_RAMHT_H__
2479dcaea09bf17e8de7005015345e4266723666dBen Skeggs#define __NOUVEAU_RAMHT_H__
3479dcaea09bf17e8de7005015345e4266723666dBen Skeggs
4ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs#include <core/gpuobj.h>
5a8eaebc6c52bb0cd243b4cb421068f42d378be9cBen Skeggs
6a8eaebc6c52bb0cd243b4cb421068f42d378be9cBen Skeggsstruct nouveau_ramht {
7ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs	struct nouveau_gpuobj base;
8e05c5a317efb03854950a3fcc5c9501bfefc7d68Ben Skeggs	int bits;
9a8eaebc6c52bb0cd243b4cb421068f42d378be9cBen Skeggs};
10a8eaebc6c52bb0cd243b4cb421068f42d378be9cBen Skeggs
11ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsint  nouveau_ramht_insert(struct nouveau_ramht *, int chid,
12ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs			  u32 handle, u32 context);
13ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsvoid nouveau_ramht_remove(struct nouveau_ramht *, int cookie);
14ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsint  nouveau_ramht_new(struct nouveau_object *, struct nouveau_object *,
15ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs		       u32 size, u32 align, struct nouveau_ramht **);
16a8eaebc6c52bb0cd243b4cb421068f42d378be9cBen Skeggs
17ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsstatic inline void
18ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsnouveau_ramht_ref(struct nouveau_ramht *obj, struct nouveau_ramht **ref)
19ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs{
20ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs	nouveau_gpuobj_ref(&obj->base, (struct nouveau_gpuobj **)ref);
21ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs}
22479dcaea09bf17e8de7005015345e4266723666dBen Skeggs
23479dcaea09bf17e8de7005015345e4266723666dBen Skeggs#endif
24