xf86-video-intel: Branch 'xf86-video-intel-2.5-branch' - 2 commits - src/i830_driver.c

Eric Anholt anholt at kemper.freedesktop.org
Tue Sep 16 21:51:44 PDT 2008


 src/i830_driver.c |   19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

New commits:
commit 043b6e71b83eb05339a6f8c4814e6941f8b9695a
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Tue Sep 16 13:21:43 2008 -0700

    Move bufmgr init earlier so it's available at I830DRIDoMappings time.
    
    Fixes a crash with non-GEM mode.  Bug #17540.
    (cherry picked from commit 62b75df84c893bf28e20014cf88ce45064611dc9)

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 5e505cf..9bf0a64 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3254,6 +3254,14 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
    }
 #endif
 
+   if (!pI830->use_drm_mode) {
+      DPRINTF(PFX, "assert( if(!I830MapMem(pScrn)) )\n");
+      if (!I830MapMem(pScrn))
+	 return FALSE;
+      pScrn->memPhysBase = (unsigned long)pI830->FbBase;
+   }
+   i830_init_bufmgr(pScrn);
+
 #ifdef XF86DRI
    /*
     * Setup DRI after visuals have been established, but before fbScreenInit
@@ -3287,13 +3295,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 	      pI830->allowPageFlip ? "en" : "dis");
 #endif
 
-   if (!pI830->use_drm_mode) {
-       DPRINTF(PFX, "assert( if(!I830MapMem(pScrn)) )\n");
-       if (!I830MapMem(pScrn))
- 	   return FALSE;
-       pScrn->memPhysBase = (unsigned long)pI830->FbBase;
-   }
-
    if (I830IsPrimary(pScrn)) {
         pScrn->fbOffset = pI830->front_buffer->offset;
    } else {
@@ -3311,8 +3312,6 @@ I830ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 	   return FALSE;
    }
 
-   i830_init_bufmgr(pScrn);
-
    i830_disable_render_standby(pScrn);
 
    DPRINTF(PFX, "assert( if(!I830EnterVT(scrnIndex, 0)) )\n");
commit 0a2d17f7c2ea9b695df1855aab4ccc519546d8e5
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Tue Sep 16 11:49:39 2008 -0700

    Put back check for pI830->hw_status in setting hws in non-GEM mode.
    
    Fixes crashes on non-GEM systems with physical hardware status page.
    
    Bug #17540
    (cherry picked from commit 188d58dac9a87b56dbc34ec219cd196928bbcf64)

diff --git a/src/i830_driver.c b/src/i830_driver.c
index e48e20e..5e505cf 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3693,7 +3693,7 @@ I830EnterVT(int scrnIndex, int flags)
 	* operation which accessing that page, like irq install, etc.
 	*/
        if (pI830->starting && !pI830->memory_manager) {
-	   if (!I830DRISetHWS(pScrn)) {
+	   if (pI830->hw_status != NULL && !I830DRISetHWS(pScrn)) {
 		   xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 			   "Fail to setup hardware status page.\n");
 		   I830DRICloseScreen(pScrn->pScreen);


More information about the xorg-commit mailing list