Hi Wolfgang,
On Tue, Sep 02, 2025 at 04:32:10PM +0200, Wolfgang Frisch wrote:
> Hi,
>
> On 8/28/25 7:49 PM, Imre Deak wrote:
> > diff --git a/drivers/gpu/drm/display/drm_dp_helper.c
> > b/drivers/gpu/drm/display/drm_dp_helper.c
> > - ret = drm_dp_dpcd_probe(aux, DP_LANE0_1_STATUS);
> > + ret = drm_dp_dpcd_probe(aux, DP_TRAINING_PATTERN_SET);
> The original commit d34d6feaf4a76833effcec0b148b65946b04cde8 broke my setup,
> with a monitor connected via Thunderbolt. Linux 6.16.4 temporarily fixed the
> issue by reverting to DP_LANE0_1_STATUS. My monitor is a Samsung C34J79x
> connected via Thunderbolt 3.
>
> To be clear:
> - working: DP_LANE0_1_STATUS
> - not working: DP_TRAINING_PATTERN_SET
This looks like the issue tracked at
https://gitlab.freedesktop.org/drm/amd/-/issues/4500
The correct solution there is to disable the DPCD probing, which AMD
folks are working on atm. Until that, could you give a go to patch [1]
on the above ticket equivalent to this solution, applying on v6.17, or
the attached patch achieving the same on v6.16.4?
Also it would help if you could add a dmesg log on the ticket taken
after booting with drm.debug=0x100 and reproducing the problem (vs. two
other drm.debug=0x100 logs, one with the above DP_TRAINING_PATTERN_SET
-> DP_LANE0_1_STATUS change and another one with DPCD probing disabled
as I requested above, taken after booting up and connecting the
dock/monitor).
Thanks,
Imre
[1]
https://gitlab.freedesktop.org/-/project/4522/uploads/8b39006b61fe67674d9b41fd92224c32/0001-drm-dp-Disable-DPCD-probing.patch
> With the latter I get:
> > +thunderbolt 0000:c5:00.6: 2: timeout reading config space 2 from 0x20
> > +thunderbolt 0000:c5:00.6: 2: timeout reading config space 2 from 0x5
> > +thunderbolt 0000:c5:00.6: 2: cannot find TB_VSE_CAP_PLUG_EVENTS aborting
> > thunderbolt 1-2: new device found, vendor=0x175 device=0x20ab
> > thunderbolt 1-2: SAMSUNG ELECTRONICS CO.,LTD C34J79x
> > thunderbolt 1-0:2.1: new retimer found, vendor=0x1da0 device=0x8830
> > +thunderbolt 0000:c5:00.6: 0:6 <-> 2:10 (DP): not active, tearing down
> > +thunderbolt 0000:c5:00.6: 0:7 <-> 2:10 (DP): not active, tearing down
>
> Best regards
>
> --
> Wolfgang Frisch <[email protected]>
> Security Engineer
> OpenPGP fingerprint: A2E6 B7D4 53E9 544F BC13 D26B D9B3 56BD 4D4A 2D15
> SUSE Software Solutions Germany GmbH, Frankenstraße 146, 90461 Nürnberg
>
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index dc622c78db9d..ec53c545776f 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -724,7 +724,7 @@ ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset,
* We just have to do it before any DPCD access and hope that the
* monitor doesn't power down exactly after the throw away read.
*/
- if (!aux->is_remote) {
+ if (0 && !aux->is_remote) {
ret = drm_dp_dpcd_probe(aux, DP_LANE0_1_STATUS);
if (ret < 0)
return ret;