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

mc.h (2142B)


      1/* SPDX-License-Identifier: MIT */
      2#ifndef __NVKM_MC_H__
      3#define __NVKM_MC_H__
      4#include <core/subdev.h>
      5
      6struct nvkm_mc {
      7	const struct nvkm_mc_func *func;
      8	struct nvkm_subdev subdev;
      9};
     10
     11void nvkm_mc_enable(struct nvkm_device *, enum nvkm_subdev_type, int);
     12void nvkm_mc_disable(struct nvkm_device *, enum nvkm_subdev_type, int);
     13bool nvkm_mc_enabled(struct nvkm_device *, enum nvkm_subdev_type, int);
     14void nvkm_mc_reset(struct nvkm_device *, enum nvkm_subdev_type, int);
     15void nvkm_mc_intr(struct nvkm_device *, bool *handled);
     16void nvkm_mc_intr_unarm(struct nvkm_device *);
     17void nvkm_mc_intr_rearm(struct nvkm_device *);
     18void nvkm_mc_intr_mask(struct nvkm_device *, enum nvkm_subdev_type, int, bool enable);
     19void nvkm_mc_unk260(struct nvkm_device *, u32 data);
     20
     21int nv04_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     22int nv11_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     23int nv17_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     24int nv44_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     25int nv50_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     26int g84_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     27int g98_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     28int gt215_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     29int gf100_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     30int gk104_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     31int gk20a_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     32int gp100_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     33int gp10b_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     34int tu102_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     35int ga100_mc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_mc **);
     36#endif