Bug 960021

Summary: Incomplete Skylake graphics support in 4.1.x kernel
Product: [openSUSE] openSUSE Distribution Reporter: Takashi Iwai <tiwai>
Component: KernelAssignee: Takashi Iwai <tiwai>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Leap 42.1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Takashi Iwai 2015-12-22 11:19:47 UTC
4.1.x kernel on openSUSE Leap 42.1 has the support for Intel Skylake graphics, but it's pretty incomplete.  There are many known issues that lead to the lost of graphics screen, typically at suspend/resume and full mode switching like VT change or logout.

The Skylake graphics got stabilized pretty much on 4.2 kernel, and we need to backport many changes for improving it for Leap kernel.
Comment 1 Takashi Iwai 2015-12-22 11:29:37 UTC
The commits currently being evaluated are:

* For S3/S4 issues

drm/i915/skl: Add support to load SKL CSR firmware.
 eb805623d8b161342ed9c9caf366f0a295041a6d

drm/i915/skl: Add DC5 Trigger Sequence
 dc17430054056049e8b279ffe3f18d0ff13ae3e2

drm/i915/skl: Implement enable/disable for Display C5 state.
 6b457d31ea0465fcadcf6d5044f5f71398954727

drm/i915/skl: Add DC6 Trigger sequence.
 f75a1985137f272dff1a361b763a76fb8f68c3b9

Implement enable/disable for Display C6 state
 74b4f371f56fc7ca4058041080b30d5b0a7271af

drm/i915/skl: Fix the CTRL typo in the DPLL_CRTL1 defines
 71cd8423cd874d18d9a454a39e2c4d9c9fb3fc69

drm/i915/skl: Deinit/init the display at suspend/resume
 5d96d8afcfbb1500272756747e0bfcdbebf3b070

drm/i915: set CDCLK if DPLL0 enabled during resuming from S3
 39d9b85a4d4fa1642663ca0d208b5c246a3d6f50

* For known SKL workarounds:

drm/i915/skl: Fix stepping check for a couple of W/As
 669506e781d12939ad270b4c281189de119d1319

drm/i915/skl: Implement WaDisableVFUnitClockGating
 f9fc42f4bd9a6b9d63f8587325c7f53a6b788d8e

drm/i915/skl: Add the INIT power domain to the MISC I/O power well
 aeaa2122af4e53f3bfd28e8f294557bb95af43fc

drm/i915/skl: Make the Misc I/O power well part of the PLLS domain
 6222709d60734dd1e11f8d24520d9f23b4eb953e

drm/i915/skl: Fix WaDisableChickenBitTSGBarrierAckForFFSliceCS
 f1d3d34d1740e13f01411d85f53945596488d4c1

drm/i915/skl: add F0 stepping ID
 b88baa2a4616bd8fcd6203b3bc1b8cd90e232cb0

drm/i915/skl: enable WaForceContextSaveRestoreNonCoherent
 8ea6f8926b367725f0c13ff82f251074de9d95b4

* Some corrections

drm/i915/skl: Fix DMC API version in firmware file name
 bf546f8158e2df2656494a475e6235634121c87c

drm/i915: Fix CSR MMIO address check
 982b0b2dd590c00f089fc6fe915bd0cb302a7f5c

* For fixing CPU pipe underrun at mode switching

drm/i915: Switch to full atomic helpers for plane updates/disable, take two
 70a101f8639a712576c3ca1d910564c7e2ec91d8

drm/i915: Clear crtc atomic flags at beginning of transaction
 f1e2daea79e96a50cdbca1bdd1a70900e1af5da1
Comment 2 Takashi Iwai 2015-12-22 13:52:09 UTC
Some relevant bugs are found in bug 959245.
Comment 3 Takashi Iwai 2015-12-22 13:54:37 UTC
A SKL test box works fine with these backports.  Also tested on various i915 machines, and no regression has been found.  So I merged the patches now.
Comment 5 Swamp Workflow Management 2016-01-29 13:17:02 UTC
openSUSE-SU-2016:0280-1: An update that solves 10 vulnerabilities and has 18 fixes is now available.

Category: security (important)
Bug References: 865096,865259,913996,950178,950998,952621,954324,954532,954647,955422,956708,957152,957988,957990,958439,958463,958504,958510,958886,958951,959190,959399,960021,960710,961263,961509,962075,962597
CVE References: CVE-2015-7550,CVE-2015-8539,CVE-2015-8543,CVE-2015-8550,CVE-2015-8551,CVE-2015-8552,CVE-2015-8569,CVE-2015-8575,CVE-2015-8767,CVE-2016-0728
Sources used:
openSUSE Leap 42.1 (src):    kernel-debug-4.1.15-8.1, kernel-default-4.1.15-8.1, kernel-docs-4.1.15-8.3, kernel-ec2-4.1.15-8.1, kernel-obs-build-4.1.15-8.2, kernel-obs-qa-4.1.15-8.1, kernel-obs-qa-xen-4.1.15-8.1, kernel-pae-4.1.15-8.1, kernel-pv-4.1.15-8.1, kernel-source-4.1.15-8.1, kernel-syms-4.1.15-8.1, kernel-vanilla-4.1.15-8.1, kernel-xen-4.1.15-8.1