[BDW] VGA output regression on 4.2 (was: Migrate Broadwell to use i915_bpo)

Bug #1483320 reported by Timo Aaltonen
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Vivid
Fix Released
High
Timo Aaltonen

Bug Description

There are several bugs affecting Broadwell generation graphics in the vivid kernel (3.19), but not found in 4.2rc which i915_bpo module is based on. In order to support our OEM partners (and other BDW users) it would make sense to migrate BDW to use i915_bpo instead.

The known (public) bugs this would fix are:

- screen is black after xrandr rotate command
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1446979

- changing the VT causes flicker
https://bugs.freedesktop.org/show_bug.cgi?id=85583
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1450557

- GPU hangs on resume
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1452318
(and dupes, which I believe there are several of)

- and some OEM machines can't always hotplug the HDMI output (no public bug AIUI)

the migration should not be too risky, since i915_bpo is already used for Braswell which is same generation as (=based on) BDW.

UPDATE:

Track VGA output regression here, found in 4.2 and fixed upstream by

commit 6fa2d197936ba0b8936e813d0adecefac160062b
Author: Ander Conselvan de Oliveira <email address hidden>
Date: Mon Aug 31 11:23:28 2015 +0300

    i915: Set ddi_pll_sel in DP MST path

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

invalid for wily, which will get 4.2 soon

Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Vivid):
assignee: nobody → Timo Aaltonen (tjaalton)
importance: Undecided → High
status: New → In Progress
tags: added: needs-cert-testing
tags: added: cert-testing-needed
removed: needs-cert-testing
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hmm now I see a few warnings in dmesg also after a resume with 4.2-rc6, though no GPU hangs at least and no apparent user visible issues caused by them. I'll check with upstream what they mean and if there's a fix already.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

the upstream bug for the warning is

https://bugs.freedesktop.org/show_bug.cgi?id=90398

and probably needs to be fixed before flipping the default

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

a kernel build is available at

http://koti.kapsi.fi/~tjaalton/skl

it also has a bunch of patches for SKL, hence the location..

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Certification team will verify this patch on the following two platforms:
201408-15387 (Broadwell UMA w/ HDMI + miniDP)
201409-15487 (Broadwell UMA w/ HDMI)

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

201408-15387 Dell Latitude E7250, a Broadwell-U UMA system [8086:1616]
With kittyhawk 2.0 image (3.19.0-26 #27), I can reproduce the following issues:
1. Normal <-> 180 display rotation, it would cause black screen.
2. VT switch, the screen will flick and the *ERROR* message could be found in dmesg
3. Resume from S3, you can see the screen before suspend, and GPU hang error message could be found in dmesg

However, I can't 100% reproduce the HDMI hot plug issue. Only 1 out of 10.

Test result:
With the kernel provided in #4 (tested with 3.19.0-26-generic_3.19.0-26.27+bpo0.2_amd64), all these issues are gone (HDMI hot plug works as expected too).
But:
* Call trace for i915_bpo could be found on boot in dmesg output
* Call trace for i915_bpo could be found after connecting the HDMI cable
* Call trace for i915_bpo could be found after connecting the DP cable
* HDMI audio and DP audio are not working

Please find the attachment for the detailed logs.

For more information about the test cases, please refer to this private test report:
https://certification.canonical.com/hardware/201408-15387/submission/105457/

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Note, on 201408-15387, all four display modes (extended, mirrored...) are working well with both HDMI and DP output.

And the detailed hardware information for the VGA controller is:
00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 08) (prog-if 00 [VGA controller])
        Subsystem: Dell Device [1028:062d]
        Flags: bus master, fast devsel, latency 0, IRQ 45
        Memory at f6000000 (64-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=64]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: <access denied>
        Kernel driver in use: i915

The resolution on this laptop is 1920*1080

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

