Bug 91428

Summary: [HSW] *ERROR* crtc 21: Can't calculate constants, dotclock = 0!
Product: DRI Reporter: Andreas Reis <andreas.reis>
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: gabriele.mzt, intel-gfx-bugs, jairo.daniel.miramontes.caton, xiong.y.zhang
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: HSW i915 features:

Description Andreas Reis 2015-07-22 12:28:27 UTC
Getting said error both on my HSW 4200U and 4770. No apparent consequences or related dmesg lines. Driver module is compiled-in.

[drm:drm_calc_timestamping_constants] *ERROR* crtc 21: Can't calculate constants, dotclock = 0!

Kernel is drm-nightly-intel started with i915_enable_rc6=7. On 4770:

[    0.796626] [drm] Initialized drm 1.1.0 20060810
[    0.796908] [drm] Memory usable by graphics device = 2048M
[    0.796909] [drm] VT-d active for gfx access
[    0.796910] checking generic (d0000000 300000) vs hw (d0000000 10000000)
[    0.796910] fb: switching to inteldrmfb from EFI VGA
[    0.796918] Console: switching to colour dummy device 80x25
[    0.796955] [drm] Replacing VGA console driver
[    0.801751] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.801752] [drm] Driver supports precise vblank timestamp query.
[    0.801761] [drm] DMAR active, disabling use of stolen memory
[    0.801803] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem
[    0.868011] [drm:drm_calc_timestamping_constants] *ERROR* crtc 21: Can't calculate constants, dotclock = 0!
[    0.873265] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    0.873534] acpi device:60: registered as cooling_device13
[    0.873571] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input2
[    0.873582] [drm] Initialized i915 1.6.0 20150717 for 0000:00:02.0 on minor 0
Comment 1 Jani Nikula 2015-08-20 14:03:28 UTC
Please retry current nightly.

i915_enable_rc6=7 doesn't do you any good, please just remove it.
Comment 2 Andreas Reis 2015-08-20 15:33:38 UTC
Still occurs at drm-intel-nightly: 2015y-08m-19d-08h-17m-47s

Log is now:

    0.796590] [drm] Initialized drm 1.1.0 20060810
