All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] nouveau: assorted display fixes (GB20x, r570 DP_CONFIG_STREAM, HF-EEODB EDIDs)
@ 2026-08-14 23:56 ` Mohamed Ahmed
  0 siblings, 0 replies; 21+ messages in thread
From: Mohamed Ahmed @ 2026-08-14 23:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: dri-devel, Lyude Paul, Danilo Krummrich, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	Mary Guillemard, nouveau, Mohamed Ahmed

Several fixes for GSP-driven displays consisting of four independent
groups. These were created as part of ongoing HDMI 2.1 and display
handling clean-up work, so some of them are not issues now (e.g., the
2.147GHz pixel clock cap) but fixing them is required to get advanced
features such as FRL, DSC, VRR, etc working properly.

Patches 1-3 fix HDMI infoframes on GB20x. Blackwell removed the legacy
SF vendor-infoframe and GCP packet registers, so the MMIO writes land on
dead or moved offsets. Patch 1 adds a vendor infoframe writer for the new
layout, patch 2 switches GB20x over to it, and patch 3 corrects the GCP
AVMute offsets.

Patch 4 fixes DP modesets on r570 firmware. r570 shrank
NV0073_CTRL_CMD_DP_CONFIG_STREAM_PARAMS, so every call built against the
r535 struct is sent with a wrong paramsSize. Route the .sst/.vcpi paths
through per-version RM API hooks built against each firmware's struct.

Patch 5 fixes vblank interrupts on GB20x. The vblank enable moved to a
second top level FE interrupt enable and fires on a separate low-latency
vector that also needs a retrigger write. Without both, heads don't
report vblanks.

Patch 6 fixes pixel clocks above 2.147GHz on GB20x.
HEAD_SET_PIXEL_CLOCK_FREQUENCY carries 31 bits of Hz, and the CA7D class
adds FREQUENCY_HI for the upper bits. Program it instead of truncating
the clock.

Patch 7 converts nouveau's EDID handling to struct drm_edid, reading
through drm_edid_read_custom() on the GSP path. HDMI 2.1 sinks that
declare their real extension-block count through the EEODB no longer have
their EDIDs truncated to the base block's count.

Mohamed Ahmed (7):
  nouveau/disp: add GB20x HDMI vendor infoframe writer
  nouveau/gsp: fix HDMI vendor infoframes on GB20x
  nouveau/gsp: fix HDMI GCP AVMute register offsets on GB20x
  nouveau/gsp: use per-version DP_CONFIG_STREAM params on r570 firmware
  nouveau/gsp: fix vblank interrupts on GB20x
  nouveau/dispnv50: program pixel clocks above 2.147GHz on GB20x
  nouveau: honor HF-EEODB EDIDs by converting to struct drm_edid

 drivers/gpu/drm/nouveau/dispnv50/disp.c       |   2 +-
 drivers/gpu/drm/nouveau/dispnv50/headca7d.c   |  21 ++-
 .../drm/nouveau/include/nvhw/class/clca7d.h   |   4 +
 drivers/gpu/drm/nouveau/nouveau_connector.c   |  95 ++++++++++---
 drivers/gpu/drm/nouveau/nouveau_connector.h   |   7 +-
 .../gpu/drm/nouveau/nvkm/engine/disp/Kbuild   |   1 +
 .../gpu/drm/nouveau/nvkm/engine/disp/gb202.c  |  62 ++++++++
 .../gpu/drm/nouveau/nvkm/engine/disp/ior.h    |   2 +
 .../nouveau/nvkm/subdev/gsp/rm/r535/disp.c    | 132 +++++++++++++++++-
 .../nouveau/nvkm/subdev/gsp/rm/r570/disp.c    |  64 +++++++++
 .../drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c |   8 ++
 .../nvkm/subdev/gsp/rm/r570/nvrm/disp.h       |   2 +
 .../gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h   |   5 +
 13 files changed, 371 insertions(+), 34 deletions(-)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/gb202.c

-- 
2.55.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-08-15  0:13 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-14 23:56 [PATCH 0/7] nouveau: assorted display fixes (GB20x, r570 DP_CONFIG_STREAM, HF-EEODB EDIDs) Mohamed Ahmed
2026-08-14 23:56 ` Mohamed Ahmed
2026-08-14 23:56 ` [PATCH 1/7] nouveau/disp: add GB20x HDMI vendor infoframe writer Mohamed Ahmed
2026-08-14 23:56   ` Mohamed Ahmed
2026-08-15  0:08   ` sashiko-bot
2026-08-14 23:57 ` [PATCH 2/7] nouveau/gsp: fix HDMI vendor infoframes on GB20x Mohamed Ahmed
2026-08-14 23:57   ` Mohamed Ahmed
2026-08-15  0:08   ` sashiko-bot
2026-08-14 23:57 ` [PATCH 3/7] nouveau/gsp: fix HDMI GCP AVMute register offsets " Mohamed Ahmed
2026-08-14 23:57   ` Mohamed Ahmed
2026-08-14 23:57 ` [PATCH 4/7] nouveau/gsp: use per-version DP_CONFIG_STREAM params on r570 firmware Mohamed Ahmed
2026-08-14 23:57   ` Mohamed Ahmed
2026-08-15  0:13   ` sashiko-bot
2026-08-14 23:57 ` [PATCH 5/7] nouveau/gsp: fix vblank interrupts on GB20x Mohamed Ahmed
2026-08-14 23:57   ` Mohamed Ahmed
2026-08-15  0:08   ` sashiko-bot
2026-08-14 23:57 ` [PATCH 6/7] nouveau/dispnv50: program pixel clocks above 2.147GHz " Mohamed Ahmed
2026-08-14 23:57   ` Mohamed Ahmed
2026-08-14 23:57 ` [PATCH 7/7] nouveau: honor HF-EEODB EDIDs by converting to struct drm_edid Mohamed Ahmed
2026-08-14 23:57   ` Mohamed Ahmed
2026-08-15  0:08   ` sashiko-bot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.