mirror of
https://github.com/torvalds/linux.git
synced 2026-04-22 16:53:59 -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>
21 lines
704 B
C
21 lines
704 B
C
/* SPDX-License-Identifier: MIT
|
|
*
|
|
* Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
|
|
*/
|
|
#ifndef __NVKM_RM_ENGINE_H__
|
|
#define __NVKM_RM_ENGINE_H__
|
|
#include "gpu.h"
|
|
|
|
int nvkm_rm_engine_ctor(void *(*dtor)(struct nvkm_engine *), struct nvkm_rm *,
|
|
enum nvkm_subdev_type type, int inst,
|
|
const u32 *class, int nclass, struct nvkm_engine *);
|
|
int nvkm_rm_engine_new(struct nvkm_rm *, enum nvkm_subdev_type, int inst);
|
|
|
|
int nvkm_rm_engine_obj_new(struct nvkm_gsp_object *chan, int chid, const struct nvkm_oclass *,
|
|
struct nvkm_object **);
|
|
|
|
int nvkm_rm_gr_new(struct nvkm_rm *);
|
|
int nvkm_rm_nvdec_new(struct nvkm_rm *, int inst);
|
|
int nvkm_rm_nvenc_new(struct nvkm_rm *, int inst);
|
|
#endif
|