xref: /linux/drivers/gpu/drm/nouveau/nvkm/engine/nvenc/priv.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVKM_NVENC_PRIV_H__
3 #define __NVKM_NVENC_PRIV_H__
4 #include <engine/nvenc.h>
5 
6 struct nvkm_nvenc_func {
7 	const struct nvkm_falcon_func *flcn;
8 };
9 
10 struct nvkm_nvenc_fwif {
11 	int version;
12 	int (*load)(struct nvkm_nvenc *, int ver,
13 		    const struct nvkm_nvenc_fwif *);
14 	const struct nvkm_nvenc_func *func;
15 };
16 
17 extern const struct nvkm_nvenc_fwif gm107_nvenc_fwif[];
18 
19 int nvkm_nvenc_new_(const struct nvkm_nvenc_fwif *, struct nvkm_device *, enum nvkm_subdev_type,
20 		    int, struct nvkm_nvenc **pnvenc);
21 
22 int r535_nvenc_new(const struct nvkm_engine_func *, struct nvkm_device *,
23 		   enum nvkm_subdev_type, int, struct nvkm_nvenc **);
24 #endif
25