diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2022-06-01 20:46:28 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2022-07-27 09:05:47 +1000 |
commit | 79c453af55d9f1e85b906211ea4051364d28dcb4 (patch) | |
tree | fbd5497d397d166f893f13603c8c32a5ebce28a8 /drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c | |
parent | 1c6aab75ece7c1d450e4561cb2263403eeb7ae2f (diff) |
drm/nouveau/disp: replace hda func pointer check with flag
Simpler, and less error-prone than a separate set of function pointers.
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/ga102.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c index c693ad09fc83..9d008f090efe 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c @@ -84,7 +84,7 @@ ga102_sor_clock(struct nvkm_ior *sor) } static const struct nvkm_ior_func -ga102_sor_hda = { +ga102_sor = { .route = { .get = gm200_sor_route_get, .set = gm200_sor_route_set, @@ -114,40 +114,13 @@ ga102_sor_hda = { }, }; -static const struct nvkm_ior_func -ga102_sor = { - .route = { - .get = gm200_sor_route_get, - .set = gm200_sor_route_set, - }, - .state = gv100_sor_state, - .power = nv50_sor_power, - .clock = ga102_sor_clock, - .hdmi = { - .ctrl = gv100_sor_hdmi_ctrl, - .scdc = gm200_sor_hdmi_scdc, - }, - .dp = { - .lanes = { 0, 1, 2, 3 }, - .links = ga102_sor_dp_links, - .power = g94_sor_dp_power, - .pattern = gm107_sor_dp_pattern, - .drive = gm200_sor_dp_drive, - .vcpi = tu102_sor_dp_vcpi, - .audio = gv100_sor_dp_audio, - .audio_sym = gv100_sor_dp_audio_sym, - .watermark = gv100_sor_dp_watermark, - }, -}; - static int ga102_sor_new(struct nvkm_disp *disp, int id) { struct nvkm_device *device = disp->engine.subdev.device; u32 hda = nvkm_rd32(device, 0x08a15c); - if (hda & BIT(id)) - return nvkm_ior_new_(&ga102_sor_hda, disp, SOR, id); - return nvkm_ior_new_(&ga102_sor, disp, SOR, id); + + return nvkm_ior_new_(&ga102_sor, disp, SOR, id, hda & BIT(id)); } static const struct nvkm_disp_func |