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>
21 lines
552 B
C
21 lines
552 B
C
/* SPDX-License-Identifier: MIT */
|
|
#ifndef __NVKM_NVENC_PRIV_H__
|
|
#define __NVKM_NVENC_PRIV_H__
|
|
#include <engine/nvenc.h>
|
|
|
|
struct nvkm_nvenc_func {
|
|
const struct nvkm_falcon_func *flcn;
|
|
};
|
|
|
|
struct nvkm_nvenc_fwif {
|
|
int version;
|
|
int (*load)(struct nvkm_nvenc *, int ver,
|
|
const struct nvkm_nvenc_fwif *);
|
|
const struct nvkm_nvenc_func *func;
|
|
};
|
|
|
|
extern const struct nvkm_nvenc_fwif gm107_nvenc_fwif[];
|
|
|
|
int nvkm_nvenc_new_(const struct nvkm_nvenc_fwif *, struct nvkm_device *, enum nvkm_subdev_type,
|
|
int, struct nvkm_nvenc **pnvenc);
|
|
#endif
|