linux/drivers/gpu/drm/nouveau/nvkm/engine/disp
Giuseppe Ranieri 1717fcc5be drm/nouveau/disp: don't reject HDMI config on cards without SCDC
nv50_hdmi_enable() passes the sink's SCDC capability from its EDID
straight through to nvif_outp_hdmi(). On pre-Maxwell-2 cards there is no
hdmi->scdc callback, so nvkm_uoutp_mthd_hdmi() rejects the whole
configuration with -EINVAL, and nv50_hdmi_enable() returns before
hdmi->ctrl() runs and before the AVI and VSI infoframes are sent.

The result on such a card driving an SCDC-capable HDMI 2.0 sink is that
HDMI audio silently stops working. Video is unaffected, and nothing is
logged, which makes the failure hard to attribute.

SCDC is optional, and the hdmi->scdc() call further down is already
guarded against a missing callback. Requesting it on a card that cannot
do it need not invalidate the rest of the HDMI configuration, so drop
that term from the condition and let the existing guard skip SCDC alone.

Fixes: 6c6abab20b ("drm/nouveau/disp: add output hdmi config method")
Signed-off-by: Giuseppe Ranieri <giuseppe@ranieri.dev>
Co-Authored-By: Tano Dzhinski <tano.dzhinski@gmail.com>
Signed-off-by: Tano Dzhinski <tano.dzhinski@gmail.com>
Tested-by: Tano Dzhinski <tano.dzhinski@gmail.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20260917215114.1136715-1-tano.dzhinski@gmail.com
2026-09-18 14:21:37 -04:00
..
base.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
chan.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
chan.h drm/nouveau/disp/r535: initial support 2023-10-31 15:08:16 +10:00
conn.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
conn.h drm/nouveau/disp: move outp init/fini paths to chipset code 2023-09-19 18:22:24 -04:00
dp.c drm/nouveau/kms/nv50-: create outputs based on nvkm info 2023-09-19 18:22:29 -04:00
dp.h
g84.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
g94.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
ga102.c drm/nouveau/disp: route GSP-RM display MMIO through nvkm_disp_func hooks 2026-08-25 17:49:23 -04:00
gb202.c drm/nouveau/gsp: fix vblank interrupts on GB20x 2026-08-25 17:49:23 -04:00
gf119.c drm/nouveau/disp/tu102-: prepare for GSP-RM 2023-10-31 15:08:14 +10:00
gk104.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
gk110.c
gm107.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
gm200.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
gp100.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
gp102.c
gt200.c
gt215.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
gv100.c drm/nouveau/disp/r535: Add scanline position support + head state support 2026-08-25 17:49:08 -04:00
hdmi.c
hdmi.h
head.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
head.h drm/nouveau/gsp: fix vblank interrupts on GB20x 2026-08-25 17:49:23 -04:00
ior.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ior.h drm/nouveau/disp: move the GSP HDMI GCP AVMute write to engine/disp 2026-08-25 17:49:23 -04:00
Kbuild drm/nouveau/disp: fix HDMI vendor infoframes on GB20x 2026-08-25 17:49:23 -04:00
mcp77.c drm/nouveau/disp: Fix missing backlight control on Macbook 5,1 2025-01-07 15:45:55 +01:00
mcp89.c drm/nouveau/disp: add output backlight control methods 2023-09-19 18:22:06 -04:00
nv04.c
nv50.c drm/nouveau/disp/tu102-: prepare for GSP-RM 2023-10-31 15:08:14 +10:00
outp.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
outp.h drm/nouveau/kms/nv50-: create outputs based on nvkm info 2023-09-19 18:22:29 -04:00
priv.h drm/nouveau/gsp: fix vblank interrupts on GB20x 2026-08-25 17:49:23 -04:00
tu102.c drm/nouveau/gsp: fix vblank interrupts on GB20x 2026-08-25 17:49:23 -04:00
uconn.c drm/nouveau: implement missing DCB connector types; gracefully handle unknown connectors 2026-01-21 15:47:40 -05:00
udisp.c
uhead.c
uoutp.c drm/nouveau/disp: don't reject HDMI config on cards without SCDC 2026-09-18 14:21:37 -04:00
vga.c