Summary: | [IVB] [bisected] Freeze when booting with kernel 4.9 and later | ||
---|---|---|---|
Product: | DRI | Reporter: | hisele |
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> |
Status: | CLOSED WORKSFORME | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Severity: | critical | ||
Priority: | high | CC: | balorg2000, hisele, intel-gfx-bugs |
Version: | DRI git | Keywords: | bisected |
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | ReadyForDev | ||
i915 platform: | IVB | i915 features: | display/Other |
Description
hisele
2017-05-15 16:05:30 UTC
(In reply to hisele from comment #0) > The bug is reproducible with the drm-tip branch and after bisecting I found > commit 29ecd78d3b79746fc837b820accb062f6433d5fb to be the problem, with this > one reverted the problem was gone. Dubious as there is no direct functional change in that patch. Correcting myself, there was one which was to act upon the result of: if (IS_GEN6(dev_priv) || IS_IVYBRIDGE(dev_priv) || IS_HASWELL(dev_priv)) { u32 params = 0; sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, ¶ms); if (params & BIT(31)) { /* OC supported */ DRM_DEBUG_DRIVER("Overclocking supported, max: %dMHz, overclock: %dMHz\n", (dev_priv->rps.max_freq & 0xff) * 50, (params & 0xff) * 50); dev_priv->rps.max_freq = params & 0xff; } } So to test that: diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 417fd72f6968..a5a5b90d7044 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -7530,8 +7530,7 @@ void intel_init_gt_powersave(struct drm_i915_private *dev_priv) intel_freq_opcode(dev_priv, 450)); /* After setting max-softlimit, find the overclock max freq */ - if (IS_GEN6(dev_priv) || - IS_IVYBRIDGE(dev_priv) || IS_HASWELL(dev_priv)) { + if (0) { u32 params = 0; sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, ¶ms); Yes, this change fixes the freezes. (In reply to hisele from comment #3) > Yes, this change fixes the freezes. Closing the bug since it seems fixed. If there is any change on this case, please mark as REOPEN and share the information. Thanks. I don't think it has been fixed. The code causing the crash is still there: https://cgit.freedesktop.org/drm-tip/tree/drivers/gpu/drm/i915/intel_pm.c#n7731 I just tried out the drm-tip branch and the bug still hasn't been fixed. With the changes you recommended in comment 2 it works fine, so it seems like this is not hard to fix. (In reply to hisele from comment #5) > I don't think it has been fixed. The code causing the crash is still there: > https://cgit.freedesktop.org/drm-tip/tree/drivers/gpu/drm/i915/intel_pm. > c#n7731 Truth, thanks for the correction. Anything new? I'd really like to run my distributions kernel again at some point. Still nothing? Why can't this be fixed? Chris? The value provided by the bios is unusable on that machine, check for a bios update; otherwise we can either quirk the platform, the manufacturer or the bios. Thank you, I'm using the latest bios, motherboard is a Biostar H77MU3. I have the same problem with an i5 3570k and MSI Z77A-G43 mainboard. Can this bug be fixed? Will it be fixed? Are there any other workarounds than building the kernel with the patch disabled? Have you checked for a bios update? The essence of the problem is that the bios provides a value that seems to cause a lockup. To prevent us using that value, we can do "cat /sys/class/drm/card0/gt_max_freq_mhz > /sys/class/drm/card0/gt_boost_freq_mhz". Thanks for your help. Im using the latest bios from 2014-05. I tested your solution and it works. "/sys/class/drm/card0/gt_boost_freq_mhz" was at 1500. I wrote this systemd service to set it on boot. Is there a better way to do it? [Unit] Description=fix iGPU boost clock [Service] Type=oneshot ExecStart=/bin/sh -c '/usr/bin/cat /sys/class/drm/card0/gt_max_freq_mhz > /sys/class/drm/card0/gt_boost_freq_mhz' [Install] WantedBy=multi-user.target First of all. Sorry about spam. This is mass update for our bugs. Sorry if you feel this annoying but with this trying to understand if bug still valid or not. If bug investigation still in progress, please ignore this and I apologize! If you think this is not anymore valid, please comment to the bug that can be closed. If you haven't tested with our latest pre-upstream tree(drm-tip), can you do that also to see if issue is valid there still and if you cannot see issue there, please comment to the bug. Closing, please re-open if still occurs. |
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.