.. | .. |
---|
1 | | -/* SPDX-License-Identifier: GPL-2.0 */ |
---|
| 1 | +/* SPDX-License-Identifier: MIT */ |
---|
2 | 2 | #ifndef __NVKM_MMU_PRIV_H__ |
---|
3 | 3 | #define __NVKM_MMU_PRIV_H__ |
---|
4 | 4 | #define nvkm_mmu(p) container_of((p), struct nvkm_mmu, subdev) |
---|
.. | .. |
---|
28 | 28 | |
---|
29 | 29 | struct { |
---|
30 | 30 | struct nvkm_sclass user; |
---|
31 | | - int (*ctor)(struct nvkm_mmu *, u64 addr, u64 size, |
---|
| 31 | + int (*ctor)(struct nvkm_mmu *, bool managed, u64 addr, u64 size, |
---|
32 | 32 | void *argv, u32 argc, struct lock_class_key *, |
---|
33 | 33 | const char *name, struct nvkm_vmm **); |
---|
34 | 34 | bool global; |
---|
35 | 35 | u32 pd_offset; |
---|
36 | 36 | } vmm; |
---|
37 | 37 | |
---|
38 | | - const u8 *(*kind)(struct nvkm_mmu *, int *count); |
---|
| 38 | + const u8 *(*kind)(struct nvkm_mmu *, int *count, u8 *invalid); |
---|
39 | 39 | bool kind_sys; |
---|
40 | 40 | }; |
---|
41 | 41 | |
---|
42 | 42 | extern const struct nvkm_mmu_func nv04_mmu; |
---|
43 | 43 | |
---|
44 | | -const u8 *nv50_mmu_kind(struct nvkm_mmu *, int *count); |
---|
| 44 | +const u8 *nv50_mmu_kind(struct nvkm_mmu *, int *count, u8 *invalid); |
---|
45 | 45 | |
---|
46 | | -const u8 *gf100_mmu_kind(struct nvkm_mmu *, int *count); |
---|
| 46 | +const u8 *gf100_mmu_kind(struct nvkm_mmu *, int *count, u8 *invalid); |
---|
47 | 47 | |
---|
48 | | -const u8 *gm200_mmu_kind(struct nvkm_mmu *, int *); |
---|
| 48 | +const u8 *gm200_mmu_kind(struct nvkm_mmu *, int *, u8 *); |
---|
49 | 49 | |
---|
50 | 50 | struct nvkm_mmu_pt { |
---|
51 | 51 | union { |
---|