1#ifndef __NVKM_RAMHT_H__ 2#define __NVKM_RAMHT_H__ 3#include <core/gpuobj.h> 4 5struct nvkm_ramht_data { 6 struct nvkm_gpuobj *inst; 7 int chid; 8 u32 handle; 9}; 10 11struct nvkm_ramht { 12 struct nvkm_device *device; 13 struct nvkm_gpuobj *parent; 14 struct nvkm_gpuobj *gpuobj; 15 int size; 16 int bits; 17 struct nvkm_ramht_data data[]; 18}; 19 20int nvkm_ramht_new(struct nvkm_device *, u32 size, u32 align, 21 struct nvkm_gpuobj *, struct nvkm_ramht **); 22void nvkm_ramht_del(struct nvkm_ramht **); 23int nvkm_ramht_insert(struct nvkm_ramht *, struct nvkm_object *, 24 int chid, int addr, u32 handle, u32 context); 25void nvkm_ramht_remove(struct nvkm_ramht *, int cookie); 26struct nvkm_gpuobj * 27nvkm_ramht_search(struct nvkm_ramht *, int chid, u32 handle); 28#endif 29