Bug 91910

Summary: [SKL] WARN_ON(p->pixel_rate == 0) drivers/gpu/drm/i915/intel_pm.c:3325 skl_update_pipe_wm+0x791/0x7d0
Product: DRI Reporter: Joseph Yasi <joe.yasi>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Joseph Yasi 2015-09-07 15:33:50 UTC
System Environment:
Motherboard: Asus Z170-DELUXE
CPU: Intel i7-6700K
BIOS: 0801
Kernel: drm-intel-next-fixes @ 4e3d1e26c2b2c40ebff69f2825fa862bfcf082d1 "drm/i915: Pass hpd_status_i915[] to intel_get_hpd_pins() in pre-g4x"
or
drm-intel-nightly @ 3ce7c1a35a31451cf48e9a27129e60ccc717c061 "drm-intel-nightly: 2015y-09m-04d-08h-44m-09s UTC integration manifest"


Description:
On boot, I get a warning in the log that p->pixel_rate == 0 at drivers/gpu/drm/i915/intel_pm.c:3326 skl_update_pipe_wm+0x7af/0x7c0
[i915](). This occurs just after drm says "failed to retrieve link info, disabling eDP". The monitor is a 1080p monitor connected via a HDMI-to-DVI cable to the HDMI 2.0 port on the motherboard. HDMI 2.0 is provided by the motherboard with an embedded eDP to HDMI 2.0 adapter.

