pcbsd9-stable-20120505 snapshot - howto enable intel rc6

Konstantin Belousov kostikbel at gmail.com
Thu May 17 22:03:58 UTC 2012

On Thu, May 17, 2012 at 09:56:54AM -0400, user10508 at gmail.com wrote:
> I'm using this pcbsd snapshot on an asus k53e laptop
> /etc/make.conf contains:
> xf86-video-intel-2.17.0 compiled from ports
> Laptop runs very hot
> Battery lasts less than half as long as pcbcd9 release intel driver
> sysctl inquiry reveals
> hw.dri.0.info.i915_drpc_info: RC information accurate: yes
> Video Turbo Mode: yes
> HW control enabled: yes
> SW control enabled: no
> RC1e Enabled: no
> RC6 Enabled: no
> Deep RC6 Enabled: no
> Deepest RC6 Enabled: no
> Current RC state: on
> Core Power Down: no
> If it is possible to enable RC6:
> what modes can be enabled
> how can/should an RC6 mode be enabled
On my 2600K enabling any RC6 causes reliable failure to start BLT ring.
When I tried to enable RC for wider audience, I get similar reports in
quantity. So RC6 is disabled by default.

I have no idea what version of Intel GPU patch was applied to your
snapshot, so I describe a recipe for 14.x and 15.x series of patches.
To try to play with RC6, you need to set kernel environment variables
before loading the i915(kms) module. Set drm.i915.intel_iommu_enabled=0,
then you may enable actual RC6 states with drm.i915.enable_rc6 tunable.
The bits are the same as for Linux, citation from i915_drv.h:

 * RC6 is a special power stage which allows the GPU to enter an very
 * low-voltage mode when idle, using down to 0V while at this stage.  This
 * stage is entered automatically when the GPU is idle when RC6 support is
 * enabled, and as soon as new workload arises GPU wakes up automatically as well.
 * There are different RC6 modes available in Intel GPU, which differentiate
 * among each other with the latency required to enter and leave RC6 and
 * voltage consumed by the GPU in different states.
 * The combination of the following flags define which states GPU is allowed
 * to enter, while RC6 is the normal RC6 state, RC6p is the deep RC6, and
 * RC6pp is deepest RC6. Their support by hardware varies according to the
 * GPU, BIOS, chipset and platform. RC6 is usually the safest one and the one
 * which brings the most power savings; deeper states save more power, but
 * require higher latency to switch to and wake up.
#define INTEL_RC6_ENABLE			(1<<0)
#define INTEL_RC6p_ENABLE			(1<<1)
#define INTEL_RC6pp_ENABLE			(1<<2)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20120517/a8fe840a/attachment.pgp

More information about the freebsd-x11 mailing list