summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2022-06-01 12:46:27 +0200
committerDave Airlie <airlied@redhat.com>2022-07-27 01:05:46 +0200
commit168c02994399f2714bc6c73f85b7ce4d827f97aa (patch)
treed305dc131d0e39b2fa1b78dfa6c548a4d7719467 /drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
parentdrm/nouveau/disp: collapse nv50_disp into nvkm_disp (diff)
downloadlinux-168c02994399f2714bc6c73f85b7ce4d827f97aa.tar.xz
linux-168c02994399f2714bc6c73f85b7ce4d827f97aa.zip
drm/nouveau/disp: add common class handling between <nv50 and >=nv50
About to expose head/output path/connector objects everywhere, so we will need support for child classes prior to nv50 now. Somewhat cleaner than the code >=nv50 used previously. v2: - use ?: (lyude) Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
index 28f015c8a080..1d81816498f9 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
@@ -26,11 +26,12 @@
#include "ior.h"
#include "outp.h"
#include "channv50.h"
-#include "rootnv50.h"
#include <core/ramht.h>
#include <subdev/timer.h>
+#include <nvif/class.h>
+
void
gf119_disp_super(struct work_struct *work)
{
@@ -264,7 +265,15 @@ gf119_disp = {
.head = { .cnt = gf119_head_cnt, .new = gf119_head_new },
.dac = { .cnt = gf119_dac_cnt, .new = gf119_dac_new },
.sor = { .cnt = gf119_sor_cnt, .new = gf119_sor_new },
- .root = &gf119_disp_root_oclass,
+ .root = { 0,0,GF110_DISP },
+ .user = {
+ {{0,0,GF110_DISP_CURSOR }, gf119_disp_curs_new },
+ {{0,0,GF110_DISP_OVERLAY }, gf119_disp_oimm_new },
+ {{0,0,GF110_DISP_BASE_CHANNEL_DMA }, gf119_disp_base_new },
+ {{0,0,GF110_DISP_CORE_CHANNEL_DMA }, gf119_disp_core_new },
+ {{0,0,GF110_DISP_OVERLAY_CONTROL_DMA}, gf119_disp_ovly_new },
+ {}
+ },
};
int