Lyude
78385cb398
drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select()
We don't actually check for INTEL_OUTPUT_DP_MST at all in here, as a
result we skip assigning a DPLL to any DP MST ports, which makes link
training fail:
[ 1442.933896] [drm:intel_power_well_enable] enabling DDI D power well
[ 1442.933905] [drm:skl_set_power_well] Enabling DDI D power well
[ 1442.933957] [drm:intel_mst_pre_enable_dp] 0
[ 1442.935474] [drm:intel_dp_set_signal_levels] Using signal levels 00000000
[ 1442.935477] [drm:intel_dp_set_signal_levels] Using vswing level 0
[ 1442.935480] [drm:intel_dp_set_signal_levels] Using pre-emphasis level 0
[ 1442.936190] [drm:intel_dp_set_signal_levels] Using signal levels 05000000
[ 1442.936193] [drm:intel_dp_set_signal_levels] Using vswing level 1
[ 1442.936195] [drm:intel_dp_set_signal_levels] Using pre-emphasis level 1
[ 1442.936858] [drm:intel_dp_set_signal_levels] Using signal levels 08000000
[ 1442.936862] [drm:intel_dp_set_signal_levels] Using vswing level 2
…
[ 1442.998253] [drm:intel_dp_link_training_clock_recovery [i915]] *ERROR* too many full retries, give up
[ 1442.998512] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to train DP, aborting
After which the pipe state goes completely out of sync:
[ 70.075596] [drm:check_crtc_state] [CRTC:25]
[ 70.075696] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in ddi_pll_sel (expected 0x00000000, found 0x00000001)
[ 70.075747] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in shared_dpll (expected -1, found 0)
[ 70.075798] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in dpll_hw_state.ctrl1 (expected 0x00000000, found 0x00000021)
[ 70.075840] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in dpll_hw_state.cfgcr1 (expected 0x00000000, found 0x80400173)
[ 70.075884] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in dpll_hw_state.cfgcr2 (expected 0x00000000, found 0x000003a5)
[ 70.075954] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in base.adjusted_mode.crtc_clock (expected 262750, found 72256)
[ 70.075999] [drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in port_clock (expected 540000, found 148500)
And if you're especially lucky, it keeps going downhill:
[ 83.309256] Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler
[ 83.309265]
[ 83.309265] =================================
[ 83.309266] [ INFO: inconsistent lock state ]
[ 83.309267] 4.5.0-rc1Lyude-Test #265 Not tainted
[ 83.309267] ---------------------------------
[ 83.309268] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
[ 83.309270] Xorg/1194 [HC0[1]:SC0[0]:HE1:SE1] takes:
[ 83.309293] (&(&dev_priv->uncore.lock)->rlock){?.-...}, at: [<ffffffffa02a6073>] gen9_write32+0x63/0x400 [i915]
[ 83.309293] {IN-HARDIRQ-W} state was registered at:
[ 83.309297] [<ffffffff810e84f4>] __lock_acquire+0x9c4/0x1d00
[ 83.309299] [<ffffffff810ea1be>] lock_acquire+0xce/0x1c0
[ 83.309302] [<ffffffff8177d936>] _raw_spin_lock_irqsave+0x56/0x90
[ 83.309321] [<ffffffffa02a5492>] gen9_read32+0x52/0x3d0 [i915]
[ 83.309332] [<ffffffffa024beea>] gen8_irq_handler+0x27a/0x6a0 [i915]
[ 83.309337] [<ffffffff810fdbc1>] handle_irq_event_percpu+0x41/0x300
[ 83.309339] [<ffffffff810fdeb9>] handle_irq_event+0x39/0x60
[ 83.309341] [<ffffffff811010b4>] handle_edge_irq+0x74/0x130
[ 83.309344] [<ffffffff81009073>] handle_irq+0x73/0x120
[ 83.309346] [<ffffffff817805f1>] do_IRQ+0x61/0x120
[ 83.309348] [<ffffffff8177e6d6>] ret_from_intr+0x0/0x20
[ 83.309351] [<ffffffff815f5105>] cpuidle_enter_state+0x105/0x330
[ 83.309353] [<ffffffff815f5367>] cpuidle_enter+0x17/0x20
[ 83.309356] [<ffffffff810dbe1a>] call_cpuidle+0x2a/0x50
[ 83.309358] [<ffffffff810dc1dd>] cpu_startup_entry+0x26d/0x3a0
[ 83.309360] [<ffffffff817701da>] rest_init+0x13a/0x140
[ 83.309363] [<ffffffff81f2af8e>] start_kernel+0x475/0x482
[ 83.309365] [<ffffffff81f2a315>] x86_64_start_reservations+0x2a/0x2c
[ 83.309367] [<ffffffff81f2a452>] x86_64_start_kernel+0x13b/0x14a
Fixes: 82d3543701 ("drm/i915/skl: Implementation of SKL DPLL programming")
Signed-off-by: Lyude <cpaul@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1454428183-994-1-git-send-email-cpaul@redhat.com
2016-02-09 10:34:48 +01:00
..
2015-12-11 14:24:26 -08:00
2015-12-07 10:25:57 -05:00
2015-10-12 19:56:27 -07:00
2015-12-14 22:58:57 +01:00
2015-12-22 16:00:25 -08:00
2015-11-10 18:11:41 -08:00
2015-11-12 09:58:21 -08:00
2015-12-09 13:13:06 -06:00
2015-12-12 16:43:44 -08:00
2015-12-10 19:37:18 +01:00
2015-11-06 17:50:42 -08:00
2015-12-14 22:58:57 +01:00
2015-10-23 12:40:48 +02:00
2015-12-05 10:46:44 -08:00
2015-12-10 09:48:01 +05:30
2015-10-30 01:16:16 -04:00
2015-11-06 14:22:15 -08:00
2015-10-26 14:48:22 +00:00
2015-11-11 10:21:34 -08:00
2015-11-10 15:00:03 -08:00
2015-11-24 15:25:46 -08:00
2015-12-17 15:48:29 +01:00
2016-02-09 10:34:48 +01:00
2015-12-13 11:58:18 -08:00
2015-10-30 16:10:40 +01:00
2015-11-04 16:24:33 +01:00
2015-12-18 08:19:52 -08:00
2015-11-13 20:04:17 -08:00
2015-12-19 12:00:37 +01:00
2015-11-06 17:50:42 -08:00
2015-11-21 18:24:44 +00:00
2015-12-08 16:55:31 -05:00
2015-12-19 09:51:11 -08:00
2015-12-18 12:38:35 -08:00
2015-12-01 22:50:16 +01:00
2015-12-15 13:24:21 -05:00
2015-11-05 13:15:12 -08:00
2015-12-07 09:14:20 -07:00
2015-10-15 20:31:59 +11:00
2015-11-04 14:03:04 +05:30
2015-10-29 09:02:16 +09:00
2015-12-18 15:19:16 +11:00
2015-12-18 15:41:35 -08:00
2015-11-10 15:00:03 -08:00
2015-11-12 07:06:18 -05:00
2015-11-06 14:22:15 -08:00
2015-12-08 16:57:01 +11:00
2015-11-09 14:04:52 +01:00
2015-12-08 17:10:20 -08:00
2015-12-18 12:24:52 -08:00
2015-11-10 18:11:41 -08:00
2015-11-08 16:24:43 -05:00
2015-11-12 09:55:23 -08:00
2015-12-22 10:12:04 -07:00
2015-10-12 10:29:36 -07:00
2015-12-09 09:08:36 -06:00
2015-12-12 16:07:25 +01:00
2015-12-24 08:08:47 +10:00
2015-10-05 04:47:09 +01:00
2015-11-04 14:47:13 -08:00
2015-12-07 18:44:02 +05:30
2015-12-14 11:31:20 +01:00
2016-01-11 15:56:23 +01:00
2015-11-06 10:23:50 -08:00
2015-12-12 02:31:11 +01:00
2015-11-11 09:16:10 -08:00
2015-11-05 13:15:12 -08:00
2015-11-26 17:44:28 +02:00
2015-12-20 13:39:29 +01:00
2015-12-22 15:43:18 -08:00
2015-12-17 07:32:08 -08:00
2015-11-17 02:12:46 +09:00
2015-11-25 23:48:12 +01:00
2015-12-16 13:28:32 +00:00
2015-11-04 22:15:15 -08:00
2015-10-28 21:05:21 +02:00
2015-12-17 11:20:13 -08:00
2015-11-28 21:23:13 -08:00
2015-11-23 16:38:40 -08:00
2015-12-12 23:05:28 -08:00
2015-12-18 09:30:34 -08:00
2015-11-04 21:50:37 -08:00
2015-12-04 08:38:42 -07:00
2015-12-07 17:28:10 +02:00
2015-12-09 12:57:13 +02:00
2015-12-07 17:28:11 +02:00
2015-11-04 22:15:15 -08:00
2015-11-05 12:28:15 -08:00
2015-11-23 09:00:09 +01:00
2015-12-18 12:24:52 -08:00
2015-11-04 22:15:15 -08:00
2015-11-16 15:22:28 -07:00