]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.h
Merge branch 'fix/intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[karo-tx-linux.git] / drivers / gpu / drm / nouveau / nvkm / subdev / fb / ram.h
1 #ifndef __NVKM_FB_RAM_PRIV_H__
2 #define __NVKM_FB_RAM_PRIV_H__
3 #include "priv.h"
4
5 int  nvkm_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
6                    enum nvkm_ram_type, u64 size, u32 tags,
7                    struct nvkm_ram *);
8 int  nvkm_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *,
9                    enum nvkm_ram_type, u64 size, u32 tags,
10                    struct nvkm_ram **);
11 void nvkm_ram_del(struct nvkm_ram **);
12 int  nvkm_ram_init(struct nvkm_ram *);
13
14 extern const struct nvkm_ram_func nv04_ram_func;
15
16 int  nv50_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
17                    struct nvkm_ram *);
18 int  nv50_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **);
19 void nv50_ram_put(struct nvkm_ram *, struct nvkm_mem **);
20 void __nv50_ram_put(struct nvkm_ram *, struct nvkm_mem *);
21
22 int  gf100_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *,
23                     u32, struct nvkm_ram *);
24 int  gf100_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **);
25 void gf100_ram_put(struct nvkm_ram *, struct nvkm_mem **);
26
27 int  gk104_ram_ctor(struct nvkm_fb *, struct nvkm_ram **, u32);
28 int  gk104_ram_init(struct nvkm_ram *ram);
29
30 /* RAM type-specific MR calculation routines */
31 int nvkm_sddr2_calc(struct nvkm_ram *);
32 int nvkm_sddr3_calc(struct nvkm_ram *);
33 int nvkm_gddr3_calc(struct nvkm_ram *);
34 int nvkm_gddr5_calc(struct nvkm_ram *, bool nuts);
35
36 int nv04_ram_new(struct nvkm_fb *, struct nvkm_ram **);
37 int nv10_ram_new(struct nvkm_fb *, struct nvkm_ram **);
38 int nv1a_ram_new(struct nvkm_fb *, struct nvkm_ram **);
39 int nv20_ram_new(struct nvkm_fb *, struct nvkm_ram **);
40 int nv40_ram_new(struct nvkm_fb *, struct nvkm_ram **);
41 int nv41_ram_new(struct nvkm_fb *, struct nvkm_ram **);
42 int nv44_ram_new(struct nvkm_fb *, struct nvkm_ram **);
43 int nv49_ram_new(struct nvkm_fb *, struct nvkm_ram **);
44 int nv4e_ram_new(struct nvkm_fb *, struct nvkm_ram **);
45 int nv50_ram_new(struct nvkm_fb *, struct nvkm_ram **);
46 int gt215_ram_new(struct nvkm_fb *, struct nvkm_ram **);
47 int mcp77_ram_new(struct nvkm_fb *, struct nvkm_ram **);
48 int gf100_ram_new(struct nvkm_fb *, struct nvkm_ram **);
49 int gk104_ram_new(struct nvkm_fb *, struct nvkm_ram **);
50 int gm107_ram_new(struct nvkm_fb *, struct nvkm_ram **);
51 int gp100_ram_new(struct nvkm_fb *, struct nvkm_ram **);
52 #endif