Re: [resend] i915: high power consumption after suspend/resume

From: Andrew Lutomirski
Date: Fri Oct 30 2009 - 14:56:05 EST


On Fri, Oct 30, 2009 at 11:37 AM, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote:
> On Fri, 30 Oct 2009 02:25:21 -0400
> Andrew Lutomirski <luto@xxxxxxx> wrote:
>
>> On Thu, Oct 29, 2009 at 1:40 PM, Andrew Lutomirski <luto@xxxxxxx>
>> wrote:
>> >
>> > I just suspended and resumed and power consumption stayed low.  I'll
>> > try and get an intel_reg_dumper diff next time I trigger this bug.
>>
>> intel_reg_dumper blames RENCLK_GATE_D2.  Patch coming.
>>
>> Maybe my BIOS doesn't always reset it.
>
> Does resetting that reg get your power savings back?

Surprisingly, no. With my kernel patched to restore it on resume, I
still see high power consumption, and rebinding still fixes it. (As
an aside, I think hat i915's ability to survive rebinding without
crashing on the next X startup has gotten worse recently. I
invariably OOPS awhile after rebinding with recent kernels.)

I diffed the output of intel_reg_dumper (2.9.0, I think):


--- /tmp/pre-rebind 2009-10-30 14:35:24.267236469 -0400
+++ /tmp/post-rebind 2009-10-30 14:39:22.649986477 -0400
@@ -46,7 +46,7 @@
(II): PFIT_CONTROL: 0x00000000
(II): PFIT_PGM_RATIOS: 0x00000000
(II): PORT_HOTPLUG_EN: 0x3e040320
-(II): PORT_HOTPLUG_STAT: 0x38560800
+(II): PORT_HOTPLUG_STAT: 0x38000000
(II): DSPACNTR: 0x00000000 (disabled, pipe A)
(II): DSPASTRIDE: 0x00000000 (0 bytes)
(II): DSPAPOS: 0x00000000 (0, 0)
@@ -149,7 +149,7 @@
(II): FBC_COMMAND: 0x08c80034
(II): FBC_STATUS: 0x00000000
(II): FBC_CONTROL2: 0x00000000
-(II): FBC_FENCE_OFF: 0x00008000
+(II): FBC_FENCE_OFF: 0x10000000
(II): FBC_MOD_NUM: 0x00000060
(II): MI_MODE: 0x00000200
(II): MI_ARB_STATE: 0x00000040

intel_reg_write doesn't seem to work right on FBC_FENCE_OFF (previous
value doesn't agree w/ intel_reg_dumper), and I'm not sure exactly
what that's supposed to do.

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/