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