xref: /linux/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.h (revision 33dea5aae0320345af26ae9aba0894a930e0d4ec)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __GF100_BAR_H__
3 #define __GF100_BAR_H__
4 #define gf100_bar(p) container_of((p), struct gf100_bar, base)
5 #include "priv.h"
6 
7 struct gf100_bar_vm {
8 	struct nvkm_memory *mem;
9 	struct nvkm_gpuobj *pgd;
10 	struct nvkm_vm *vm;
11 };
12 
13 struct gf100_bar {
14 	struct nvkm_bar base;
15 	bool bar2_halve;
16 	struct gf100_bar_vm bar[2];
17 };
18 
19 int gf100_bar_new_(const struct nvkm_bar_func *, struct nvkm_device *,
20 		   int, struct nvkm_bar **);
21 void *gf100_bar_dtor(struct nvkm_bar *);
22 int gf100_bar_oneinit(struct nvkm_bar *);
23 int gf100_bar_init(struct nvkm_bar *);
24 int gf100_bar_umap(struct nvkm_bar *, u64, int, struct nvkm_vma *);
25 #endif
26