]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
d36a99d2 BS |
2 | #ifndef __NVKM_FB_RAM_PRIV_H__ |
3 | #define __NVKM_FB_RAM_PRIV_H__ | |
4 | #include "priv.h" | |
5 | ||
6 | int nvkm_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *, | |
7 | enum nvkm_ram_type, u64 size, u32 tags, | |
8 | struct nvkm_ram *); | |
9 | int nvkm_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *, | |
10 | enum nvkm_ram_type, u64 size, u32 tags, | |
11 | struct nvkm_ram **); | |
12 | void nvkm_ram_del(struct nvkm_ram **); | |
13 | int nvkm_ram_init(struct nvkm_ram *); | |
14 | ||
15 | extern const struct nvkm_ram_func nv04_ram_func; | |
16 | ||
17 | int nv50_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *, | |
18 | struct nvkm_ram *); | |
19 | int nv50_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **); | |
20 | void nv50_ram_put(struct nvkm_ram *, struct nvkm_mem **); | |
21 | void __nv50_ram_put(struct nvkm_ram *, struct nvkm_mem *); | |
22 | ||
fcb371a1 BS |
23 | int gf100_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *, |
24 | struct nvkm_ram **); | |
d36a99d2 | 25 | int gf100_ram_ctor(const struct nvkm_ram_func *, struct nvkm_fb *, |
97e5268d BS |
26 | struct nvkm_ram *); |
27 | u32 gf100_ram_probe_fbp(const struct nvkm_ram_func *, | |
28 | struct nvkm_device *, int, int *); | |
29 | u32 gf100_ram_probe_fbp_amount(const struct nvkm_ram_func *, u32, | |
30 | struct nvkm_device *, int, int *); | |
31 | u32 gf100_ram_probe_fbpa_amount(struct nvkm_device *, int); | |
d36a99d2 BS |
32 | int gf100_ram_get(struct nvkm_ram *, u64, u32, u32, u32, struct nvkm_mem **); |
33 | void gf100_ram_put(struct nvkm_ram *, struct nvkm_mem **); | |
fcb371a1 BS |
34 | int gf100_ram_init(struct nvkm_ram *); |
35 | int gf100_ram_calc(struct nvkm_ram *, u32); | |
36 | int gf100_ram_prog(struct nvkm_ram *); | |
37 | void gf100_ram_tidy(struct nvkm_ram *); | |
d36a99d2 | 38 | |
97e5268d BS |
39 | u32 gf108_ram_probe_fbp_amount(const struct nvkm_ram_func *, u32, |
40 | struct nvkm_device *, int, int *); | |
41 | ||
fcb371a1 | 42 | int gk104_ram_new_(const struct nvkm_ram_func *, struct nvkm_fb *, |
97e5268d | 43 | struct nvkm_ram **); |
fcb371a1 BS |
44 | void *gk104_ram_dtor(struct nvkm_ram *); |
45 | int gk104_ram_init(struct nvkm_ram *); | |
46 | int gk104_ram_calc(struct nvkm_ram *, u32); | |
47 | int gk104_ram_prog(struct nvkm_ram *); | |
48 | void gk104_ram_tidy(struct nvkm_ram *); | |
d36a99d2 | 49 | |
97e5268d BS |
50 | u32 gm107_ram_probe_fbp(const struct nvkm_ram_func *, |
51 | struct nvkm_device *, int, int *); | |
52 | ||
53 | u32 gm200_ram_probe_fbp_amount(const struct nvkm_ram_func *, u32, | |
54 | struct nvkm_device *, int, int *); | |
55 | ||
d36a99d2 BS |
56 | /* RAM type-specific MR calculation routines */ |
57 | int nvkm_sddr2_calc(struct nvkm_ram *); | |
58 | int nvkm_sddr3_calc(struct nvkm_ram *); | |
59 | int nvkm_gddr3_calc(struct nvkm_ram *); | |
60 | int nvkm_gddr5_calc(struct nvkm_ram *, bool nuts); | |
61 | ||
62 | int nv04_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
63 | int nv10_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
64 | int nv1a_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
65 | int nv20_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
66 | int nv40_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
67 | int nv41_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
68 | int nv44_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
69 | int nv49_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
70 | int nv4e_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
71 | int nv50_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
72 | int gt215_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
73 | int mcp77_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
74 | int gf100_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
904e703c | 75 | int gf108_ram_new(struct nvkm_fb *, struct nvkm_ram **); |
d36a99d2 BS |
76 | int gk104_ram_new(struct nvkm_fb *, struct nvkm_ram **); |
77 | int gm107_ram_new(struct nvkm_fb *, struct nvkm_ram **); | |
ba4c063d | 78 | int gm200_ram_new(struct nvkm_fb *, struct nvkm_ram **); |
7ff51f82 | 79 | int gp100_ram_new(struct nvkm_fb *, struct nvkm_ram **); |
d36a99d2 | 80 | #endif |