On Wed, 13 Apr 2022 at 08:11, Paul Menzel <pmenzel@xxxxxxxxxxxxx> wrote: > > Dear James, > > > I will do some more investigation. In addition to it not processing > > the EDID particularly well... > > Since my email, I have found out that it is failing to complete CR > > (Clock Recovery) on Link 0,2, but it works on 1,3 at HBR2. All 4 Links > > work at HBR1. (I need the HBR2 working) > > The CR negotiation in the code looks a bit wrong to me, so I will look > > into that a bit more. > > Looking at the current amdgpu source code (I am using Mainline > > kernel version 5.17.1), it appears to retry CR negotiation, but each > > time it uses the same settings, rather than try different driver > > parameters, as recommended in the DP standards and compliance test > > documents. > > […] > > Awesome, that you review the code with your expertise. Though I suggest > to look at and work on agd5f/amd-staging-drm-next [1], having the latest > code for the driver. > Just a small update. I have CR negotiation working now. I have found out what I suspected. Although the amdgpu driver has code in it that looks like CR negotiation is implemented, it does not actually do any negotiation at all. I still have some work to do, to also get EQ negotiation working. Once I have a patch that is tidy enough, I will raise a bug request and attach the patch to it. I am just pleased that this is a software problem, and not my screen at fault. Someone mentioned that the amdgpu driver is DP compliance tested periodically. In short, I don't think any of those Link negotiation DP compliance tests are actually valid, based on what I have found, so it might be sensible for the person who runs the Link negotiation DP compliance test suite to double check it is actually doing its job. Summary: During CR negotiation, it only ever outputs a swing of 0, and never 1,2 or 3 as it should. So, my guess is only Screens on relatively short cables have ever worked with the Linux amdgpu driver. Although longer cables might work for some, it probably gets a bit hit and miss for them. Kind Regards James