Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
5025407b BS |
2 | #ifndef __NVKM_RAMHT_H__ |
3 | #define __NVKM_RAMHT_H__ | |
ebb945a9 | 4 | #include <core/gpuobj.h> |
a8eaebc6 | 5 | |
1d2a1e53 BS |
6 | struct nvkm_ramht_data { |
7 | struct nvkm_gpuobj *inst; | |
8 | int chid; | |
9 | u32 handle; | |
10 | }; | |
11 | ||
5025407b | 12 | struct nvkm_ramht { |
1d2a1e53 BS |
13 | struct nvkm_device *device; |
14 | struct nvkm_gpuobj *parent; | |
15 | struct nvkm_gpuobj *gpuobj; | |
16 | int size; | |
e05c5a31 | 17 | int bits; |
1d2a1e53 | 18 | struct nvkm_ramht_data data[]; |
a8eaebc6 BS |
19 | }; |
20 | ||
1d2a1e53 BS |
21 | int nvkm_ramht_new(struct nvkm_device *, u32 size, u32 align, |
22 | struct nvkm_gpuobj *, struct nvkm_ramht **); | |
23 | void nvkm_ramht_del(struct nvkm_ramht **); | |
24 | int nvkm_ramht_insert(struct nvkm_ramht *, struct nvkm_object *, | |
25 | int chid, int addr, u32 handle, u32 context); | |
5025407b | 26 | void nvkm_ramht_remove(struct nvkm_ramht *, int cookie); |
1d2a1e53 BS |
27 | struct nvkm_gpuobj * |
28 | nvkm_ramht_search(struct nvkm_ramht *, int chid, u32 handle); | |
479dcaea | 29 | #endif |