From: Imre Deak <imre.deak@intel.com>
To: Dennis Wang <wqingxmu@gmail.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
<linux-usb@vger.kernel.org>
Subject: Re: thunderbolt: DP tunnel activation not retried when display NAKs while settling after link reset (Apple Studio Display XDR 2026 on Panther Lake)
Date: Tue, 25 Aug 2026 20:33:25 +0300 [thread overview]
Message-ID: <ao3R5VPIL24cGuCO@ideak-desk.lan> (raw)
In-Reply-To: <CAOX-mXsStmbAbsgfxA8wySPNU=9P2Kxh=Y+EYO=e9s60OKSsMw@mail.gmail.com>
On Tue, Aug 25, 2026 at 10:11:53PM +0800, Dennis Wang wrote:
> Hi Imre,
>
> One clarification first: there is only one physical display - an Apple
> Studio Display XDR, a tiled 2x1 panel with two DP sinks, hence the two
> tunnels/connectors in the logs. The whole panel stays black from
> power-on until I type the LUKS passphrase blind; the compositor modeset
> after unlock is what first lights it. So it is not one display lighting
> up while another stays dark.
>
> Tested xe.enable_fbc=0 on a cold boot with both sinks active: panel
> still black until the compositor modeset (~83s). In that boot I noticed
> Panel Replay enabled at 4.7s and disabled at 81.6s, bracketing the
> black window exactly, so I also tried xe.enable_panel_replay=0: still
> black (until ~123s that time).
>
> What both logs show: the fbdev client's tiled two-pipe modeset
> completes without errors - links train at 5.4G x4, both tunnels get
> 17000 Mb/s allocated, transcoders enable (in the fbc=0 boot both pipes
> are up by 4.7s) - yet nothing ever appears on the panel. The first
> modeset that visibly lights it is the compositor's single-stream
> 5120x2880 DSC config after unlock.
Thanks.
Not sure what could be wrong with the fbdev modeset, no obvious issues
in the logs around that.
The later compositor modeset config is a bit strange: one pipe is
enabled with a 5120x2880 mode and another pipe with a 2560x2880 mode, as
if the tile configuration would be ignored. Could you check what's the
compositor's idea of the monitors and modes and try to set a 2560x2880
mode (after booting with disabling both fbc and panel replay)?
I think it'd be easier to follow up on a ticket, could you please open
one at
https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/new?type=Issue
and attach the log after setting the above 2560x2880 mode?
Could you also attach the log there when booting with video=DP-2:d?
> Consistent with that: booting with video=DP-2:d (second sink masked,
> single-stream from the start) is fully clean on every boot, LUKS prompt
> visible at ~4s.
>
> Both dmesgs attached (timestamps rebuilt from
> _SOURCE_MONOTONIC_TIMESTAMP as before). Happy to test patches or more
> knobs.
>
> Thanks,
> Dennis
>
> Imre Deak <imre.deak@intel.com> 于2026年8月25日周二 17:35写道:
> >
> >
> > Hi Dennis,
> >
> > thanks for the logs.
> >
> > Could you confirm that the problem you see is:
> >
> > After boot-up with both displays connected, one of the display is blank
> > by 4.839037, while the other display lights up okay.
> >
> > By 47.768154 both displays light up correctly.
> >
> > I can't see any obvious issues related to tunneling, both tunnels are
> > detected and the BW allocations for them succeed as expected.
> >
> > Could you try if the same sequence without the other issue you mentioned
> > happening (DP tunnel activation failed) the blank screen problem
> > reproduces booting with: xe.enable_fbc=0 ?
> >
> > Thanks,
> > Imre
> >
> > On Tue, Aug 25, 2026 at 09:42:23AM +0800, Dennis Wang wrote:
> > > Hi Mika, Imre,
> > >
> > > Attached: cold boot dmesg with thunderbolt.dyndbg=+p + drm.debug=0x10e
> > > (timestamps rebuilt from _SOURCE_MONOTONIC_TIMESTAMP; root fs is LUKS
> > > so journald re-stamps initramfs kmsg).
> > >
> > > This boot hit the graphics-side flavor - tunnels healthy, screen black
> > > until the LUKS passphrase was typed blind at ~40 s:
> > >
> > > 1.8s XDR found, Gen3 x2, both DP tunnels allocated, no errors
> > > 3.9s second sink (0:10 <-> 3:12): repeated "DPRX read timeout"
> > > (tiled 2x1 panel, two DP sinks)
> > > 3.96s fastset rejected: crtc_hblank_start expected 3840, found 1920
> > > 11.3s AUX_TC2 power well disabled - nothing lights the panel again
> > > until the compositor modeset after unlock (~60 s)
> > >
> > > A control cold boot with video=DP-2:d (masking the second sink) is
> > > fully clean, panel lit at ~4 s, single-stream 5K120 DSC. The original
> > > "DP tunnel activation failed" flavor is intermittent - will send it
> > > with full debug when I catch it.
> > >
> > > Happy to test patches on this hardware.
> > >
> > > Thanks,
> > > Dennis Wang
> >
> >
>
>
> --
> Best Regards
> Dennis.Wang
> Zoom
prev parent reply other threads:[~2026-08-25 17:33 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-23 15:24 thunderbolt: DP tunnel activation not retried when display NAKs while settling after link reset (Apple Studio Display XDR 2026 on Panther Lake) Dennis Wang
2026-08-24 10:07 ` Mika Westerberg
2026-08-25 1:42 ` Dennis Wang
2026-08-25 9:34 ` Imre Deak
2026-08-25 14:11 ` Dennis Wang
2026-08-25 17:33 ` Imre Deak [this message]
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=ao3R5VPIL24cGuCO@ideak-desk.lan \
--to=imre.deak@intel.com \
--cc=linux-usb@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=wqingxmu@gmail.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 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.