mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

With minimal to no direct HW programming required, most nvkm_engine implementations are nearly identical when running on top of GSP-RM. Add a common implementation of the boilerplate, and use nvkm_rm_gpu to expose the correct class IDs. As they're now handled by common code, and there's no support for them prior to GSP-RM support - this deletes the GA100 NVDEC/NVJPG/OFA HALs, the GA102 NVENC/OFA HALs, and the AD102 GR/NVDEC/NVENC/NVJPG/OFA HALs. Signed-off-by: Ben Skeggs <bskeggs@nvidia.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Timur Tabi <ttabi@nvidia.com> Tested-by: Timur Tabi <ttabi@nvidia.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
23 lines
591 B
C
23 lines
591 B
C
/* 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 **);
|
|
#endif
|