[    0.796600] ------------[ cut here ]------------
[    0.796603] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_drv.c:570 drm_dev_alloc+0x254/0x320()
[    0.796603] Modules linked in:
[    0.796605] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.2.0-1-cu #1
[    0.796606] Hardware name: Gigabyte Technology Co., Ltd. G1.Sniper M5/G1.Sniper M5, BIOS T01 02/03/2015
[    0.796607]  0000000000000000 000000004240aefe ffff88041d28bbb8 ffffffff81941f98
[    0.796608]  0000000000000000 0000000000000000 ffff88041d28bbf8 ffffffff810e5386
[    0.796609]  ffff88041d28bc08 ffff88041c0d6000 ffffffff81eb1540 ffff88041c6dc098
[    0.796611] Call Trace:
[    0.796613]  [<ffffffff81941f98>] dump_stack+0x4c/0x6e
[    0.796615]  [<ffffffff810e5386>] warn_slowpath_common+0x86/0xc0
[    0.796617]  [<ffffffff810e54ba>] warn_slowpath_null+0x1a/0x20
[    0.796618]  [<ffffffff815a16b4>] drm_dev_alloc+0x254/0x320
[    0.796620]  [<ffffffff815a369b>] drm_get_pci_dev+0x3b/0x1e0
[    0.796622]  [<ffffffff815bc224>] i915_pci_probe+0x34/0x50
[    0.796624]  [<ffffffff814b7799>] pci_device_probe+0x89/0xe0
[    0.796627]  [<ffffffff8167cfd4>] driver_probe_device+0x1f4/0x460
[    0.796628]  [<ffffffff8167d2d0>] __driver_attach+0x90/0xa0
[    0.796629]  [<ffffffff8167d240>] ? driver_probe_device+0x460/0x460
[    0.796630]  [<ffffffff8167abfc>] bus_for_each_dev+0x6c/0xc0
[    0.796631]  [<ffffffff8167c7ce>] driver_attach+0x1e/0x20
[    0.796633]  [<ffffffff8167c32b>] bus_add_driver+0x1eb/0x280
[    0.796634]  [<ffffffff8167dbe0>] driver_register+0x60/0xe0
[    0.796635]  [<ffffffff814b6ec9>] __pci_register_driver+0x49/0x50
[    0.796637]  [<ffffffff815a391b>] drm_pci_init+0xdb/0x100
[    0.796638]  [<ffffffff81f976cf>] ? mipi_dsi_bus_init+0x12/0x12
[    0.796639]  [<ffffffff81f97774>] i915_init+0xa5/0xad
[    0.796640]  [<ffffffff81002123>] do_one_initcall+0xb3/0x200
[    0.796642]  [<ffffffff81101f71>] ? parse_args+0x271/0x4a0
[    0.796644]  [<ffffffff81f4c1b3>] kernel_init_freeable+0x179/0x218
[    0.796645]  [<ffffffff819372b0>] ? rest_init+0x90/0x90
[    0.796646]  [<ffffffff819372be>] kernel_init+0xe/0xe0
[    0.796648]  [<ffffffff81948d5f>] ret_from_fork+0x3f/0x70
[    0.796649]  [<ffffffff819372b0>] ? rest_init+0x90/0x90
[    0.796651] ---[ end trace 38f2660276b3a315 ]---
[    0.796925] [drm] Memory usable by graphics device = 2048M
[    0.796926] [drm] VT-d active for gfx access
[    0.796927] checking generic (d0000000 300000) vs hw (d0000000 10000000)
[    0.796928] fb: switching to inteldrmfb from EFI VGA
[    0.796937] Console: switching to colour dummy device 80x25
[    0.796973] [drm] Replacing VGA console driver
[    0.803366] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.803367] [drm] Driver supports precise vblank timestamp query.
[    0.803372] [drm:intel_parse_bios] *ERROR* General definiton block child device size is too small.
[    0.803379] [drm] DMAR active, disabling use of stolen memory
[    0.803420] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem
[    0.871079] [drm:drm_calc_timestamping_constants] *ERROR* crtc 21: Can't calculate constants, dotclock = 0!
[    0.876358] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    0.876634] acpi device:60: registered as cooling_device13
[    0.876671] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input2
[    0.876682] [drm] Initialized i915 1.6.0 20150731 for 0000:00:02.0 on minor 0

Removed i915_enable_rc6, thanks for the hint.
Comment 4 Andreas Reis 2015-08-20 16:03:51 UTC
Fixes this issue; the new warning & other error remain.
Comment 5 Jani Nikula 2015-08-21 06:53:46 UTC
(In reply to Andreas Reis from comment #4)
> Fixes this issue; the new warning & other error remain.

Did you try both patches, i.e.

http://patchwork.freedesktop.org/patch/57095
http://patchwork.freedesktop.org/patch/57096
Comment 6 Andreas Reis 2015-08-21 09:36:34 UTC
Both.
Comment 7 Patrik Jakobsson 2015-08-24 13:18:56 UTC
I sent out a patch for this some time ago which Maarten also fixed up. Basically the encoders need to be read out before the planes. And after that stage we copy over the dotclock which will make this error go away.

http://lists.freedesktop.org/archives/intel-gfx/2015-August/073028.html
Comment 8 Andreas Reis 2015-09-03 10:36:11 UTC
2/2 and 3/2 of Ville Syrjälä's patches were committed, but not 1/3. Without that one I still get the error.
Comment 9 Jani Nikula 2015-10-13 12:28:05 UTC
This should be fixed by 

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

    drm/i915: Assign hwmode after encoder state readout

and

commit 0f64614dde172e4f4b2734a55091a4d307863cbb
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Aug 26 19:39:18 2015 +0300

    drm/i915: Fix clock readout when pipes are enabled w/o ports

in current drm-intel-nightly branch of http://cgit.freedesktop.org/drm-intel. Please reopen if the problem still persists with that.
Comment 10 Jani Nikula 2015-10-14 08:06:40 UTC
*** Bug 92451 has been marked as a duplicate of this bug. ***
Comment 11 Jari Tahvanainen 2016-12-13 08:59:20 UTC
Closing resolved+fixed after one year without comments.

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.