[i915_bpo][SKL] Display core init/uninit updates

Bug #1595803 reported by Shrirang Bagul
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Shrirang Bagul
linux (Ubuntu)
Fix Released
Critical
Shrirang Bagul
Vivid
Fix Released
Undecided
Unassigned

Bug Description

At the moment, our i915_bpo driver on Vivid (kernel version: Ubuntu-3.19.0-62.70) lacks certain patches which fix the display core init/uninit sequence esp. handling dmc firmware loading and runtime-pm. Following patches from v4.5-rc1 address these issues on SKL.

* e8ca932 drm/i915: Extract a intel_power_well_enable() function
* dcddab3 drm/i915: Extract a intel_power_well_disable() function
* 0a9d2be drm/i915/skl: Making DC6 entry is the last call in suspend flow.
* 18a04a7 drm/i915: Kill intel_runtime_pm_disable()
* ebae38d drm/i915/gen9: csr_init after runtime pm enable
* 01a6908 drm/i915: use correct power domain for csr loading
* bffbcd9 drm/i915/gen9: Don't try to load garbage dmc firmware on resume
* ca1283d drm/i915/skl: Removed assert for csr-fw-loading check during disabling dc6
* 56fcfd6 drm/i915: fix the power well ID for always on wells
* fc17f22 drm/i915: fix lookup_power_well for power wells without any domain
* 2f693e2 drm/i915: Make turning on/off PW1 and Misc I/O part of the init/fini sequences

These patches also fix OEM bug related to audio not working after suspend by close/open lid.

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1595803

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Incomplete → In Progress
Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

Verified passed more than 10 times of suspend/resume by close/open lid.

Display and audio both working fine after resume.

Test configs:
Intel SKL-U graphics
Intel SKL i7-6500U graphics
Intel SKL i5-6200U graphics

Revision history for this message
Tim Peeters (tpeeters) wrote :

I found this bug via a link in http://en.community.dell.com/techcenter/os-applications/f/4613/t/19682246?pi22229=2

If it is the same bug, then I am experiencing it on trusty with kernel 3.19.0-61-generic #69~14.04.1-Ubuntu SMP Thu Jun 9 09:09:13 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux so it would need to be fixed there too.

Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

Tim, the description on the dell community forum is not very detailed.
However, if you have time, please try this kernel built to fix this issue.

http://people.canonical.com/~shrirang-bagul/bugs/lp1595803/

This kernel is based on Ubuntu-3.19.0-64.72

Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

