xref: /linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/fuse.h (revision d0034a7a4ac7fae708146ac0059b9c47a1543f0d)
1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */
2630ec6c0SBen Skeggs #ifndef __NVKM_FUSE_H__
3630ec6c0SBen Skeggs #define __NVKM_FUSE_H__
4c39f472eSBen Skeggs #include <core/subdev.h>
5c39f472eSBen Skeggs 
6630ec6c0SBen Skeggs struct nvkm_fuse {
77e24c114SBen Skeggs 	const struct nvkm_fuse_func *func;
8c5fcafa5SBen Skeggs 	struct nvkm_subdev subdev;
9c5fcafa5SBen Skeggs 	spinlock_t lock;
107e24c114SBen Skeggs };
117e24c114SBen Skeggs 
12c5fcafa5SBen Skeggs u32 nvkm_fuse_read(struct nvkm_fuse *, u32 addr);
13c39f472eSBen Skeggs 
14*8d056d99SBen Skeggs int nv50_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **);
15*8d056d99SBen Skeggs int gf100_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **);
16*8d056d99SBen Skeggs int gm107_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **);
17c39f472eSBen Skeggs #endif
18