drm/nouveau/disp: add output class
authorBen Skeggs <bskeggs@redhat.com>
Wed, 1 Jun 2022 10:46:31 +0000 (20:46 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 26 Jul 2022 23:05:49 +0000 (09:05 +1000)
commit1b255f1ccc883256e23db279ea164273ea0f7462
tree65e4cd469206eefb71c9b117842d9d124b23c154
parenta6fd8f936402c3bcc5ac6aed9cca8e73b5ca08f7
drm/nouveau/disp: add output class

Will be used to more cleanly implement existing method interfaces that
take some confusing (IEDTkey, inherited from VBIOS, which RM no longer
uses on Ampere) match values to determine which display path to operate
on.

Methods will be protected from racing with supervisor, and from being
called where they shouldn't be (ie. without an OR assigned).

v2:
- use ?: (lyude)
v3:
- fix return code if noacquire() method fails

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
17 files changed:
drivers/gpu/drm/nouveau/dispnv50/disp.c
drivers/gpu/drm/nouveau/include/nvif/class.h
drivers/gpu/drm/nouveau/include/nvif/disp.h
drivers/gpu/drm/nouveau/include/nvif/if0010.h
drivers/gpu/drm/nouveau/include/nvif/if0012.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/include/nvif/outp.h [new file with mode: 0644]
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
drivers/gpu/drm/nouveau/nouveau_bios.c
drivers/gpu/drm/nouveau/nouveau_encoder.h
drivers/gpu/drm/nouveau/nvif/Kbuild
drivers/gpu/drm/nouveau/nvif/disp.c
drivers/gpu/drm/nouveau/nvif/outp.c [new file with mode: 0644]
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h
drivers/gpu/drm/nouveau/nvkm/engine/disp/udisp.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c [new file with mode: 0644]