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