Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Nenciarini <mnencia@kcore.it>
To: Jakub Bystron <jb@elitecode.cz>
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Aaron Esau <aaron1esau@gmail.com>,
	Imre Deak <imre.deak@intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Mika Kahola <mika.kahola@intel.com>
Subject: Re: [BUG] xe: Meteor Lake 7d55 eDP PHY A/DPLL state mismatch, flip_done timeout
Date: Thu, 21 May 2026 19:57:29 +0200	[thread overview]
Message-ID: <ag9HiZKGsQcBRBot@spark.kcore.it> (raw)
In-Reply-To: <TDn3cEkpVu-dBI63qMzn4sYGIkclsctG5pYDF70-dxuekRCixI_FpRQmeJL6UjZH_MtI8PBkjEsJxc93SEV9OmQvlT_CCrD2-qDb8Ss8X-Q=@elitecode.cz>

[-- Attachment #1: Type: text/plain, Size: 4014 bytes --]

Hi Jakub,

I reproduce the same bug on different hardware with the i915 driver:

  Hardware: Dell Pro Max 16 Premium MA16250, BIOS 1.9.0
  CPU: Core Ultra 7 265H (Arrow Lake-H)
  iGPU: 8086:7d51 (different MTL/ARL stepping from your 7d55)
  Kernel: 7.0.7+deb13-amd64 (Debian)
  Driver: i915 (no force_probe), Wayland (GNOME)
  Hybrid: NVIDIA RTX PRO 1000 Blackwell dGPU, open module 595.71.05

Signature is line-for-line identical to yours on the internal eDP
panel:

  i915 0000:00:02.0: [drm] *ERROR* Failed to bring PHY A to idle.
  i915 0000:00:02.0: [drm] *ERROR* PHY A Read 0c70 failed after 3 retries.
  i915 0000:00:02.0: [drm] *ERROR* PHY A Write 0c70 failed after 3 retries.
  i915 0000:00:02.0: [drm] *ERROR* Timeout waiting for DDI BUF A to get active
  i915 0000:00:02.0: [drm] *ERROR* Timed out waiting for DP idle patterns
  i915 0000:00:02.0: [drm] *ERROR* [CRTC:149:pipe A] flip_done timed out
  i915 0000:00:02.0: [drm] *ERROR* [CRTC:149:pipe A] mismatch in dpll_hw_state
  i915 0000:00:02.0: [drm] *ERROR* [CRTC:149:pipe A] mismatch in port_clock
                                   (expected 540000, found 61440)
  WARNING ... intel_modeset_verify_crtc+0x325/0x550 [i915]
  WARNING ... verify_single_dpll_state+0x1a2/0x560 [i915]
  i915 0000:00:02.0: [drm] *ERROR* flip_done timed out (x N, every 10 s)
  i915 0000:00:02.0: [drm] PHY A failed to change powerdown state
  WARNING ... intel_disable_transcoder+0x311/0x3c0 [i915]
  i915 0000:00:02.0: [drm] pipe_off wait timed out

Yours fires on xe at the same source line offsets in
intel_modeset_verify_crtc and verify_single_dpll_state. Both drivers
share drivers/gpu/drm/i915/display/, so the bug is in that shared
display IP code rather than in the i915-specific or xe-specific
top-level code.

Deterministic trigger I use:

  DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus \
    notify-send -u critical "wake test" "trigger"

with the laptop locked or DPMS-off. Fires within 29 minutes of boot
on our setup. No s2idle in the loop. Probably reproduces under xe on
your hardware too with the same approach.

Self-recovery: bounded waits eventually time out (3 retries on PHY
MSGBUS, 10 s on flip_done, 100 ms on pipe_off). intel_disable_transcoder
returns with the WARN, Mutter stops retrying for 60 to 100 s, the
PHY hardware heals itself in that idle window, and the next wake-input
(mouse, keyboard, fingerprint) triggers a fresh modeset that succeeds.
Total 2 to 4 minutes of dead screen per occurrence. Not REISUB-class
on this hardware.

Cross-reference: Aaron Esau (Cc'd) posted a 3-patch series targeting
this on intel-gfx@ on 2026-05-09 [1]. The series received pushback
from Imre, Jani N, and Mika arguing for catching the failure pre-commit
so the atomic_commit can fail cleanly at check time rather than
mid-commit. The series is currently stalled. With Jakub's report,
Aaron's report, and mine, the bug reproduces on at least three
independent setups across i915 and xe, ARL-H and MTL, with and without
an active NVIDIA driver.

On the NVIDIA framing: Aaron's cover letter attributed the MSGBUS
unresponsiveness to the NVIDIA dGPU not participating in S0ix
(NVreg_EnableS0ixPowerManagement). That framing has two cracks. My
reproduction has S0ix participation enabled AND NVIDIA runtime PM
fully disabled (NVreg_DynamicPowerManagement=0x00, dGPU stays in D0
since boot, never enters D3), yet the bug still fires. Jakub's setup
has xe forcing the iGPU and no active NVIDIA driver in dmesg. So
whatever platform-side condition causes the PHY to wedge, the NVIDIA
module parameters are not the lever, and the bug occurs without an
active NVIDIA driver. The fix has to be on the i915/xe side.

Happy to provide a full diagnostic bundle if useful.

[1] https://lore.kernel.org/intel-gfx/20260509162407.510539-1-aaron1esau@gmail.com/

Regards,
Marco

-- 
Marco Nenciarini - mnencia@kcore.it
7C23 B804 3E65 D298 0A21  B6E2 589F 03F0 1BA5 5038

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-05-22 12:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-19  8:55 [BUG] xe: Meteor Lake 7d55 eDP PHY A/DPLL state mismatch, flip_done timeout Jakub Bystron
2026-05-21 17:57 ` Marco Nenciarini [this message]
2026-05-21 19:26   ` Jani Nikula
  -- strict thread matches above, loose matches on Subject: below --
2026-05-20 12:55 Jakub Bystron
2026-05-20 14:03 ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ag9HiZKGsQcBRBot@spark.kcore.it \
    --to=mnencia@kcore.it \
    --cc=aaron1esau@gmail.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jb@elitecode.cz \
    --cc=mika.kahola@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox