[SKL, i915_bpo] System hang when switching between extended/mirror modes

Bug #1493746 reported by Timo Aaltonen
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Unassigned
Vivid
Fix Released
Critical
Timo Aaltonen

Bug Description

Switching between extended/mirror modes when an external monitor is plugged in causes a system hang on at least some machines, like my SKL-Y ultramobile test system. It needs a backport of an upstream commit from 4.3, modified to work on 4.2-based i915_bpo:

commit f015c5518879fb3e578caaa63806617468a24045
Author: Ville Syrjälä <email address hidden>
Date: Wed Jun 24 22:00:02 2015 +0300

    drm/i915: Split atomic wm update to pre and post variants
--

the watermark stuff is Skylake-specific, so can't regress BSW/BDW. This has been tested on a number of SKL machines now, fixing the bug.

Timo Aaltonen (tjaalton)
Changed in linux (Ubuntu):
importance: Undecided → High
status: New → In Progress
Changed in linux (Ubuntu Vivid):
assignee: nobody → Timo Aaltonen (tjaalton)
importance: Undecided → Critical
status: New → In Progress
Revision history for this message
Chih-Hsyuan Ho (chih) wrote :

Verified the kernel build with the said patch on multiple failed Intel SKL systems and it made display mode switching work reliably.

Timo Aaltonen (tjaalton)
description: updated
Revision history for this message
Leon Liao (lihow731) wrote :

