]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
78b2b4e7 BS |
2 | #ifndef __NVKM_INSTMEM_H__ |
3 | #define __NVKM_INSTMEM_H__ | |
3863c9bc | 4 | #include <core/subdev.h> |
d8e83994 | 5 | struct nvkm_memory; |
3863c9bc | 6 | |
78b2b4e7 | 7 | struct nvkm_instmem { |
b7a2bc18 | 8 | const struct nvkm_instmem_func *func; |
c44c06ae | 9 | struct nvkm_subdev subdev; |
3863c9bc | 10 | |
95095032 | 11 | spinlock_t lock; |
b7a2bc18 | 12 | struct list_head list; |
3863c9bc | 13 | u32 reserved; |
d8e83994 | 14 | |
5b1ab0c2 | 15 | struct nvkm_memory *vbios; |
d8e83994 | 16 | struct nvkm_ramht *ramht; |
5b1ab0c2 BS |
17 | struct nvkm_memory *ramro; |
18 | struct nvkm_memory *ramfc; | |
a4747426 BS |
19 | }; |
20 | ||
b7a2bc18 BS |
21 | u32 nvkm_instmem_rd32(struct nvkm_instmem *, u32 addr); |
22 | void nvkm_instmem_wr32(struct nvkm_instmem *, u32 addr, u32 data); | |
23 | int nvkm_instobj_new(struct nvkm_instmem *, u32 size, u32 align, bool zero, | |
24 | struct nvkm_memory **); | |
fdd239ac | 25 | |
3863c9bc | 26 | |
b7a2bc18 BS |
27 | int nv04_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **); |
28 | int nv40_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **); | |
29 | int nv50_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **); | |
30 | int gk20a_instmem_new(struct nvkm_device *, int, struct nvkm_instmem **); | |
3863c9bc | 31 | #endif |