mirror of
https://github.com/torvalds/linux.git
synced 2026-04-24 09:35:52 -04: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>
18 lines
621 B
C
18 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
|