cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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