On 9/24/25 1:11 PM, Timur Krist贸f wrote:
On 9/24/25 19:48, Mario Limonciello wrote:
A slightly related question, would you be OK with changing the link
detection code to return dc_connection_none when DDC cannot read an
EDID header on digital signals, similar to how the non-DC code does it?
I personally think lining up all these nuances that are different
between the two is a good idea.e e
But for that specific question that's probably more of a Harry/Alex
Hung question.
@Harry and @Alex, what do you guys think about this?
Two possible cases come to mind:
1. When we are unable to read the EDID for some reason
2. When the EDID is buggy and/or doesn't contain any modes
Are these issues real or am I overthinking it?
Thanks & best regards,
Timur
Failing to read EDID has happened in the past, but I think with the
deferred aux message handling that should be cleared up now.
I was actually curious about that. I saw that issue while I was
working on something else. How is it deferred now? Can you point me
to the series that fixed it?
There's more patches than this one, but I believe this was the 馃挵 patch.
https://lore.kernel.org/amd-gfx/[email protected]/
I'm not sure if that deals with the same issue that I'm referring to.
Basically what I notice is that when plugging in a cable, it can happen
that the HPD pins make contact before the DDC pins, and hence DC fails
to read the EDID. This can happen often with DVI ports and rarely with
HDMI (and never happened to me with DP).
The non-DC code has a solution for this to retry in a few seconds.
I wasn't able to find anything for this in DC.
I found some code to set up some HPD filters, but that code is not
called from anywhere and I was told the HPD filter may not be the right
solution.
So my question is, what would be the right solution? Can we use a HPD
filter? Or better to do what the non-DC code does and just retry again
later?
Thanks,
Timur
Ah yes this is a totally different problem. It doesn't turn into a
storm does it? I would think a filter only makes sense if there is an
interrupt storm.
As long as it's just one HPD and no EDID found from what you've
described I would think spinning up a timer to try again in a few
seconds sounds like a reasonable approach.