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