1/* SPDX-License-Identifier: MIT */
2#ifndef __NVKM_NVENC_PRIV_H__
3#define __NVKM_NVENC_PRIV_H__
4#include <engine/nvenc.h>
5
6struct nvkm_nvenc_func {
7	const struct nvkm_falcon_func *flcn;
8};
9
10struct 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
17extern const struct nvkm_nvenc_fwif gm107_nvenc_fwif[];
18
19int nvkm_nvenc_new_(const struct nvkm_nvenc_fwif *, struct nvkm_device *, enum nvkm_subdev_type,
20		    int, struct nvkm_nvenc **pnvenc);
21
22int r535_nvenc_new(const struct nvkm_engine_func *, struct nvkm_device *,
23		   enum nvkm_subdev_type, int, struct nvkm_nvenc **);
24#endif
25