1/* SPDX-License-Identifier: MIT */
2#ifndef __NVKM_NVDEC_H__
3#define __NVKM_NVDEC_H__
4#define nvkm_nvdec(p) container_of((p), struct nvkm_nvdec, engine)
5#include <core/engine.h>
6#include <core/falcon.h>
7
8struct nvkm_nvdec {
9	const struct nvkm_nvdec_func *func;
10	struct nvkm_engine engine;
11	struct nvkm_falcon falcon;
12};
13
14int gm107_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
15int tu102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
16int ga100_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
17int ga102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
18int ad102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
19#endif
20