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>
17 lines
621 B
C
17 lines
621 B
C
/* SPDX-License-Identifier: MIT */
|
|
#ifndef __NVKM_NVDEC_H__
|
|
#define __NVKM_NVDEC_H__
|
|
#define nvkm_nvdec(p) container_of((p), struct nvkm_nvdec, engine)
|
|
#include <core/engine.h>
|
|
#include <core/falcon.h>
|
|
|
|
struct nvkm_nvdec {
|
|
const struct nvkm_nvdec_func *func;
|
|
struct nvkm_engine engine;
|
|
struct nvkm_falcon falcon;
|
|
};
|
|
|
|
int gm107_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
|
|
int tu102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
|
|
int ga102_nvdec_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_nvdec **);
|
|
#endif
|