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