drm/nouveau/gsp: add gpu hal stubs
authorBen Skeggs <bskeggs@nvidia.com>
Fri, 14 Feb 2025 16:55:45 +0000 (02:55 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 18 May 2025 20:29:23 +0000 (06:29 +1000)
commitbefe75ae0db90dcbe94fe2670d94b8b7a4855666
tree85a50d5043fbeb24b9c05059191052baaf3d9592
parent0c6aa94f991b00b6799be66880918b68344eb92b
drm/nouveau/gsp: add gpu hal stubs

With GSP-RM handling the majority of the HW programming, NVKM's usual
HALs are more elaborate than necessary, resulting in a fair amount of
duplicated boilerplate.

Adds 'nvkm_rm_gpu' which serves to provide GPU-specific constants and
functions in a more streamlined manner.

This is initially used in subsequent commits to store engine class IDs,
and replace the per-engine/engobj boilerplate with common code for all
GSP-RM supported engines - and is further extended when adding GH100,
GB10x and GB20x support.

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 files changed:
drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ad102.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ga100.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/ga102.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/priv.h
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/Kbuild
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/ad10x.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/ga100.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/ga1xx.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gpu.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/gsp.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 [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu102.c
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/tu116.c