From: Alex Ramirez <[email protected]>
uconn.c's handling of display connectors was refactored for Linux v6.5,
causing a regression that issues a warning on boot for GeForce 8600m GT
(MacBookPro4,1)
and likely other legacy GPUs.
Several connector types used to be implicitly supported before v6.5 by a branch
in
[drm/nouveau/nouveau_connector.c:1353] that determined connector types using
encoder
bits, but these connectors have since been left entirely unhandled after the
refactor
due to the aforementioned kernel warning causing that branch to never be taken.
nv_connector->type is generally 0x0 (DCB_CONNECTOR_VGA) in the case of an
unknown
connector because the WARN_ON macro in
[drm/nouveau/nvkm/engine/disp/uconn.c:214]
causes nvkm_uconn_new to bail out before a suitable connector value is chosen;
it *seems* like the value is left undefined.
This patch set implements the missing DCB connector values per NVIDIA spec to
fix the
root cause of the warning and changes the WARN_ON macro in uconn.c to a printk
message
to more gracefully indicate unknown connector types, as was done pre-v6.5.
v2: Include better commit messages. My original submission was partially
blocked by a spam filter.
v3: Update NVIDIA documentation link according to Petr Vorel's suggestion.
Alex Ramirez (2):
drm/nouveau: add missing DCB connector types
drm/nouveau: implement missing DCB connector types; gracefully handle
unknown connectors
.../nouveau/include/nvkm/subdev/bios/conn.h | 84 ++++++++++++++-----
.../gpu/drm/nouveau/nvkm/engine/disp/uconn.c | 73 +++++++++++-----
2 files changed, 116 insertions(+), 41 deletions(-)
--
2.51.1