1#ifndef __NVKM_BAR_H__
2#define __NVKM_BAR_H__
3#include <core/subdev.h>
4struct nvkm_vma;
5
6struct nvkm_bar {
7 const struct nvkm_bar_func *func;
8 struct nvkm_subdev subdev;
9
10 spinlock_t lock;
11
12
13 bool iomap_uncached;
14};
15
16void nvkm_bar_flush(struct nvkm_bar *);
17struct nvkm_vm *nvkm_bar_kmap(struct nvkm_bar *);
18int nvkm_bar_umap(struct nvkm_bar *, u64 size, int type, struct nvkm_vma *);
19
20int nv50_bar_new(struct nvkm_device *, int, struct nvkm_bar **);
21int g84_bar_new(struct nvkm_device *, int, struct nvkm_bar **);
22int gf100_bar_new(struct nvkm_device *, int, struct nvkm_bar **);
23int gk20a_bar_new(struct nvkm_device *, int, struct nvkm_bar **);
24#endif
25