GNU Linux-libre 4.14.302-gnu1
[releases.git] / drivers / gpu / drm / nouveau / nvkm / subdev / bar / gf100.h
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