Bug 83520 - [BDW] enable_rc6=0 doesn't work, only the BIOS RC6 switch does
Summary: [BDW] enable_rc6=0 doesn't work, only the BIOS RC6 switch does
Status: CLOSED INVALID
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: high critical
Assignee: Rodrigo Vivi
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-05 07:54 UTC by Timo Aaltonen
Modified: 2017-07-24 22:51 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
register dump (9.25 KB, text/plain)
2014-09-11 10:41 UTC, Timo Aaltonen
no flags Details

Description Timo Aaltonen 2014-09-05 07:54:17 UTC
A workaround for bug #83207 is to disable RC6 from the bios, which is kinda weird since our backport driver (based on 3.15) doesn't support RC6.
Comment 1 Yang Kun (YK) 2014-09-05 15:42:30 UTC
this issue is blocking us from shipping. bumping the importance to high+critical . please let me know if this is not appropriate.

thanks
-YK
Comment 2 wendy.wang 2014-09-09 07:47:51 UTC
Did you use the correct disable RC6 parameter in kernel: i915.enable_rc6=0?
Comment 3 Timo Aaltonen 2014-09-09 08:14:03 UTC
yes..
Comment 4 Chris Wilson 2014-09-09 08:25:39 UTC
The most likely cause is that the BIOS, at least partially, setup rc6, and we don't actually try to disable rc6 if passed enable_rc6=0 (just don't try to enable it). For testing purposes like this, it would be better if shutdown down rc6 completely.
Comment 5 Chris Wilson 2014-09-09 08:27:17 UTC
Perhaps something like

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0a4bc51cebdc..7489da3fb9fa 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13470,6 +13470,7 @@ void intel_modeset_gem_init(struct drm_device *dev)
        intel_init_gt_powersave(dev);
        mutex_unlock(&dev->struct_mutex);
 
+       intel_disable_gt_powersave(dev);
        intel_modeset_init_hw(dev);
 
        intel_setup_overlay(dev);
Comment 6 Timo Aaltonen 2014-09-09 10:32:07 UTC
added that but still get the gpu hang..
Comment 7 Rodrigo Vivi 2014-09-10 17:33:49 UTC
Really strange. Looks like BIOS issue.

But what is the output of /sys/kernel/debug/dri/0/i915_dp_mst_info
when it is enabled on BIOS and disabled on kernel with i915.enable_rc6=0?

Or better what is the output of intel_reg_dumper (of intel-gpu-tools)?
Comment 8 Timo Aaltonen 2014-09-11 10:41:39 UTC
Created attachment 106124 [details]
register dump

/sys/kernel/debug/dri/0/i915_dp_mst_info is empty, register dump attached
Comment 9 Timo Aaltonen 2014-09-12 04:25:15 UTC
the bios on my wilson beach is:

BDW-E2R1.86C.0072.R04.1405280639 05/28/2014
Comment 10 Gary Wang 2014-09-22 05:16:59 UTC
I verified it on Ubuntu 14.10 beta-1 (3.16.0-10-generic #15-Ubuntu) for Intel CRB with BDW-Y/U CPUs) by "i915_bdw.enable_rc6=0", and cat the value in /sys/module/i915/parameter/enable_rc6 is 0. if i915_bdw.enable_rc6=1, its value is also 1.

It seems to work well in drm/i915 driver layer.
Comment 11 Gary Wang 2014-09-22 05:19:12 UTC
I correct the information for #10 (with "i915.enable_rc6"), sorry!

I verified it on Ubuntu 14.10 beta-1 (3.16.0-10-generic #15-Ubuntu) for Intel CRB with BDW-Y/U CPUs) by "i915.enable_rc6=0", and cat the value in /sys/module/i915/parameter/enable_rc6 is 0. if i915.enable_rc6=1, its value is also 1.

It seems to work well in drm/i915 driver layer.
Comment 12 Timo Aaltonen 2014-09-22 12:26:37 UTC
Right, I think this is indeed working properly with at least 3.16 and up. I can't reproduce #83207 myself anymore which was why this bug was opened in the first place, when rc6=0 didn't seem to make a difference but at least power consumption is up by ~2W (which I didn't test at the time) so it must work..


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.