* Re: [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not. [not found] <AANLkTikoPjDs-RNs+nvOJUO5UWHedGjRT1Ee7kuDyVdO@mail.gmail.com> @ 2010-10-07 22:55 ` Chris Wilson 2010-10-07 23:06 ` Jesse Barnes 2010-10-07 23:48 ` Bryan Freed 0 siblings, 2 replies; 4+ messages in thread From: Chris Wilson @ 2010-10-07 22:55 UTC (permalink / raw) To: Bryan Freed, Jesse Barnes, Eric Anholt, intel-gfx, Olof Johansson, Mandeep On Thu, 7 Oct 2010 15:48:14 -0700, Bryan Freed <bfreed@chromium.org> wrote: > The time between start of the pixel clock and backlight enable is a basic > panel timing constraint. If no VBIOS Table is found, and the Panel Power > On/Off registers are found to be 0, assume we are booting without VBIOS > initialization and set these registers to something reasonable. IIRC, the panel sequence registers are meant to be stored in the VBIOS. So if we add the parsing of those to the driver and add the defaults to init_vbt_default() then we can check whether PP_ON_DELAYS is valid upon device init (module load and resume) and fixup in case the BIOS does not. -Chris -- Chris Wilson, Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not. 2010-10-07 22:55 ` [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not Chris Wilson @ 2010-10-07 23:06 ` Jesse Barnes 2010-10-07 23:48 ` Bryan Freed 1 sibling, 0 replies; 4+ messages in thread From: Jesse Barnes @ 2010-10-07 23:06 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx, Mandeep Baines, Olof Johansson On Thu, 07 Oct 2010 23:55:38 +0100 Chris Wilson <chris@chris-wilson.co.uk> wrote: > On Thu, 7 Oct 2010 15:48:14 -0700, Bryan Freed <bfreed@chromium.org> wrote: > > The time between start of the pixel clock and backlight enable is a basic > > panel timing constraint. If no VBIOS Table is found, and the Panel Power > > On/Off registers are found to be 0, assume we are booting without VBIOS > > initialization and set these registers to something reasonable. > > IIRC, the panel sequence registers are meant to be stored in the VBIOS. So > if we add the parsing of those to the driver and add the defaults to > init_vbt_default() then we can check whether PP_ON_DELAYS is valid upon > device init (module load and resume) and fixup in case the BIOS does not. Right, those values should be in the VBT. Getting them wrong can actually damage your panel, so we need to take care here. The whole point of the power sequencing logic and register lock is to avoid such damage. That said, I've abused my panels (both LVDS and eDP) pretty hard and have yet to damage one in any visible way, so stealing some conservative (i.e. long) delays from an existing VBT will probably work ok. -- Jesse Barnes, Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not. 2010-10-07 22:55 ` [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not Chris Wilson 2010-10-07 23:06 ` Jesse Barnes @ 2010-10-07 23:48 ` Bryan Freed 2010-10-07 23:52 ` Jesse Barnes 1 sibling, 1 reply; 4+ messages in thread From: Bryan Freed @ 2010-10-07 23:48 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx, Olof Johansson, Mandeep Baines [-- Attachment #1.1: Type: text/plain, Size: 1178 bytes --] My change tries to detect the lack of initialization by A) finding no VBT, and B) finding 0 values in these registers. But what if there is a VBIOS out there that really wants these values to be 0? I provide for that case by checking for VBT. Is this a reasonable case? If not, I have no problem moving the check to init_vbt_default(). bryan. On Thu, Oct 7, 2010 at 3:55 PM, Chris Wilson <chris@chris-wilson.co.uk>wrote: > On Thu, 7 Oct 2010 15:48:14 -0700, Bryan Freed <bfreed@chromium.org> > wrote: > > The time between start of the pixel clock and backlight enable is a basic > > panel timing constraint. If no VBIOS Table is found, and the Panel Power > > On/Off registers are found to be 0, assume we are booting without VBIOS > > initialization and set these registers to something reasonable. > > IIRC, the panel sequence registers are meant to be stored in the VBIOS. So > if we add the parsing of those to the driver and add the defaults to > init_vbt_default() then we can check whether PP_ON_DELAYS is valid upon > device init (module load and resume) and fixup in case the BIOS does not. > -Chris > > -- > Chris Wilson, Intel Open Source Technology Centre > [-- Attachment #1.2: Type: text/html, Size: 1661 bytes --] [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not. 2010-10-07 23:48 ` Bryan Freed @ 2010-10-07 23:52 ` Jesse Barnes 0 siblings, 0 replies; 4+ messages in thread From: Jesse Barnes @ 2010-10-07 23:52 UTC (permalink / raw) To: Bryan Freed; +Cc: intel-gfx, Mandeep Baines, Olof Johansson I don't think 0 is a reasonable value for any of those fields, so checking them against 0 should be fine. Jesse On Thu, 7 Oct 2010 16:48:51 -0700 Bryan Freed <bfreed@chromium.org> wrote: > My change tries to detect the lack of initialization by A) finding no VBT, > and B) finding 0 values in these registers. > > But what if there is a VBIOS out there that really wants these values to be > 0? I provide for that case by checking for VBT. > > Is this a reasonable case? If not, I have no problem moving the check > to init_vbt_default(). > > bryan. > > On Thu, Oct 7, 2010 at 3:55 PM, Chris Wilson <chris@chris-wilson.co.uk>wrote: > > > On Thu, 7 Oct 2010 15:48:14 -0700, Bryan Freed <bfreed@chromium.org> > > wrote: > > > The time between start of the pixel clock and backlight enable is a basic > > > panel timing constraint. If no VBIOS Table is found, and the Panel Power > > > On/Off registers are found to be 0, assume we are booting without VBIOS > > > initialization and set these registers to something reasonable. > > > > IIRC, the panel sequence registers are meant to be stored in the VBIOS. So > > if we add the parsing of those to the driver and add the defaults to > > init_vbt_default() then we can check whether PP_ON_DELAYS is valid upon > > device init (module load and resume) and fixup in case the BIOS does not. > > -Chris > > > > -- > > Chris Wilson, Intel Open Source Technology Centre > > -- Jesse Barnes, Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-10-07 23:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <AANLkTikoPjDs-RNs+nvOJUO5UWHedGjRT1Ee7kuDyVdO@mail.gmail.com>
2010-10-07 22:55 ` [PATCH] CHROMIUM: i915: Initialize panel timing registers if VBIOS did not Chris Wilson
2010-10-07 23:06 ` Jesse Barnes
2010-10-07 23:48 ` Bryan Freed
2010-10-07 23:52 ` Jesse Barnes
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.