Verified the test kernel 3.19.0-64-generic
(http://people.canonical.com/~shrirang-bagul/bugs/lp1595803/)

Test configs:
Intel Celeron CPU N3050 - Braswell graphics
Intel Pentium CPU N3700 - Braswell graphics
Intel Pentium CPU 3825U - Broadwell graphics
Intel Core i5 - Broadwell GT2 (Intel HD graphics 5500)

Tests:
1. Suspend/resume by close/open lid (more than 10 iterations)
Result: Passed. Display and audio both working fine after resume.

2. Certification tests - Graphics functions
Result: Passed

Revision history for this message
Tim Peeters (tpeeters) wrote :

I experienced the bug with the following kernel:
Linux XPS-13-9350 3.19.0-64-generic #72~14.04.1-Ubuntu SMP Fri Jun 24 17:59:48 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I downloaded all the deb files from your link and tried to install them, see http://paste.ubuntu.com/18442758/ but linux-tools failed. I did not understand why and rebooted anyway to try. After rebooting I think I still had the old kernel and standby got more broken. Closing the lid and then opening it did not switch the screen back on and I had to use the power button to switch the laptop off and on.

It seems like the package manager could resolve these issues, see http://paste.ubuntu.com/18442801/

After that I tested with the new kernel
Linux XPS-13-9350 3.19.0-64-generic #72 SMP Thu Jun 30 18:23:54 CST 2016 x86_64 x86_64 x86_64 GNU/Linux
and I closed/opened the lid a few (4) times. The sound still works fine, but at least once the mouse pointer disappeared for me. I could still use the touchpad to move the cursor and click things, but the cursor was invisible so I did not know where the cursor was located.

I will test more to see if that happens more often.

Revision history for this message
Tim Peeters (tpeeters) wrote :

Note that I am testing on Trusty. Should this bug be nominated for Trusty too?

Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

Tim, if you wish to test the kernel mentioned in comment# 4, remove the existing 3.19.0-64-generic #72~14.04.1-Ubuntu kernel installed from your system.
Use these commands to install the experimental kernel -

$ sudo dpkg -i linux-headers-3.19.0-64_3.19.0-64.72_all.deb
$ sudo dpkg -i linux-image-3.19.0-64-generic_3.19.0-64.72_amd64.deb
$ sudo dpkg -i linux-image-extra-3.19.0-64-generic_3.19.0-64.72_amd64.deb

Reboot the system into the newly installed kernel & verify the kernel version-

$ cat /proc/version
Linux version 3.19.0-64-generic (root@tucker) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #72 SMP Thu Jun 30 18:23:54 CST 2016

Try suspend/resume at several times to check if the audio issue is resolved.

Changed in linux (Ubuntu Vivid):
status: New → Fix Committed
tags: added: originate-from-1588711 somerville
Changed in linux (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Tim Peeters (tpeeters) wrote :

Shrirang, yes I managed to install the kernel from comment #4.

tim@XPS-13-9350:~$ cat /proc/version
Linux version 3.19.0-64-generic (root@tucker) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #72 SMP Thu Jun 30 18:23:54 CST 2016

I have been testing that kernel for 2 days, including closing the lid several times (that gave me the issue before), and I have not encountered any more audio problems.

In comment #6 I mentioned a problem with the mouse cursor, but it happened only once and I could not reproduce it any more. It may be an unrelated issue.

Changed in hwe-next:
status: New → In Progress
assignee: nobody → Shrirang Bagul (shrirang-bagul)
Revision history for this message
Seth Forshee (sforshee) 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
tags: added: verification-done-vivid
removed: verification-needed-vivid
Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

Verified, passed more than 15 times of suspend/resume by manually closing & opening the lid.
Display and audio both working fine after resume.

Test configs:
Intel Core i7-6600U CPU with Skylake ULT GT2 graphics

The kernel in proposed solves the problem.

Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  [ Seth Forshee ]

  * Release Tracking Bug
    - LP: #1604153

  * CVE-2016-1237
    - posix_acl: Add set_posix_acl
    - nfsd: check permissions when setting ACLs

  * changelog: add CVEs as first class citizens (LP: #1604344)
    - use CVE numbers in changelog

  * CVE-2016-5243 (LP: #1589036)
    - tipc: fix an infoleak in tipc_nl_compat_link_dump

  * CVE-2016-4470
    - KEYS: potential uninitialized variable

  * CVE-2016-4794 (LP: #1581871)
    - percpu: fix synchronization between chunk->map_extend_work and chunk
      destruction
    - percpu: fix synchronization between synchronous map extension and chunk
      destruction

  * qeth: delete napi struct when removing a qeth device (LP: #1601831)
    - qeth: delete napi struct when removing a qeth device

  * arm64: statically link rtc-efi (LP: #1583738)
    - [Config] Link rtc-efi statically on arm64

  * linux: Homogenize changelog format across releases (LP: #1599562)
    - Revert "UBUNTU: [debian] BugLink: close LP: bugs only for Launchpad urls"
    - [Debian] git-ubuntu-log -- switch to bug order
    - [Debian] git-ubuntu-log -- fix empty section formatting
    - [Debian] git-ubuntu-log -- output should be utf-8
    - [Debian] git-ubuntu-log -- handle invalid or private bugs
    - [Debian] git-ubuntu-log -- wrap long bug and commit titles
    - [Debian] git-ubuntu-log -- ensure we get the last commit
    - [Debian] git-ubuntu-log -- prevent bug references being split
    - [Debian] git-ubuntu-log -- git log output is UTF-8

  * exercising ptys causes a kernel oops (LP: #1586418)
    - devpts: fix null pointer dereference on failed memory allocation

  * the kernel hangs when reboot or shutdown on a lenovo baytrail-m based
    machine (LP: #1597564)
    - usb: xhci: Makefile: move xhci-pci and xhci-plat-hcd after xhci-hcd

  * [i915_bpo][SKL] Display core init/uninit updates (LP: #1595803)
    - SAUCE: i915_bpo: drm/i915: Extract a intel_power_well_enable() function
    - SAUCE: i915_bpo: drm/i915: Extract a intel_power_well_disable() function
    - SAUCE: i915_bpo: drm/i915/skl: Making DC6 entry is the last call in suspend
      flow.
    - SAUCE: i915_bpo: drm/i915: Kill intel_runtime_pm_disable()
    - SAUCE: i915_bpo: drm/i915/gen9: csr_init after runtime pm enable
    - SAUCE: i915_bpo: drm/i915: use correct power domain for csr loading
    - SAUCE: i915_bpo: drm/i915/gen9: Don't try to load garbage dmc firmware on
      resume
    - SAUCE: i915_bpo: drm/i915/skl: Removed assert for csr-fw-loading check
      during disabling dc6
    - SAUCE: i915_bpo: drm/i915: fix the power well ID for always on wells
    - SAUCE: i915_bpo: drm/i915: fix lookup_power_well for power wells without any
      domain
    - SAUCE: i915_bpo: drm/i915: Make turning on/off PW1 and Misc I/O part of the
      init/fini sequences

 -- Seth Forshee <email address hidden> Tue, 19 Jul 2016 09:07:26 -0500

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: In Progress → Fix Released
Changed in hwe-next:
status: In Progress → 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.