[i915_bpo] Rebase driver to 4.2~pre

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

Bug Description

Upstream i915 code has been feature-frozen for drm-next, and rebasing i915_bpo to it is fairly simple. We need all the drm_atomic* changes to date though, in order to avoid oopses loading the driver. Thankfully i915_bpo is the only driver that uses them (besides msm), so there's no chance of regressing other drivers that we care about.

Timo Aaltonen (tjaalton)
Changed in linux (Ubuntu Vivid):
importance: Undecided → High
status: New → Triaged
Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Vivid):
assignee: nobody → Timo Aaltonen (tjaalton)
Revision history for this message
Timo Aaltonen (tjaalton) wrote :
tags: added: needs-cert-testing
Changed in linux (Ubuntu Vivid):
assignee: Timo Aaltonen (tjaalton) → Canonical Hardware Certification (canonical-hw-cert)
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

-20.20+bpo1

Timo Aaltonen (tjaalton)
description: updated
Ara Pulido (ara)
Changed in linux (Ubuntu Vivid):
status: Triaged → In Progress
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

On 201501-16341 Dell Vostro 3458, an I+N hybrid graphic system

The display will blink / distort after starting the graphics_stress_test, system will become unusable due to this display issue.
Error message that related to i915 could be found in the dmesg output:
 [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun

Preliminary debugging shows this might be caused by the very first VT switching test, this could be easily reproduced simply by using "sudo chvt 1" command.

ubuntu@201501-16341:~$ uname -a
Linux 201501-16341 3.19.0-20-generic #20+bpo1-Ubuntu SMP Mon Jun 1 20:13:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Tested without the nVidia proprietary driver, running on the Intel GPU

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
OpenGL version string: 3.0 Mesa 10.5.2

Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes

Compiz supported: yes

I remember that there are some Call trace error as well, I will run the stress test again and give update here.

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

201501-16341 is now being re-tested with Vivid stock image + update, it looks like the VT switch issue could be reproduced on Vivid.

And I can see the Call trace error as well (not one-by-one compared yet).
Thus I think it's broken in stock kernel already.

The dmesg output for testing on stock image will be uploaded later.

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
Download full text (3.6 KiB)

Here is the call trace that I mentioned before, however, it can be reproduced in stock kernel with graphic-stress test as well.
Therefore I think it's not a regression.
Please refer for the attachment for the dmesg output for both stock kernel and this BPO kernel.

[ 1748.393952] WARNING: CPU: 0 PID: 843 at /build/buildd/linux-3.19.0/drivers/gpu/drm/i915/intel_display.c:3625 intel_crtc_wait_for_pending_flips+0x19a/0x230 [i915]()
[ 1748.393956] WARN_ON(wait_event_timeout(dev_priv->pending_flip_queue, !intel_crtc_has_pending_flip(crtc), 60*HZ) == 0)
[ 1748.393959] Modules linked in:
[ 1748.393963] cfg80211 toshiba_acpi toshiba_haps hp_accel lis3lv02d input_polldev rtsx_usb_ms memstick dell_wmi sparse_keymap uvcvideo intel_rapl iosf_mbi videobuf2_vmalloc x86_pkg_temp_thermal intel_powerclamp videobuf2_memops coretemp videobuf2_core v4l2_common videodev kvm_intel media kvm dell_led nouveau snd_hda_codec_realtek snd_hda_codec_hdmi snd_hda_codec_generic snd_soc_rt5640 dell_laptop crct10dif_pclmul dcdbas mxm_wmi crc32_pclmul snd_soc_rl6231 snd_hda_intel snd_hda_controller ttm snd_hda_codec snd_soc_core bcma ghash_clmulni_intel aesni_intel i8k aes_x86_64 lrw gf128mul glue_helper ablk_helper joydev cryptd serio_raw snd_compress snd_hwdep snd_pcm_dmaengine i915 snd_pcm i2c_hid snd_seq_midi hid snd_seq_midi_event snd_rawmidi snd_seq snd_seq_device snd_timer mei_me acpi_pad drm_kms_helper
[ 1748.394035] drm snd mei video i2c_algo_bit dw_dmac spi_pxa2xx_platform dw_dmac_core i2c_designware_platform i2c_designware_core soundcore shpchp snd_soc_sst_acpi mac_hid 8250_dw lpc_ich wmi parport_pc ppdev lp parport autofs4 rtsx_usb_sdmmc rtsx_usb psmouse ahci r8169 libahci mii sdhci_acpi sdhci
[ 1748.394076] CPU: 0 PID: 843 Comm: Xorg Tainted: G W OE 3.19.0-20-generic #20+bpo1-Ubuntu
[ 1748.394079] Hardware name: Dell Inc. Vostro 3458/ , BIOS X13 01/07/2015
[ 1748.394082] ffffffffc051aef8 ffff88040dc879b8 ffffffff817c3da8 0000000000000007
[ 1748.394089] ffff88040dc87a08 ffff88040dc879f8 ffffffff810769aa ffff88040dc87a18
[ 1748.394094] ffff8804190411a8 ffff88041a3b84c8 ffff8804193e2000 ffff880419041000
[ 1748.394100] Call Trace:
[ 1748.394115] [<ffffffff817c3da8>] dump_stack+0x45/0x57
[ 1748.394123] [<ffffffff810769aa>] warn_slowpath_common+0x8a/0xc0
[ 1748.394128] [<ffffffff81076a26>] warn_slowpath_fmt+0x46/0x50
[ 1748.394138] [<ffffffff810b7319>] ? finish_wait+0x59/0x70
[ 1748.394183] [<ffffffffc04bd9ca>] intel_crtc_wait_for_pending_flips+0x19a/0x230 [i915]
[ 1748.394189] [<ffffffff810b7510>] ? wait_woken+0x90/0x90
[ 1748.394230] [<ffffffffc04bfba3>] intel_crtc_disable_planes+0x33/0x140 [i915]
[ 1748.394269] [<ffffffffc04c091f>] haswell_crtc_disable+0x4f/0x3c0 [i915]
[ 1748.394308] [<ffffffffc04c178c>] __intel_set_mode+0x92c/0xc80 [i915]
[ 1748.394317] [<ffffffff811d7b5e>] ? __kmalloc+0x24e/0x280
[ 1748.394358] [<ffffffffc04c7918>] ? intel_crtc_set_config+0x88/0xf70 [i915]
[ 1748.394398] [<ffffffffc04c7999>] ? intel_crtc_set_config+0x109/0xf70 [i915]
[ 1748.394436] [<ffffffffc04c848b>] intel_crtc_set_config+0xbfb/0xf70 [i915]
[ 1748.394473] [<ffffffffc026eb16>] drm_mode_set_config_internal+0x66/0x100 [drm]
[ 1748.394506] [<ffffff...

Read more...

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

Certification team has completed the testing for assigned platforms.
No regression observed.

For those bug that happen on stock kernel, please refer to bug 1464226 (180 rotation blackout) and bug 1465108 (Blink on VT switching)

tags: added: cert-testing-passed
removed: needs-cert-testing
Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Thanks for the testing.

Moving back to "in progress", since the code hasn't been merged yet.

Changed in linux (Ubuntu Vivid):
assignee: Canonical Hardware Certification (canonical-hw-cert) → Timo Aaltonen (tjaalton)
status: Fix Committed → In Progress
Brad Figg (brad-figg)
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
Timo Aaltonen (tjaalton) wrote :

works great, verified

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

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

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

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1472346

  [ Chris J Arges ]

  * SAUCE: Don't use atomic read in evlist.c
    - LP: #1410673

linux (3.19.0-23.23) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1472048

  [ Chris J Arges ]

  * [Config] Add CRYPTO_DEV_NX_*, 842_* as modules
    - LP: #1454687

  [ Lu, Han ]

  * SAUCE: i915_bpo: drm/i915/audio: add codec wakeup override
    enabled/disable callback
    - LP: #1460674

  [ Timo Aaltonen ]

  * SAUCE: Backport I915_OVERLAY_DISABLE_DEST_COLORKEY
    - LP: #1460674
  * SAUCE: i915_bpo: Rebase to drm-intel-next-fixes-2015-05-29
    - LP: #1460674
  * SAUCE: i915_bpo: Revert "drm/i915: Implement the intel_dp_autotest_edid
    function for DP EDID complaince tests"
    - LP: #1460674
  * SAUCE: i915_bpo: Revert "drm/i915: Add debugfs test control files for
    Displayport compliance testing"
    - LP: #1460674
  * SAUCE: Load i915_bpo from the hda driver on SKL/CHV
    - LP: #1460674
  * SAUCE: i915_bpo: Don't try to support BXT
    - LP: #1460674
  * SAUCE: i915_bpo: drm/i915/skl: Fix DMC API version.

  [ Upstream Kernel Changes ]

  * Revert "usb: dwc2: add bus suspend/resume for dwc2"
    - LP: #1471252
  * Revert "HID: logitech-hidpp: support combo keyboard touchpad TK820"
    - LP: #1471252
  * Revert "KVM: x86: drop fpu_activate hook"
    - LP: #1471252
  * Revert "libceph: clear r_req_lru_item in __unregister_linger_request()"
    - LP: #1471252
  * drm/i915: add component support
    - LP: #1460661
  * ALSA: hda: export struct hda_intel
    - LP: #1460661
  * ALSA: hda: pass intel_hda to all i915 interface functions
    - LP: #1460661
  * ALSA: hda: add component support
    - LP: #1460661
  * drm/atomic-helpers: Fix documentation typos and wrong copy&paste
    - LP: #1460674
  * drm/atomic: Rename drm_atomic_helper_commit_pre_planes() state argument
    - LP: #1460674
  * drm/atomic-helper: Rename commmit_post/pre_planes
    - LP: #1460674
  * drm/atomic-helpers: make mode_set hooks optional
    - LP: #1460674
  * drm/atomic-helper: Fix kerneldoc for prepare_planes
    - LP: #1460674
  * drm: Complete moving rotation property to core
    - LP: #1460674
  * drm: Share plane pixel format check code between legacy and atomic
    - LP: #1460674
  * drm/atomic: Constify a bunch of functions pointer structs
    - LP: #1460674
  * drm: Fix some typo mistake of the annotations
    - LP: #1460674
  * drm: change connector to tmp_connector
    - LP: #1460674
  * drm: atomic: Expose CRTC active property
    - LP: #1460674
  * drm: atomic: Allow setting CRTC active property
    - LP: #1460674
  * drm/atomic-helpers: Properly avoid full modeset dance
    - LP: #1460674
  * drm/atomic: Add helpers for state-subclassing drivers
    - LP: #1460674
  * drm: Fix some typos
    - LP: #1460674
  * drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros
    - LP: #1460674
  * drm/atomic-helper: Don't call atomic_update_plane when it stays off
    - LP: #1460674
  * drm/atomic-helper: Really recover pre-atomic plane/cursor behavior
 ...

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.