All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] drm/nouveau: GSP DP control call fixes and two KMS fixes
@ 2026-11-03 19:28 ` David R. Hedges
  0 siblings, 0 replies; 18+ messages in thread
From: David R. Hedges via B4 Relay @ 2026-11-03 19:28 UTC (permalink / raw)
  To: Lyude Paul, Danilo Krummrich, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Dave Airlie,
	Ben Skeggs
  Cc: dri-devel, nouveau, linux-kernel, David R. Hedges, stable

These turned up while debugging a DP monitor on a GA102 (GSP-RM
570.144) that stays dark after DPMS off [1].  The fix for that is a
separate series for drm-misc-next, based on this one.  These five
don't depend on it, or on each other:

 - 1: r535_gsp_rpc_rm_ctrl_push() reports success with a NULL reply
   when the reply it was waiting for goes missing.  That only happens
   after a WARN in r535_gsp_msgq_recv(); found by reading the code.
 - 2: r535_dp_aux_xfer() has, since v6.12, passed RM's reply fields up
   as a completed AUX transaction even when RM failed the call.  With
   Ubuntu's 7.3 kernel this machine logs bursts of 40-50 such failures
   each time the monitor fails to come back from DPMS off.
 - 3: r535_dp_train_target() dereferences a NULL reply after a GSP RPC
   timeout.  Seen once, turning a display engine hang into an oops.
 - 4: a modeset racing a probe that lost the EDID drives the output at
   0 bpc and trips the WARN in nv50_sor_dp_watermark_sst().  Seen with
   Ubuntu's 7.3 kernel.
 - 5: since v6.2, a plug or unplug event pending together with an
   IRQ_HPD, including the sink count changes nouveau_dp_irq() reports
   that way, skips connector detection.  Found by reading the code; I
   have nothing that changes its sink count to test it with.

Testing, on the GA102 above with Ubuntu's 7.3.0-9-generic kernel and
nouveau built from v7.3 plus this series and the drm-misc-next one:

 - the DPMS, cable replug, S3 suspend/resume and power button tests
   described in the other series, with drm.debug=0x106, and five days
   of normal use: no WARNs, oopses or display engine hangs.  The only
   GSP errors were AUXCH_CTRL failures (0x65) while the monitor was
   switched off, and those now reach the DP helpers as errors ("Too
   many retries, giving up. First error: -22") rather than as
   completed transfers.
 - 1, 3 and 5 deal with conditions I can't reproduce on demand, and the
   0-bpc race 4 fixes didn't recur.

Both series build with W=1 on drm-misc-fixes (this one) and on
drm-misc-next (both), with no new W=1 or sparse warnings in the
touched files.  checkpatch --strict only points out RM's camel-case
replyType field.

This series was developed with the help of Claude Code (Claude Opus
5.5).  It analysed the kernel logs, read the nouveau, DRM and NVIDIA
open-gpu-kernel-modules sources, drafted the patches and changelogs,
and ran the build and checkpatch checks.  I provided evidence and
direction, reviewed changes, and ran the hardware tests.

[1] https://gitlab.freedesktop.org/drm/nouveau/-/work_items/515

Signed-off-by: David R. Hedges <linuxdev844@thelittleman.net>
---
David R. Hedges (5):
      drm/nouveau/gsp: fail control calls whose reply went missing
      drm/nouveau/gsp: don't report failed DP AUX transfers as completed
      drm/nouveau/gsp: don't dereference a failed DP_CTRL reply
      drm/nouveau/kms/nv50-: don't drive outputs at 0 bpc
      drm/nouveau: don't let an IRQ_HPD hide a plug or unplug event

 drivers/gpu/drm/nouveau/dispnv50/disp.c                |  7 +++++--
 drivers/gpu/drm/nouveau/nouveau_display.c              |  7 ++++++-
 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/ctrl.c |  3 +++
 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/disp.c | 11 +++++++----
 4 files changed, 21 insertions(+), 7 deletions(-)
---
base-commit: 54a88d9afcca66221d14f438d0960472984968ec
change-id: 20261103-nouveau-dp-fixes-4e5472679f13

Best regards,
--  
David R. Hedges <linuxdev844@thelittleman.net>



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

end of thread, other threads:[~2026-11-04 14:34 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-03 19:28 [PATCH 0/5] drm/nouveau: GSP DP control call fixes and two KMS fixes David R. Hedges via B4 Relay
2026-11-03 19:28 ` David R. Hedges
2026-11-03 19:28 ` [PATCH 1/5] drm/nouveau/gsp: fail control calls whose reply went missing David R. Hedges via B4 Relay
2026-11-03 19:28   ` David R. Hedges
2026-11-03 19:28 ` [PATCH 2/5] drm/nouveau/gsp: don't report failed DP AUX transfers as completed David R. Hedges via B4 Relay
2026-11-03 19:28   ` David R. Hedges
2026-11-03 19:28 ` [PATCH 3/5] drm/nouveau/gsp: don't dereference a failed DP_CTRL reply David R. Hedges via B4 Relay
2026-11-03 19:28   ` David R. Hedges
2026-11-03 19:28 ` [PATCH 4/5] drm/nouveau/kms/nv50-: don't drive outputs at 0 bpc David R. Hedges via B4 Relay
2026-11-03 19:28   ` David R. Hedges
2026-11-03 19:41   ` sashiko-bot
2026-11-03 20:47     ` David R. Hedges
2026-11-03 20:47       ` David R. Hedges
2026-11-03 19:28 ` [PATCH 5/5] drm/nouveau: don't let an IRQ_HPD hide a plug or unplug event David R. Hedges via B4 Relay
2026-11-03 19:28   ` David R. Hedges
2026-11-03 19:45   ` sashiko-bot
2026-11-03 20:56     ` David R. Hedges
2026-11-03 20:56       ` David R. Hedges

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.