Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 #ifndef __NVKM_RAMHT_H__
0003 #define __NVKM_RAMHT_H__
0004 #include <core/gpuobj.h>
0005 struct nvkm_object;
0006 
0007 struct nvkm_ramht_data {
0008     struct nvkm_gpuobj *inst;
0009     int chid;
0010     u32 handle;
0011 };
0012 
0013 struct nvkm_ramht {
0014     struct nvkm_device *device;
0015     struct nvkm_gpuobj *parent;
0016     struct nvkm_gpuobj *gpuobj;
0017     int size;
0018     int bits;
0019     struct nvkm_ramht_data data[];
0020 };
0021 
0022 int  nvkm_ramht_new(struct nvkm_device *, u32 size, u32 align,
0023             struct nvkm_gpuobj *, struct nvkm_ramht **);
0024 void nvkm_ramht_del(struct nvkm_ramht **);
0025 int  nvkm_ramht_insert(struct nvkm_ramht *, struct nvkm_object *,
0026                int chid, int addr, u32 handle, u32 context);
0027 void nvkm_ramht_remove(struct nvkm_ramht *, int cookie);
0028 struct nvkm_gpuobj *
0029 nvkm_ramht_search(struct nvkm_ramht *, int chid, u32 handle);
0030 #endif