From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: Flicker-free boot in DRM Date: Mon, 31 Oct 2011 09:57:26 -0700 Message-ID: <20111031095726.242ddeeb@jbarnes-desktop> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0547782077==" Return-path: Received: from oproxy1-pub.bluehost.com (oproxy1-pub.bluehost.com [66.147.249.253]) by gabe.freedesktop.org (Postfix) with SMTP id 6C24B9E904 for ; Mon, 31 Oct 2011 09:57:30 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Keith Packard Cc: "drivers, Intel" List-Id: intel-gfx@lists.freedesktop.org --===============0547782077== Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/Fxos69xDLK9OZpJWRy9xELr"; protocol="application/pgp-signature" --Sig_/Fxos69xDLK9OZpJWRy9xELr Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sat, 29 Oct 2011 00:05:22 -0700 "Keith Packard" wrote: >=20 > 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. >=20 > * 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. >=20 > 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. >=20 > * 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. --=20 Jesse Barnes, Intel Open Source Technology Center --Sig_/Fxos69xDLK9OZpJWRy9xELr Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJOrtN2AAoJEIEoDkX4Qk9hINoQAImPCRwlWSa+k7kJpGnsUIen g5iPDuqHPoYX/kYH63EUfGP8wqVoJk7u2JlxiREGGHEM+Q0IgFYYGXxInXXK6CQq aNGnU1I+aTloVXkp6YAhH99TVFyhkwOgnMae8aRQw2D0D/xpnrJJDqHJGlZAiojj aH8pm78aQ9oKDvsMwd5PGQAbWPeTijuPjkIQNETdnAtsl+RBIre9BpDzcwXTC+p1 02gvE/vjZPxAPj8aPMkqVnG71fHRn4KJZmCJ8pnJ6EuBzVJbKO7SxWL4QhGdTpL+ rnQqV0rPFCGfmxd1PWgTsGUlpFYAP1sCnqZ3zllL7LIwjC95ilugHJUFVmnVSoFF 3LLW/bZvWtXpVHQYG+1EatrqJI723vhlaso9CkTe/F8u0uwxCyb0vm1Tq0tfDbeQ D+ztBvcaec2yENeiQYsACI4DCtaDJsvXzAOGIH96Iv+ZVEAMeDCpSoBu/buo3c2N kAX2dKHo4avG1yLlJiJ1THsuAy155ITQGhCCzqF68b7MZpPjGnEquql8dKP+7U3D hbD+OaReHe4vfrJ3ZTQe7EGWERR6Z3sl7MuoUivgdrDfrizMLyChOern+67d3ddV JDDauCBSZJSNptWRaZ40LVtCVOR3fNnmHFpYbTz1e8+r/HEVxOEHv5BS4uWFAEc6 bMSobtXjNDVw58Rryg31 =FpJR -----END PGP SIGNATURE----- --Sig_/Fxos69xDLK9OZpJWRy9xELr-- --===============0547782077== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx --===============0547782077==--