summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/nvdec/priv.h
blob: f506ae83bfd73f6358102c4e7bc62815c87cbdb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* SPDX-License-Identifier: MIT */
#ifndef __NVKM_NVDEC_PRIV_H__
#define __NVKM_NVDEC_PRIV_H__
#include <engine/nvdec.h>

struct nvkm_nvdec_func {
	const struct nvkm_falcon_func *flcn;

	struct nvkm_sclass sclass[];
};

struct nvkm_nvdec_fwif {
	int version;
	int (*load)(struct nvkm_nvdec *, int ver,
		    const struct nvkm_nvdec_fwif *);
	const struct nvkm_nvdec_func *func;
};

extern const struct nvkm_nvdec_fwif gm107_nvdec_fwif[];

int nvkm_nvdec_new_(const struct nvkm_nvdec_fwif *fwif, struct nvkm_device *,
		    enum nvkm_subdev_type, int, u32 addr, struct nvkm_nvdec **);

int r535_nvdec_new(const struct nvkm_engine_func *, struct nvkm_device *,
		   enum nvkm_subdev_type, int, struct nvkm_nvdec **);
#endif