1/* SPDX-License-Identifier: MIT */
2#ifndef __NVKM_NVENC_H__
3#define __NVKM_NVENC_H__
4#define nvkm_nvenc(p) container_of((p), struct nvkm_nvenc, engine)
5#include <core/engine.h>
6#include <core/falcon.h>
7
8struct nvkm_nvenc {
9	const struct nvkm_nvenc_func *func;
10	struct nvkm_engine engine;
11	struct nvkm_falcon falcon;
12};
13
14int gm107_nvenc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvenc **);
15int tu102_nvenc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvenc **);
16int ga102_nvenc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvenc **);
17int ad102_nvenc_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvenc **);
18#endif
19