xref: /linux/drivers/gpu/drm/nouveau/nvkm/engine/nvdec/priv.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVKM_NVDEC_PRIV_H__
3 #define __NVKM_NVDEC_PRIV_H__
4 #include <engine/nvdec.h>
5 
6 struct nvkm_nvdec_func {
7 	const struct nvkm_falcon_func *flcn;
8 
9 	struct nvkm_sclass sclass[];
10 };
11 
12 struct nvkm_nvdec_fwif {
13 	int version;
14 	int (*load)(struct nvkm_nvdec *, int ver,
15 		    const struct nvkm_nvdec_fwif *);
16 	const struct nvkm_nvdec_func *func;
17 };
18 
19 extern const struct nvkm_nvdec_fwif gm107_nvdec_fwif[];
20 
21 int nvkm_nvdec_new_(const struct nvkm_nvdec_fwif *fwif, struct nvkm_device *,
22 		    enum nvkm_subdev_type, int, u32 addr, struct nvkm_nvdec **);
23 
24 int r535_nvdec_new(const struct nvkm_engine_func *, struct nvkm_device *,
25 		   enum nvkm_subdev_type, int, struct nvkm_nvdec **);
26 #endif
27