From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Keith Packard <keithp@keithp.com>
Cc: "drivers, Intel" <Intel-gfx@lists.freedesktop.org>
Subject: Re: Flicker-free boot in DRM
Date: Mon, 31 Oct 2011 09:57:26 -0700 [thread overview]
Message-ID: <20111031095726.242ddeeb@jbarnes-desktop> (raw)
In-Reply-To: <yuny5w4qnv1.fsf@aiko.keithp.com>
[-- Attachment #1.1: Type: text/plain, Size: 2469 bytes --]
On Sat, 29 Oct 2011 00:05:22 -0700
"Keith Packard" <keithp@keithp.com> wrote:
>
> Steve Langasek came over today and we hacked on the i915 driver
> initialization code to try and avoid the initial mode set. I thought I'd
> summarize what we found out.
>
> * Ubuntu has hacked up grub2 so that it gets the boot monitor running
> in a reasonable configuration using VBE calls if possible. In
> particular, it does try to find a 32bpp mode.
>
> Unfortunately, this won't actually work on many machines as the BIOS
> is often missing the native mode for the panel. So, we'll often need to
> deal with situations where the BIOS has got the panel running in the
> right mode, but there's a scaler running and the pipe and plane are
> wrong. I wonder if it's possible to change the plane/pipe/scaler
> configuration without turning the panel off and without causing any
> visible artifacts on the screen. My (limited) testing generated
> quite the visual fireworks...
Should be possible I think, but depends on the specific hardware rev.
Last time I tried lots of combinations was on Crestline for panel
fitting. Scaling down or up with fitting worked w/o shutting down the
pipe, but to scale back up from a centered mode required a pipeconf
toggle. I think BIOSes mostly use the fitter though, so it ought to be
possible.
> * Constructing a fake drm_framebuffer is a pain; there are a million
> places that assume all kinds of things about the frame buffer on
> a crtc.
Easier to just copy the contents out of the current framebuffer into a
new one before flipping to the new buffer.
> * DRM destroys all references to the current mode before crtc->mode_set is
> called. This makes it impossible to short-circuit pieces of mode_set
> internally. There's absolutely no reason for this; all of the
> changed data are available as parameters to the underlying functions.
>
> * drm should let the driver decide whether mode_set_base will work
> to switch frame buffers. Otherwise, there are all kinds of cases
> which the hardware supports and which it will refuse to let through.
> I think it should return -EAGAIN or some such to signal that the
> system should try to do a full mode set.
I think that's already possible if we don't use the helper function for
mode setting.
--
Jesse Barnes, Intel Open Source Technology Center
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 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
next prev parent reply other threads:[~2011-10-31 16:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-29 7:05 Flicker-free boot in DRM Keith Packard
2011-10-29 8:12 ` Chris Wilson
2011-10-29 21:54 ` Keith Packard
2011-10-30 4:24 ` Keith Packard
2011-10-31 16:56 ` Adam Jackson
2011-10-31 18:43 ` Keith Packard
2011-10-31 18:59 ` Adam Jackson
2011-10-31 16:57 ` Jesse Barnes [this message]
2011-10-31 18:45 ` Keith Packard
2011-10-31 17:00 ` Adam Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111031095726.242ddeeb@jbarnes-desktop \
--to=jbarnes@virtuousgeek.org \
--cc=Intel-gfx@lists.freedesktop.org \
--cc=keithp@keithp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.