DP link training and performance issues with HDMI USB-C dongle and Skylake

Andy Lutomirski luto at amacapital.net
Thu Jun 23 01:30:34 UTC 2016


I have a Dell XPS 13 9350 (Skylake) and a Dell DA200 adapter.  The
latter is a Thunderbolt device that includes an HDMI port and connects
over USB Type C.  I believe that it's internally using DP Alternate
Mode.

When I plug it in on 4.7-rc4, I get spew like this:

[   90.718106] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   91.077604] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   91.437059] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   91.796479] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   92.156101] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   92.515647] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   92.875184] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   93.234735] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   93.594294] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   93.953812] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   94.313390] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   94.673043] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   95.032890] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   95.393016] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   95.752879] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   96.113074] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   96.473068] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   96.833185] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   97.193233] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   97.553138] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   97.913526] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   98.273525] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   98.634178] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   98.993859] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   99.354484] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[   99.714669] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  100.077412] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  100.432684] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  100.792499] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  101.152378] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  101.512265] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  101.872466] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  102.232284] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  102.592251] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  103.111283] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  103.466511] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  103.826082] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  104.191906] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  104.547038] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  104.911264] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  105.270679] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  105.625774] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  105.986064] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  106.350045] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  106.705325] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  107.064897] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  107.431263] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  107.790793] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  108.146016] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  108.506093] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  108.865924] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  109.225629] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  109.585347] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  109.945312] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  110.305386] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  110.665332] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  111.025603] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  111.385657] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  111.745601] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  112.105518] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  112.718847] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  113.073775] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  113.438169] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  113.793192] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  114.153918] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  114.518192] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  114.873610] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  115.237653] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  115.597573] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  115.952516] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  116.311991] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  116.671949] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  117.036837] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  117.396600] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  117.751475] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  118.111460] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  120.951243] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  121.220279] [drm:intel_cpu_fifo_underrun_irq_handler [i915]]
*ERROR* CPU pipe A FIFO underrun
[  121.557147] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  121.917396] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  122.277229] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  122.637058] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  122.997127] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  123.356945] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  123.716572] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  124.076643] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  124.436634] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  127.376130] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  127.661958] [drm:intel_cpu_fifo_underrun_irq_handler [i915]]
*ERROR* CPU pipe A FIFO underrun
[  127.998487] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  128.359404] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  128.724603] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  129.084169] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  129.439314] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  129.799068] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  130.158955] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  130.531493] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  130.901315] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  132.398687] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  132.504611] [drm:intel_cpu_fifo_underrun_irq_handler [i915]]
*ERROR* CPU pipe B FIFO underrun
[  132.791140] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  133.151143] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  133.515409] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  133.874799] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  134.229859] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  134.589709] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  134.951689] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  135.311006] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  135.670393] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  136.029845] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  136.389586] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  137.050866] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  137.406069] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  137.770275] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  138.129818] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  138.484978] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  138.845630] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  139.209948] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  139.569661] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  139.924790] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  140.284665] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  140.644384] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  141.008883] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  141.368673] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  141.723749] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  142.084181] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  142.444125] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  142.803746] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  143.163131] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  143.523003] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  143.882379] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  144.241770] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  144.601156] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to train DP, aborting
[  145.161040] [drm:intel_dp_start_link_train [i915]] *ERROR* failed
to get link status

while this is happening, I have periods of normal performance on the
laptop screen and periods during which the whole system appears to be
hung for a few seconds at a time.  When I unplug the HDMI link from
the dongle, everything goes back to normal.

I don't know whether this is a hardware issue, an Alpine Ridge
firmware issue (mine is out of date because it appears to be
impossible to update it on Linux for now), or an i915 driver issue.

--Andy


More information about the dri-devel mailing list