From fd25a4586b0667b1591d85b23daaa99464e9b0d8 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 19 Mar 2012 15:51:43 +0000 Subject: [PATCH 2/5] uxa: Defer the call to EnterVT till after outputs are initialised We need to do this apparently or else we never perform the VT switch. However, we can not do it too early, especially not before we have finished intialising the outputs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47395 Signed-off-by: Chris Wilson --- src/intel_driver.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/intel_driver.c b/src/intel_driver.c index e2e43fa..ff29754 100644 --- a/src/intel_driver.c +++ b/src/intel_driver.c @@ -1013,13 +1013,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) "Hardware cursor initialization failed\n"); } - /* Must force it before EnterVT, so we are in control of VT and - * later memory should be bound when allocating, e.g rotate_mem */ - scrn->vtSema = TRUE; - - if (!I830EnterVT(scrnIndex, 0)) - return FALSE; - intel->BlockHandler = screen->BlockHandler; screen->BlockHandler = I830BlockHandler; @@ -1092,7 +1085,11 @@ I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) I830UeventInit(scrn); #endif - return TRUE; + /* Must force it before EnterVT, so we are in control of VT and + * later memory should be bound when allocating, e.g rotate_mem */ + scrn->vtSema = TRUE; + + return I830EnterVT(scrnIndex, 0); } static void i830AdjustFrame(int scrnIndex, int x, int y, int flags) -- 1.7.10