Re: [PATCH 1/2] drm/i915: clear up backlight inversion confusion on gen4

Daniel Vetter
2012-04-23T15:55:06Z

On Mon, Apr 23, 2012 at 05:38:27PM +0200, Carsten Emde wrote:
> On 04/23/2012 05:22 PM, Daniel Vetter wrote:
> >On Mon, Apr 23, 2012 at 05:06:53PM +0200, Carsten Emde wrote:
> >>On 04/23/2012 04:22 PM, Daniel Vetter wrote:
> >>>On Mon, Apr 23, 2012 at 04:00:23PM +0200, Carsten Emde wrote:
> >>> [..]
> >>>The idea was to boot with kms and see whether any of these values would
> >>>restore the backlight. Writing to CTL1 should change anything in CTL2.
> >>Ah, sorry, ok. Removed the quirk again and tested the various settings:
> >>
> >>-> Initial screen: dark
> >>
> >># intel_reg_write 0x61250 0x80000000
> >>Value before: 0xE0000000
> >>Value after: 0x80000000
> >>-> Still dark
> >>
> >># intel_reg_write 0x61250 0xa0000000
> >>Value before: 0x80000000
> >>Value after: 0xA0000000
> >>-> Still dark
> >>
> >># intel_reg_write 0x61250 0x90000000
> >>Value before: 0xA0000000
> >>Value after: 0x90000000
> >>-> BACKLIGHT ON!
> >>
> >># intel_reg_write 0x61250 0xb0000000
> >>Value before: 0x90000000
> >>Value after: 0xB0000000
> >>-> Still ON.
> >
> >Neat. Let's test two more:
> >
> ># intel_reg_write 0x61250 0xd0000000
> ># intel_reg_write 0x61250 0xc0000000
> Here we go.
>
> -> Initial screen: dark
>
> # intel_reg_write 0x61250 0xd0000000
> Value before: 0xE0000000
> Value after: 0xD0000000
> -> BACKLIGHT ON!
>
> # intel_reg_write 0x61250 0xc0000000
> Value before: 0xD0000000
> Value after: 0xC0000000
> -> Dark again.

Ok, so the polarity bit does work as advertised. But I still don't
understand how your machine works, so assuming your machine has backlight
control keys, please boot with kms disabled and grab the both registers
values for maximal brightness and minimal brightness. Then reconfigure the
backlight with

# intel_reg_write 0x61250 0x90000000

and check how the behaviour changes. Somehow we lose something when
setting up drm/i915, but atm I can't figure out what yet.

Thanks, Daniel
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48