On PAR4-DVT2-C2U with the kernel 3.19.0-28.30+bpo1 (download from http://koti.kapsi.fi/~tjaalton/skl/), the system hung doest not occurs when switching VGA output.

Luis Henriques (henrix)
Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed
Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-vivid' to 'verification-done-vivid'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-vivid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.2 KiB)

This bug was fixed in the package linux - 4.2.0-10.11

---------------
linux (4.2.0-10.11) wily; urgency=low

  [ Andy Whitcroft ]

  * Release Tracking Bug
    - LP: #1495208
  * No change rebuild to avoid issues with leading zero bytes on
    internal module signing key. (see launchpad bug 1494943)

  [ Ming Lei ]

  * [Config] SERIAL_8250_DW=y for arm64

  [ Upstream Kernel Changes ]

  * drm/i915: Move WaBarrierPerformanceFixDisable:skl to skl code from chv
    code
    - LP: #1484486
  * drm/i915/gen8: Add infrastructure to initialize WA batch buffers
    - LP: #1484486
  * drm/i915/gen8: Re-order init pipe_control in lrc mode
    - LP: #1484486
  * drm/i915/gen8: Add WaDisableCtxRestoreArbitration workaround
    - LP: #1484486
  * drm/i915/gen8: Add WaFlushCoherentL3CacheLinesAtContextSwitch
    workaround
    - LP: #1484486
  * drm/i915: Bail out early if WA batch is not available for given Gen
    - LP: #1484486
  * drm/i915/gen8: Add WaClearSlmSpaceAtContextSwitch workaround
    - LP: #1484486
  * drm/i915: Update WaFlushCoherentL3CacheLinesAtContextSwitch
    - LP: #1484486
  * drm/i915/gen9: Implement WaDisableKillLogic for gen 9
    - LP: #1484486
  * drm/i915: Enable WA batch buffers for Gen9
    - LP: #1484486
  * drm/i915/gen9: Add WaDisableCtxRestoreArbitration workaround
    - LP: #1484486
  * drm/i915: Update wa_ctx_emit() macro as per kernel coding guidelines
    - LP: #1484486
  * drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch
    workaround
    - LP: #1484486
  * drm/i915/gen9: Add
    WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken
    - LP: #1484486
  * drm/i915:skl: Add WaEnableGapsTsvCreditFix
    - LP: #1484486
  * drm/i915/skl: revert duplicated WaBarrierPerformanceFixDisable:skl
    - LP: #1484486
  * drm/i915/skl: Don't expose the top most plane on gen9 display
    - LP: #1484486
  * drm/i915/skl WaDisableSbeCacheDispatchPortSharing
    - LP: #1484486
  * drm/i915/skl: WaIgnoreDDIAStrap is forever, always init DDI A
    - LP: #1484486
  * drm/i915: reduce indent in i9xx_hpd_irq_handler
    - LP: #1484531
  * drm/i915: reduce duplicate conditions in i9xx_hpd_irq_handler
    - LP: #1484531
  * drm/i915: reduce indent in intel_hpd_irq_handler
    - LP: #1484531
  * drm/i915: group all hotplug related fields into a new struct in
    dev_priv
    - LP: #1484531
  * drm/i915: add for_each_hpd_pin to iterate over hotplug pins
    - LP: #1484531
  * drm/i915: simplify conditions for skipping the 2nd hpd loop iterations
    - LP: #1484531
  * drm/i915: put back the indent in intel_hpd_irq_handler
    - LP: #1484531
  * drm/i915: merge the two hpd loops in intel_hpd_irq_handler to one
    - LP: #1484531
  * drm/i915: simplify condition for digital port
    - LP: #1484531
  * drm/i915: abstract away platform specific parts from hpd handling
    - LP: #1484531
  * drm/i915: Handle HPD when it has actually occurred
    - LP: #1484531
  * drm/i915: Set power domain for DDI-E
    - LP: #1484531
  * drm/i915: Set alternate aux for DDI-E
    - LP: #1484531
  * drm/i915/skl: enable DDI-E hotplug
    - LP: #1484531
  * drm/i915/bxt: fix DDI PHY vswing scale value setting
    - LP: #1494163
  * drm/i915/skl: Buf...

Read more...

Changed in linux (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

works fine with the new vivid kernel

tags: added: verification-done-vivid
removed: verification-needed-vivid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (13.2 KiB)

This bug was fixed in the package linux - 3.19.0-30.33

---------------
linux (3.19.0-30.33) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1498065
  * Revert "[Config]
    MFD_INTEL_LPSS/MFD_INTEL_LPSS_ACPI/MFD_INTEL_LPSS_PCI=m"
    - LP: #1498137
  * [Config] Disable the MFD_INTEL_LPSS* driver

linux (3.19.0-30.32) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1498065

  [ Upstream Kernel Changes ]

  * net: Fix skb_set_peeked use-after-free bug
    - LP: #1497184

linux (3.19.0-29.31) vivid; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1493902

  [ Ander Conselvan de Oliveira ]

  * SAUCE: i915_bpo: Set ddi_pll_sel in DP MST path
    - LP: #1483320

  [ Chris J Arges ]

  * [Config] DEFAULT_IOSCHED="deadline" for ppc64el
    - LP: #1469829

  [ Chris Wilson ]

  * SAUCE: i915_bpo: drm/i915: Flag the execlists context object as dirty
    after every use
    - LP: #1489501

  [ Daniel Vetter ]

  * SAUCE: i915_bpo: drm/i915: Only dither on 6bpc panels
    - LP: #1489501

  [ David Henningsson ]

  * SAUCE: drm/i915: Add audio pin sense / ELD callback
    - LP: #1490895
  * SAUCE: drm/i915: Call audio pin/ELD notify function
    - LP: #1490895
  * SAUCE: ubuntu/i915: Call audio pin/ELD notify function
    - LP: #1490895
  * SAUCE: ALSA: hda - Add "hdac_acomp" global variable
    - LP: #1490895
  * SAUCE: ALSA: hda - allow codecs to access the i915 pin/ELD callback
    - LP: #1490895
  * SAUCE: ALSA: hda - Wake the codec up on pin/ELD notify events
    - LP: #1490895

  [ Jani Nikula ]

  * SAUCE: i915_bpo: Revert "drm/i915: Allow parsing of variable size child
    device entries from VBT"
    - LP: #1489501

  [ Maarten Lankhorst ]

  * SAUCE: i915_bpo: drm/i915: calculate primary visibility changes instead
    of calling from set_config
    - LP: #1489501
  * SAUCE: i915_bpo: drm/i915: Commit planes on each crtc separately.
    - LP: #1489501

  [ Thulasimani,Sivakumar ]

  * SAUCE: i915_bpo: Revert "drm/i915: Add eDP intermediate frequencies for
    CHV"
    - LP: #1489501
  * SAUCE: i915_bpo: drm/i915: remove HBR2 from chv supported list
    - LP: #1489501
  * SAUCE: i915_bpo: drm/i915: Avoid TP3 on CHV
    - LP: #1489501

  [ Timo Aaltonen ]

  * Revert "SAUCE: i915_bpo: drm/i915: Allow parsing of variable size child
    device entries from VBT, addendum v2"
    - LP: #1489501
  * SAUCE: Migrate Broadwell to i915_bpo.
    - LP: #1483320

  [ Upstream Kernel Changes ]

  * tcp: fix recv with flags MSG_WAITALL | MSG_PEEK
    - LP: #1486146
  * powerpc/powernv: Fix the overflow of OPAL message notifiers head array
    - LP: #1487085
  * xhci: call BIOS workaround to enable runtime suspend on Intel Braswell
    - LP: #1489292
  * PM / QoS: Make it possible to expose device latency tolerance to
    userspace
    - LP: #1488395
  * ACPI / PM: Attach ACPI power domain only once
    - LP: #1488395
  * Driver core: wakeup the parent device before trying probe
    - LP: #1488395
  * klist: implement klist_prev()
    - LP: #1488395
  * driver core: implement device_for_each_child_reverse()
    - LP: #1488395
  * mfd: make mfd_remove_devices() iterate in reverse order
    ...

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.