DisplayPort: handling of HPD events / link training
Thomas Zimmermann
tzimmermann at suse.de
Tue Jul 16 15:58:37 UTC 2024
Hi
Am 27.02.24 um 23:40 schrieb Dmitry Baryshkov:
> Hello,
>
> We are currently looking at checking and/or possibly redesigning the
> way the MSM DRM driver handles the HPD events and link training.
>
> After a quick glance at the drivers implementing DP support, I noticed
> following main approaches:
> - Perform link training at the atomic_enable time, don't report
> failures (mtk, analogix, zynqmp, tegra, nouveau)
> - Perform link training at the atomic_enable time, report errors using
> link_status property (i915, mhdp8546)
> - Perform link training on the plug event (msm, it8605).
> - Perform link training from the DPMS handler, also calling it from
> the enable callback (AMDGPU, radeon).
>
> It looks like the majority wins and we should move HPD to
> atomic_enable time. Is that assumption correct?
Did you ever receive an answer to this question? I currently investigate
ast's DP code, which does link training as part of detecting the
connector state (in detect_ctx). But most other drivers do this in
atomic_enable. I wonder if ast should follow.
Best regards
Thomas
>
> Also two related questions:
> - Is there a plan to actually make use of the link_status property?
> Intel presented it at FOSDEM 2018, but since that time it was not
> picked up by other drivers.
>
> - Is there any plan to create generic DP link training helpers? After
> glancing through the DP drivers there is a lot of similar code in the
> link training functions, with minor differences here and there. And
> it's those minor differences that bug me. It means that drivers might
> respond differently to similar devices. Or that there might be minor
> bugs here and there.
>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the Nouveau
mailing list