3 #include <core/subdev.h>
8 struct nvkm_subdev base;
10 int (*alloc)(struct nvkm_bar *, struct nvkm_object *,
11 struct nvkm_mem *, struct nvkm_object **);
13 int (*kmap)(struct nvkm_bar *, struct nvkm_mem *, u32 flags,
15 int (*umap)(struct nvkm_bar *, struct nvkm_mem *, u32 flags,
17 void (*unmap)(struct nvkm_bar *, struct nvkm_vma *);
18 void (*flush)(struct nvkm_bar *);
20 /* whether the BAR supports to be ioremapped WC or should be uncached */
24 static inline struct nvkm_bar *
27 return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_BAR);
30 extern struct nvkm_oclass nv50_bar_oclass;
31 extern struct nvkm_oclass gf100_bar_oclass;
32 extern struct nvkm_oclass gk20a_bar_oclass;