Syslog:
[    1.782469] [drm] Initialized drm 1.1.0 20060810
[    1.807782] [drm] Memory usable by graphics device = 4096M
[    1.810838] [drm] VT-d active for gfx access
[    1.813784] [drm] Replacing VGA console driver
[    1.824170] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.827424] [drm] Driver supports precise vblank timestamp query.
[    1.836101] vgaarb: device changed decodes:
PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.882875] [drm] failed to retrieve link info, disabling eDP
[    1.886015] ------------[ cut here ]------------
[    1.888895] WARNING: CPU: 0 PID: 172 at
drivers/gpu/drm/i915/intel_pm.c:3326 skl_update_pipe_wm+0x7af/0x7c0
[i915]()
[    1.894879] WARN_ON(p->pixel_rate == 0)
[    1.894919] Modules linked in:
[    1.904040]  bcache igb crc32c_intel hwmon psmouse dca e1000e(+)
i915(+) ptp drm_kms_helper pps_core syscopyarea i2c_algo_bit
sysfillrect sysimgblt fb_sys_fops drm i2c_core sr_mod intel_gtt cdrom
sg agpgart fan thermal video button
[    1.907216] CPU: 0 PID: 172 Comm: systemd-udevd Not tainted
4.2.0-drmintelnightly-customhwl #1
[    1.910529] Hardware name: System manufacturer System Product
Name/Z170-DELUXE, BIOS 0801 08/21/2015
[    1.913669]  0000000000000000 ffffffffc01e1560 ffffffff815a353d
ffff88045eb73568
[    1.917006]  ffffffff81046de7 0000000000000000 ffff88045e5497de
0000000000000002
[    1.920158]  ffff88045eb73856 ffff88045eb73730 ffffffff81046e65
ffffffffc01f1aa0
[    1.923290] Call Trace:
[    1.926404]  [<ffffffff815a353d>] ? dump_stack+0x47/0x67
[    1.929552]  [<ffffffff81046de7>] ? warn_slowpath_common+0x77/0xb0
[    1.932770]  [<ffffffff81046e65>] ? warn_slowpath_fmt+0x45/0x50
[    1.935902]  [<ffffffff81337e69>] ? idr_get_empty_slot+0x189/0x380
[    1.939046]  [<ffffffffc012ff5f>] ? skl_update_pipe_wm+0x7af/0x7c0 [i915]
[    1.942195]  [<ffffffffc01303ab>] ? skl_update_wm+0x10b/0x610 [i915]
[    1.945316]  [<ffffffff810dd73f>] ? __alloc_pages_nodemask+0x10f/0x7a0
[    1.948501]  [<ffffffff8133f3a6>] ? string.isra.4+0x36/0xc0
[    1.951850]  [<ffffffffc019a8b2>] ? skl_disable_plane+0xb2/0xd0 [i915]
[    1.954991]  [<ffffffffc018f1df>] ?
intel_modeset_setup_hw_state+0x89f/0xcf0 [i915]
[    1.958091]  [<ffffffffc008ba7e>] ?
drm_modeset_lock_all_crtcs+0x8e/0xa0 [drm]
[    1.961121]  [<ffffffffc0191153>] ? intel_modeset_init+0xad3/0x1990 [i915]
[    1.964130]  [<ffffffffc0121d87>] ? gen8_irq_postinstall+0x267/0x320 [i915]
[    1.967126]  [<ffffffffc01c6be9>] ? i915_driver_load+0xed9/0x14f0 [i915]
[    1.970119]  [<ffffffff815293cf>] ? netlink_broadcast_filtered+0x12f/0x3b0
[    1.973087]  [<ffffffff81339980>] ? cleanup_uevent_env+0x10/0x10
[    1.976029]  [<ffffffff81339c86>] ? kobject_uevent_env+0xf6/0x520
[    1.978935]  [<ffffffff8159e4ef>] ? klist_add_tail+0x1f/0x50
[    1.981808]  [<ffffffff81400da4>] ? device_add+0x204/0x5a0
[    1.984709]  [<ffffffffc0077607>] ? drm_dev_register+0x97/0xa0 [drm]
[    1.987566]  [<ffffffffc0079f94>] ? drm_get_pci_dev+0x84/0x1d0 [drm]
[    1.990425]  [<ffffffff8140c497>] ? __pm_runtime_resume+0x47/0x60
[    1.993249]  [<ffffffff8136daaf>] ? pci_device_probe+0x6f/0xc0
[    1.996069]  [<ffffffff8140388f>] ? driver_probe_device+0x12f/0x2d0
[    1.998891]  [<ffffffff81403aa6>] ? __driver_attach+0x76/0x80
[    2.001701]  [<ffffffff81403a30>] ? driver_probe_device+0x2d0/0x2d0
[    2.004487]  [<ffffffff81401b95>] ? bus_for_each_dev+0x55/0x90
[    2.007259]  [<ffffffff814030aa>] ? bus_add_driver+0x1aa/0x220
[    2.010013]  [<ffffffffc0215000>] ? 0xffffffffc0215000
[    2.012779]  [<ffffffff8140424a>] ? driver_register+0x5a/0xe0
[    2.015565]  [<ffffffff810002d0>] ? do_one_initcall+0x90/0x1e0
[    2.018337]  [<ffffffff815a1888>] ? do_init_module+0x50/0x1d6
[    2.021091]  [<ffffffff810aaf1a>] ? load_module+0x1c9a/0x20c0
[    2.023829]  [<ffffffff810a8020>] ? __symbol_put+0x50/0x50
[    2.026535]  [<ffffffff81100f5a>] ? do_mmap_pgoff+0x2fa/0x3e0
[    2.029218]  [<ffffffff810ab4a6>] ? SyS_finit_module+0x66/0x70
[    2.031893]  [<ffffffff815a8e9b>] ? entry_SYSCALL_64_fastpath+0x16/0x6e
[    2.034630] ---[ end trace 310cfca5c3452d55 ]---
[    2.037318] [drm:drm_calc_timestamping_constants [drm]] *ERROR*
crtc 21: Can't calculate constants, dotclock = 0!
[    2.061573] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    2.088374] fbcon: inteldrmfb (fb1) is primary device
[    2.088374] fbcon: Remapping primary device, fb1, to tty 1-63
[    2.324985] i915 0000:00:02.0: fb1: inteldrmfb frame buffer device
[    3.744558] [drm] RC6 on
Comment 1 Joseph Yasi 2015-09-08 15:42:05 UTC
Sorry, it is not eDP to HDMI 2.0. It is DP to HDMI 2.0.
Comment 2 Jani Nikula 2015-10-13 12:24:58 UTC
Presumed fixed by

commit f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Thu Sep 10 18:59:08 2015 +0300

    drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc()

Thanks for the report, please reopen if the problem persists with that.
Comment 3 Joseph Yasi 2015-10-13 14:02:07 UTC
Looking through my kernel logs, this was fixed between the drm-intel-nightly on 9/21 and 9/25. Since this patch was committed on 9/23, it's likely it fixed it. I will test it against stable tonight.
Comment 4 Joseph Yasi 2015-10-14 03:27:18 UTC
I can confirm that this patch does indeed fix it:
f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc()

To get it to apply cleanly against 4.3-rc5, I
reverted
721a09f7393de6c28a07516dccd654c6e995944a drm/i915: Add primary plane to mask if it's visible

Then applied:
7f4c62840cc416986f983a8c68f7010c97e06daf drm/i915: Assign hwmode after encoder state readout

f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd drm/i915: Move sprite/cursor plane disable to
 intel_sanitize_crtc()

b26d3ea323b41a56db74f46131bc89e3c485f365 drm/i915: Add primary plane to mask if it's visible (4.4 version)

Can we get a backport to 4.3?
Comment 5 Jani Nikula 2015-10-14 12:17:41 UTC
(In reply to Joseph Yasi from comment #4)
> Can we get a backport to 4.3?

Yes. Pushed all of that to drm-intel-fixes, they should make it to next v4.3-rc5.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.