201409-15487 - Dell Latitude E5450, another Broadwell-U UMA system with HDMI and VGA port.
With kittyhawk 2.0 image (3.19.0-26 #27), I can only reproduce the rotation issue.

The GPU hang won't happen on resume from suspend, no error message were found for it.
The VT switch issue can't be reproduced by logging out the system as well, no error message were found.
And the HDMI hotplug issue can't be reproduced.

With the kernel provided in #4 (tested with 3.19.0-26-generic_3.19.0-26.27+bpo0.2_amd64), the rotation issues is gone

But:
* Call trace for i915_bpo could be found on boot in dmesg output
* Call trace for i915_bpo could be found after connecting the HDMI cable
* Call trace for i915_bpo could be found after connecting the dsub cable
* HDMI audio is not working
* Unable to use "External only" video mode with D-sub, error message:
Aug 12 05:21:07 KH0809 kernel: [ 206.031773] [drm:intel_dp_start_link_train [i915_bpo]] *ERROR* too many voltage retries, give up
Aug 12 05:21:07 KH0809 kernel: [ 206.120744] [drm:intel_pipe_config_compare [i915_bpo]] *ERROR* mismatch in base.adjusted_mode.crtc_clock (expected 148500, found 74249)

(Other 3 video modes are working well, and there is no issue with HDMI for these four modes)

Please find the attachment for the detailed logs.

For more information about the test cases, please refer to this private test report:
https://certification.canonical.com/hardware/201409-15487/submission/105467/

Detailed information for the VGA controller:
00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 08) (prog-if 00 [VGA controller])
 Subsystem: Dell Device [1028:062b]
 Flags: bus master, fast devsel, latency 0, IRQ 51
 Memory at f6000000 (64-bit, non-prefetchable) [size=16M]
 Memory at e0000000 (64-bit, prefetchable) [size=256M]
 I/O ports at f000 [size=64]
 Expansion ROM at <unassigned> [disabled]
 Capabilities: <access denied>
 Kernel driver in use: i915

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

The resolution on 201409-15487 is 1366x768

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

I'm not able to reproduce the VGA issue on a BDW-H sdp hooked to my TV :/

can you try mainline builds to see if they behave the same? start from 4.2-rc6

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Hi Timo,
this issue could be reproduced on 4.2-rc6, but one interesting thing is that I can't use the hot key to switch the external monitor off, but I can do it manually in the system settings.

Attachment is the dmesg output on 4.2-rc6

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Here is the dmesg output for 201409-15487 (BIOS A07) with cycling through all 4 modes, with "drm.debug=14 log_buf_len=500k" added into GRUB_CMDLINE_LINUX_DEFAULT= of /etc/default/grub

Revision history for this message
Timo Aaltonen (tjaalton) wrote :
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

commit 6fa2d197936ba0b8936e813d0adecefac160062b
Author: Ander Conselvan de Oliveira <email address hidden>
Date: Mon Aug 31 11:23:28 2015 +0300

    i915: Set ddi_pll_sel in DP MST path

in upstream drm-intel-next-fixes fixed this regression. This is included on the -27.29+bpo2.2 build available here:

http://koti.kapsi.fi/~tjaalton/skl/

Revision history for this message
Vanessa Chang (vanessa-chang) wrote :

Tested with the test kernel -27.29+bpo2.0, the vga external only issue is fixed.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

(+bpo2 was the first version with the patch)

Timo Aaltonen (tjaalton)
tags: added: cert-testing-done
removed: cert-testing-needed
Luis Henriques (henrix)
Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed
Timo Aaltonen (tjaalton)
summary: - Migrate Broadwell to use i915_bpo
+ [BDW] VGA output regression on 4.2 (was: Migrate Broadwell to use
+ i915_bpo)
description: updated
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
Vanessa Chang (vanessa-chang) wrote :

Verified Passed below by KH0916-0 build with proposed kernel 3.19.0-29 #31

- Screen can be passed with rotation test
- Switch to VT and logging out does not cause flicker
- HDMI audio still work if the system reboots with HDMI device connected
- All external mode can be displayed with VGA output

tags: added: verification-done-vivid
tags: removed: verification-needed-vivid
Timo Aaltonen (tjaalton)
description: updated
Revision history for this message
Bob McChesney (bmcchesney) wrote :

Just wondered; will this make it in to the linux v3.19 stable repository maintained by CKT or will it likely only get as far as the vivid kernel?

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

just vivid kernel, because i915_bpo is a whole separate module..

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.