drm/gk20a: add BAR instance
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / nouveau / core / subdev / bar / priv.h
1 #ifndef __NVKM_BAR_PRIV_H__
2 #define __NVKM_BAR_PRIV_H__
3
4 #include <subdev/bar.h>
5
6 #define nouveau_bar_create(p,e,o,d)                                            \
7         nouveau_bar_create_((p), (e), (o), sizeof(**d), (void **)d)
8 #define nouveau_bar_init(p)                                                    \
9         nouveau_subdev_init(&(p)->base)
10 #define nouveau_bar_fini(p,s)                                                  \
11         nouveau_subdev_fini(&(p)->base, (s))
12
13 int nouveau_bar_create_(struct nouveau_object *, struct nouveau_object *,
14                         struct nouveau_oclass *, int, void **);
15 void nouveau_bar_destroy(struct nouveau_bar *);
16
17 void _nouveau_bar_dtor(struct nouveau_object *);
18 #define _nouveau_bar_init _nouveau_subdev_init
19 #define _nouveau_bar_fini _nouveau_subdev_fini
20
21 int  nouveau_bar_alloc(struct nouveau_bar *, struct nouveau_object *,
22                        struct nouveau_mem *, struct nouveau_object **);
23
24 void nv84_bar_flush(struct nouveau_bar *);
25
26 int nvc0_bar_ctor(struct nouveau_object *, struct nouveau_object *,
27                   struct nouveau_oclass *, void *, u32,
28                   struct nouveau_object **);
29 void nvc0_bar_dtor(struct nouveau_object *);
30 int nvc0_bar_init(struct nouveau_object *);
31
32 #endif