drm/nouveau/gsp: add common code for engines/engine objects
authorBen Skeggs <bskeggs@nvidia.com>
Fri, 14 Feb 2025 17:21:47 +0000 (03:21 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 18 May 2025 20:29:24 +0000 (06:29 +1000)
commit7c2d25f1e408bb7d18b867718f9961de3c2f23da
tree5ba811befca7e3a33a5380e97e93381b95dd0c0c
parent678bb27e8473c90841636e0232680c7c94f76aec
drm/nouveau/gsp: add common code for engines/engine objects

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>
58 files changed:
drivers/gpu/drm/nouveau/include/nvif/class.h
drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h
drivers/gpu/drm/nouveau/include/nvkm/engine/nvdec.h
drivers/gpu/drm/nouveau/include/nvkm/engine/nvenc.h
drivers/gpu/drm/nouveau/include/nvkm/engine/nvjpg.h [deleted file]
drivers/gpu/drm/nouveau/include/nvkm/engine/ofa.h [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/ce/ga100.c
drivers/gpu/drm/nouveau/nvkm/engine/ce/ga102.c
drivers/gpu/drm/nouveau/nvkm/engine/ce/tu102.c
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/gr/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/gr/ad102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/gr/ga102.c
drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.h
drivers/gpu/drm/nouveau/nvkm/engine/gr/tu102.c
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/ad102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/ga100.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/ga102.c
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/nvdec/tu102.c
drivers/gpu/drm/nouveau/nvkm/engine/nvenc/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/nvenc/ad102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvenc/ga102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvenc/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/nvenc/tu102.c
drivers/gpu/drm/nouveau/nvkm/engine/nvjpg/Kbuild [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvjpg/ad102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvjpg/ga100.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/nvjpg/priv.h [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/ofa/Kbuild [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/ofa/ad102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/ofa/ga100.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/ofa/ga102.c [deleted file]
drivers/gpu/drm/nouveau/nvkm/engine/ofa/priv.h [deleted file]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/Kbuild
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/ad10x.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/engine.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/engine.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/ga100.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/ga1xx.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gpu.h
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gr.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gr.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/nvdec.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/nvenc.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ce.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/fifo.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gr.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/nvdec.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/nvenc.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/nvjpg.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ofa.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rm.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/tu1xx.c