1*7c2d25f1SBen Skeggs /* SPDX-License-Identifier: MIT 2*7c2d25f1SBen Skeggs * 3*7c2d25f1SBen Skeggs * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. 4*7c2d25f1SBen Skeggs */ 5*7c2d25f1SBen Skeggs #ifndef __NVKM_RM_ENGINE_H__ 6*7c2d25f1SBen Skeggs #define __NVKM_RM_ENGINE_H__ 7*7c2d25f1SBen Skeggs #include "gpu.h" 8*7c2d25f1SBen Skeggs 9*7c2d25f1SBen Skeggs int nvkm_rm_engine_ctor(void *(*dtor)(struct nvkm_engine *), struct nvkm_rm *, 10*7c2d25f1SBen Skeggs enum nvkm_subdev_type type, int inst, 11*7c2d25f1SBen Skeggs const u32 *class, int nclass, struct nvkm_engine *); 12*7c2d25f1SBen Skeggs int nvkm_rm_engine_new(struct nvkm_rm *, enum nvkm_subdev_type, int inst); 13*7c2d25f1SBen Skeggs 14*7c2d25f1SBen Skeggs int nvkm_rm_engine_obj_new(struct nvkm_gsp_object *chan, int chid, const struct nvkm_oclass *, 15*7c2d25f1SBen Skeggs struct nvkm_object **); 16*7c2d25f1SBen Skeggs 17*7c2d25f1SBen Skeggs int nvkm_rm_gr_new(struct nvkm_rm *); 18*7c2d25f1SBen Skeggs int nvkm_rm_nvdec_new(struct nvkm_rm *, int inst); 19*7c2d25f1SBen Skeggs int nvkm_rm_nvenc_new(struct nvkm_rm *, int inst); 20*7c2d25f1SBen Skeggs #endif 21