1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */ 23545b425SBen Skeggs #ifndef __NVKM_NVDEC_H__ 33545b425SBen Skeggs #define __NVKM_NVDEC_H__ 416307b5dSAlexandre Courbot #define nvkm_nvdec(p) container_of((p), struct nvkm_nvdec, engine) 53545b425SBen Skeggs #include <core/engine.h> 63a900a5dSBen Skeggs #include <core/falcon.h> 716307b5dSAlexandre Courbot 816307b5dSAlexandre Courbot struct nvkm_nvdec { 998a34d99SBen Skeggs const struct nvkm_nvdec_func *func; 1016307b5dSAlexandre Courbot struct nvkm_engine engine; 113a900a5dSBen Skeggs struct nvkm_falcon falcon; 1216307b5dSAlexandre Courbot }; 1316307b5dSAlexandre Courbot 14f8aeb133SBen Skeggs int gm107_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **); 15796928c6SBen Skeggs int tu102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **); 16*142cd602SBen Skeggs int ga100_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **); 17a51c69eeSBen Skeggs int ga102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **); 18*142cd602SBen Skeggs int ad102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **); 193545b425SBen Skeggs #endif 20