debian/changelog                                    |   14 -
 debian/patches/101_copy-fb.patch                    |  263 +++++++++-----------
 debian/patches/104_uxa_fix_gtt_mapping_limits.patch |    4 
 debian/patches/107-uxa-fix-pageflip-race.patch      |  126 +++++++++
 debian/patches/series                               |    1 
 5 files changed, 263 insertions(+), 145 deletions(-)

New commits:
commit 56a451cf57a479279e431e5ad1ff73bae231acba
Author: Timo Aaltonen <tjaal...@ubuntu.com>
Date:   Sat Oct 6 07:32:29 2012 +0300

    close a bug with patch 106

diff --git a/debian/changelog b/debian/changelog
index d17e9e8..20fa358 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ xserver-xorg-video-intel (2:2.17.0-1ubuntu4.2) 
precise-proposed; urgency=low
   * Add 106-uxa-only-consider-attached-outputs-valid.patch, two upstream
     commits merged together that fix GPU hangs on resume, due to outputs
     getting marked valid before the kernel reports them attached.
+    (LP: #992391)
   * Replace 101_copy-fb.patch with the patch that went upstream, backported
     to build against the older xserver. Needed for other backports.
     - refreshed patch 104 to apply.

commit 697e87fda6f44a0e0565501d32e300db4a3b2c62
Author: Timo Aaltonen <tjaal...@ubuntu.com>
Date:   Fri Oct 5 22:40:59 2012 +0300

    release to precise-proposed

diff --git a/debian/changelog b/debian/changelog
index 77d2f2e..d17e9e8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-intel (2:2.17.0-1ubuntu4.1.1) precise; urgency=low
+xserver-xorg-video-intel (2:2.17.0-1ubuntu4.2) precise-proposed; urgency=low
 
   * Add 106-uxa-only-consider-attached-outputs-valid.patch, two upstream
     commits merged together that fix GPU hangs on resume, due to outputs
@@ -11,7 +11,7 @@ xserver-xorg-video-intel (2:2.17.0-1ubuntu4.1.1) precise; 
urgency=low
     - consists of five upstream commits merged as one and backported to
       build against the xserver in precise
 
- -- Timo Aaltonen <tjaal...@ubuntu.com>  Fri, 24 Aug 2012 13:07:41 +0300
+ -- Timo Aaltonen <tjaal...@ubuntu.com>  Fri, 05 Oct 2012 22:40:38 +0300
 
 xserver-xorg-video-intel (2:2.17.0-1ubuntu4.1) precise-proposed; urgency=low
 

commit 9c089b408bf29faa0469160553a1ff4ee4b55841
Author: Timo Aaltonen <tjaal...@ubuntu.com>
Date:   Fri Oct 5 22:40:27 2012 +0300

    Add 107-uxa-fix-pageflip-race.patch
    
    * Add 107-uxa-fix-pageflip-race.patch, fixes a race with pageflip and
      dpms, resulting in for instance compiz hanging. (LP: #966744)
      - consists of five upstream commits merged as one and backported to
        build against the xserver in precise

diff --git a/debian/changelog b/debian/changelog
index b31067a..77d2f2e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,10 @@ xserver-xorg-video-intel (2:2.17.0-1ubuntu4.1.1) precise; 
urgency=low
   * Replace 101_copy-fb.patch with the patch that went upstream, backported
     to build against the older xserver. Needed for other backports.
     - refreshed patch 104 to apply.
+  * Add 107-uxa-fix-pageflip-race.patch, fixes a race with pageflip and
+    dpms, resulting in for instance compiz hanging. (LP: #966744)
+    - consists of five upstream commits merged as one and backported to
+      build against the xserver in precise
 
  -- Timo Aaltonen <tjaal...@ubuntu.com>  Fri, 24 Aug 2012 13:07:41 +0300
 
diff --git a/debian/patches/107-uxa-fix-pageflip-race.patch 
b/debian/patches/107-uxa-fix-pageflip-race.patch
new file mode 100644
index 0000000..c61395d
--- /dev/null
+++ b/debian/patches/107-uxa-fix-pageflip-race.patch
@@ -0,0 +1,126 @@
+commit edc5b7f741a4bb8e9a58b5eb2201fa9304f94ef7
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Thu Sep 27 13:27:20 2012 +0100
+
+commit 5a45cbacb777e478d8fbda9223b0fb5c705d7249
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Thu Sep 27 13:31:27 2012 +0100
+
+commit feef53005b57d6b4489a15f8d0db8245dcb0cfaa
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Thu Sep 27 13:36:55 2012 +0100
+
+commit cb0b72c4fbb7b1bc941522d8679fef856f2f8936
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Thu Sep 27 14:53:46 2012 +0100
+
+commit 88cfd23379950d1fe4e682519c48ef6e3091c2f3
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Thu Sep 27 16:16:39 2012 +0100
+
+diff --git a/src/intel_display.c b/src/intel_display.c
+index 4ab7dd3..fae7066 100644
+--- a/src/intel_display.c
++++ b/src/intel_display.c
+@@ -1449,15 +1449,15 @@ intel_do_pageflip(intel_screen_private *intel,
+       struct intel_mode *mode = crtc->mode;
+       unsigned int pitch = scrn->displayWidth * intel->cpp;
+       struct intel_pageflip *flip;
+-      int i, old_fb_id;
++      uint32_t new_fb_id;
++      int i;
+ 
+       /*
+        * Create a new handle for the back buffer
+        */
+-      old_fb_id = mode->fb_id;
+       if (drmModeAddFB(mode->fd, scrn->virtualX, scrn->virtualY,
+                        scrn->depth, scrn->bitsPerPixel, pitch,
+-                       new_front->handle, &mode->fb_id))
++                       new_front->handle, &new_fb_id))
+               goto error_out;
+ 
+       intel_batch_submit(scrn);
+@@ -1476,7 +1476,7 @@ intel_do_pageflip(intel_screen_private *intel,
+       mode->fe_tv_usec = 0;
+ 
+       for (i = 0; i < config->num_crtc; i++) {
+-              if (!config->crtc[i]->enabled)
++              if (!intel_crtc_on(config->crtc[i]))
+                       continue;
+ 
+               mode->flip_info = flip_info;
+@@ -1499,7 +1499,7 @@ intel_do_pageflip(intel_screen_private *intel,
+ 
+               if (drmModePageFlip(mode->fd,
+                                   crtc_id(crtc),
+-                                  mode->fb_id,
++                                  new_fb_id,
+                                   DRM_MODE_PAGE_FLIP_EVENT, flip)) {
+                       xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+                                  "flip queue failed: %s\n", strerror(errno));
+@@ -1508,12 +1508,16 @@ intel_do_pageflip(intel_screen_private *intel,
+               }
+       }
+ 
+-      mode->old_fb_id = old_fb_id;
++      mode->old_fb_id = mode->fb_id;
++      mode->fb_id = new_fb_id;
+       return TRUE;
+ 
+ error_undo:
+-      drmModeRmFB(mode->fd, mode->fb_id);
+-      mode->fb_id = old_fb_id;
++      drmModeRmFB(mode->fd, new_fb_id);
++      for (i = 0; i < config->num_crtc; i++) {
++              if (config->crtc[i]->enabled)
++                      intel_crtc_apply(config->crtc[i]);
++      }
+ 
+ error_out:
+       xf86DrvMsg(scrn->scrnIndex, X_WARNING, "Page flip failed: %s\n",
+diff --git a/src/intel_dri.c b/src/intel_dri.c
+index 135ba4e..c4dbd72 100644
+--- a/src/intel_dri.c
++++ b/src/intel_dri.c
+@@ -473,7 +473,7 @@ I830DRI2CopyRegion(DrawablePtr drawable, RegionPtr pRegion,
+               BoxPtr box;
+               BoxRec crtcbox;
+               int y1, y2;
+-              int pipe = -1, event, load_scan_lines_pipe;
++              int event, load_scan_lines_pipe;
+               xf86CrtcPtr crtc;
+               Bool full_height = FALSE;
+ 
+@@ -485,7 +485,7 @@ I830DRI2CopyRegion(DrawablePtr drawable, RegionPtr pRegion,
+                * buffer
+                */
+               if (crtc != NULL && !crtc->rotatedData) {
+-                      pipe = intel_crtc_to_pipe(crtc);
++                      int pipe = intel_crtc_to_pipe(crtc);
+ 
+                       /*
+                        * Make sure we don't wait for a scanline that will
+@@ -874,7 +874,8 @@ I830DRI2ScheduleFlip(struct intel_screen_private *intel,
+ static Bool
+ can_exchange(DrawablePtr drawable, DRI2BufferPtr front, DRI2BufferPtr back)
+ {
+-      struct intel_screen_private *intel = 
intel_get_screen_private(xf86Screens[drawable->pScreen->myNum]);
++      ScrnInfoPtr pScrn = xf86Screens[drawable->pScreen->myNum];
++      struct intel_screen_private *intel = intel_get_screen_private(pScrn);
+       I830DRI2BufferPrivatePtr front_priv = front->driverPrivate;
+       I830DRI2BufferPrivatePtr back_priv = back->driverPrivate;
+       PixmapPtr front_pixmap = front_priv->pixmap;
+@@ -885,6 +886,12 @@ can_exchange(DrawablePtr drawable, DRI2BufferPtr front, 
DRI2BufferPtr back)
+       if (drawable == NULL)
+               return FALSE;
+ 
++      if (!pScrn->vtSema)
++              return FALSE;
++
++      if (I830DRI2DrawablePipe(drawable) < 0)
++              return FALSE;
++
+       if (!DRI2CanFlip(drawable))
+               return FALSE;
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 45470d9..c086e8a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@
 104_uxa_fix_gtt_mapping_limits.patch
 105_reduce_ivb_gt1_max_thread_count.patch
 106-uxa-only-consider-attached-outputs-valid.patch
+107-uxa-fix-pageflip-race.patch

commit 2d4a44aa7f1778de1de0c67eef2fcac46b608d75
Author: Timo Aaltonen <tjaal...@ubuntu.com>
Date:   Fri Oct 5 22:09:47 2012 +0300

    Replace 101_copy-fb.patch with the patch that went upstream
    
    * Replace 101_copy-fb.patch with the patch that went upstream, backported
      to build against the older xserver. Needed for other backports.
      - refreshed patch 104 to apply.

diff --git a/debian/changelog b/debian/changelog
index cb3b106..b31067a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,11 @@
-xserver-xorg-video-intel (2:2.17.0-1ubuntu4.1.1) UNRELEASED; urgency=low
+xserver-xorg-video-intel (2:2.17.0-1ubuntu4.1.1) precise; urgency=low
 
   * Add 106-uxa-only-consider-attached-outputs-valid.patch, two upstream
     commits merged together that fix GPU hangs on resume, due to outputs
     getting marked valid before the kernel reports them attached.
+  * Replace 101_copy-fb.patch with the patch that went upstream, backported
+    to build against the older xserver. Needed for other backports.
+    - refreshed patch 104 to apply.
 
  -- Timo Aaltonen <tjaal...@ubuntu.com>  Fri, 24 Aug 2012 13:07:41 +0300
 
diff --git a/debian/patches/101_copy-fb.patch b/debian/patches/101_copy-fb.patch
index a84dc77..7290df9 100644
--- a/debian/patches/101_copy-fb.patch
+++ b/debian/patches/101_copy-fb.patch
@@ -1,16 +1,27 @@
-Index: xserver-xorg-video-intel/src/intel.h
-===================================================================
---- xserver-xorg-video-intel.orig/src/intel.h  2011-12-20 15:47:35.802985779 
+1100
-+++ xserver-xorg-video-intel/src/intel.h       2011-12-20 15:47:38.618985789 
+1100
-@@ -432,6 +432,7 @@
-       OptionInfoPtr Options;
- 
-       /* Driver phase/state information */
-+      Bool starting;
-       Bool suspended;
- 
-       enum last_3d last_3d;
-@@ -461,6 +462,7 @@
+commit 3b9b64c7c9b5b0bfaafb97c9a9fe5849bbb412da
+Author: Dave Airlie <airl...@gmail.com>
+Date:   Tue Jun 12 10:26:34 2012 +0100
+
+    uxa: do copy fb at startup.
+    
+    Copy the current framebuffer for smooth wayland->gdm handoff.
+    
+    This has been hanging around in Fedora for too long now, and we've
+    dropped the feature a few times, and yes I know the Simpsons did it^W^W^W
+    SNA does it.
+    
+    I've updated the code to have some of the better fixes from nouveau.
+    
+    I've no idea who wrote this code either, krh or ajax. [ickle: The
+    earliest version I've found had krh's fingerprints on it, though it may
+    still have been a joint effort.]
+    
+    Signed-off-by: Dave Airlie <airl...@redhat.com>
+    [ickle: improve error handling, only copy the fb during initial takeover]
+
+--- a/src/intel.h
++++ b/src/intel.h
+@@ -461,6 +461,7 @@
  extern int intel_get_pipe_from_crtc_id(drm_intel_bufmgr *bufmgr, xf86CrtcPtr 
crtc);
  extern int intel_crtc_id(xf86CrtcPtr crtc);
  extern int intel_output_dpms_status(xf86OutputPtr output);
@@ -18,90 +29,80 @@ Index: xserver-xorg-video-intel/src/intel.h
  
  enum DRI2FrameEventType {
        DRI2_SWAP,
-Index: xserver-xorg-video-intel/src/intel_display.c
-===================================================================
---- xserver-xorg-video-intel.orig/src/intel_display.c  2011-12-20 
15:47:35.778985780 +1100
-+++ xserver-xorg-video-intel/src/intel_display.c       2011-12-20 
15:54:45.422987131 +1100
-@@ -36,6 +36,8 @@
+--- a/src/intel_display.c
++++ b/src/intel_display.c
+@@ -35,6 +35,7 @@
+ #include <unistd.h>
  #include <errno.h>
  #include <poll.h>
- 
 +#include <sys/ioctl.h>
-+
+ 
  #include "xorgVersion.h"
  
- #include "intel.h"
-@@ -45,6 +47,8 @@
+@@ -44,6 +45,8 @@
+ #include "X11/Xatom.h"
  #include "X11/extensions/dpmsconst.h"
  #include "xf86DDC.h"
- 
++#include "fb.h"
 +#include "uxa.h"
-+
+ 
  struct intel_mode {
        int fd;
-       uint32_t fb_id;
-@@ -939,6 +943,13 @@
-       drmModeConnectorPtr koutput = intel_output->mode_output;
-       struct intel_mode *mode = intel_output->mode;
-       int i;
-+      intel_screen_private *intel = intel_get_screen_private(output->scrn);
-+
-+      /* xf86Crtc.c calls dpms off in set desired modes, so ignore
-+       * the request if we're starting up. */
-+
-+      if (intel->starting)
-+              return;
- 
-       for (i = 0; i < koutput->count_props; i++) {
-               drmModePropertyPtr props;
-@@ -1632,6 +1643,11 @@
-       }
- 
-       intel->modes = mode;
-+
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 9
-+      scrn->canDoBGNoneRoot = TRUE;
-+#endif
-+
-       return TRUE;
- }
- 
-@@ -1701,3 +1717,100 @@
+@@ -1701,3 +1704,129 @@
        struct intel_crtc *intel_crtc = crtc->driver_private;
        return intel_crtc->pipe;
  }
 +
 +static PixmapPtr
-+intel_create_pixmap_for_fbcon(ScrnInfoPtr scrn)
++intel_create_pixmap_for_bo(ScreenPtr pScreen, dri_bo *bo,
++                         int width, int height,
++                         int depth, int bpp,
++                         int pitch)
++{
++      PixmapPtr pixmap;
++
++      pixmap = pScreen->CreatePixmap(pScreen, 0, 0, depth, 0);
++      if (pixmap == NullPixmap)
++              return pixmap;
++
++      if (!pScreen->ModifyPixmapHeader(pixmap,
++                                       width, height,
++                                       depth, bpp,
++                                       pitch, NULL)) {
++              pScreen->DestroyPixmap(pixmap);
++              return NullPixmap;
++      }
++
++      intel_set_pixmap_bo(pixmap, bo);
++      return pixmap;
++}
++
++static PixmapPtr
++intel_create_pixmap_for_fbcon(ScrnInfoPtr scrn, int fbcon_id)
 +{
-+      xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
-+      struct intel_crtc *intel_crtc = xf86_config->crtc[0]->driver_private;
 +      ScreenPtr pScreen = screenInfo.screens[scrn->scrnIndex];
-+      struct intel_mode *mode = intel_crtc->mode;
 +      intel_screen_private *intel = intel_get_screen_private(scrn);
-+      drmModeFBPtr fbcon = NULL;
++      struct intel_mode *mode = intel->modes;
++      int fd = mode->fd;
++      drmModeFBPtr fbcon;
 +      struct drm_gem_flink flink;
 +      drm_intel_bo *bo;
-+      PixmapPtr pixmap = NULL;
-+      int i;
++      PixmapPtr pixmap = NullPixmap;
 +
-+      for (i = 0; i < mode->mode_res->count_crtcs; i++) {
-+              intel_crtc = xf86_config->crtc[i]->driver_private;
-+              if (intel_crtc->mode_crtc->buffer_id == 0)
-+                      continue;
-+              fbcon = drmModeGetFB(mode->fd,
-+                                   intel_crtc->mode_crtc->buffer_id);
-+              if (fbcon != NULL)
-+                      break;
-+      }
-+      if (i == mode->mode_res->count_crtcs)
++      fbcon = drmModeGetFB(fd, fbcon_id);
++      if (fbcon == NULL)
 +              return NULL;
 +
++      if (fbcon->depth != scrn->depth ||
++          fbcon->width != scrn->virtualX ||
++          fbcon->height != scrn->virtualY)
++              goto out_free_fb;
++
 +      flink.handle = fbcon->handle;
-+      if (ioctl(mode->fd, DRM_IOCTL_GEM_FLINK, &flink) < 0) {
++      if (ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink) < 0) {
 +              xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 +                         "Couldn't flink fbcon handle\n");
-+              return NULL;
++              goto out_free_fb;
 +      }
 +
 +      bo = drm_intel_bo_gem_create_from_name(intel->bufmgr,
@@ -109,23 +110,18 @@ Index: xserver-xorg-video-intel/src/intel_display.c
 +      if (bo == NULL) {
 +              xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 +                         "Couldn't allocate bo for fbcon handle\n");
-+              return NULL;
++              goto out_free_fb;
 +      }
-+      if (!CreateScratchPixmapsForScreen(pScreen->myNum))
-+              return NULL;
 +
-+      pixmap = GetScratchPixmapHeader(pScreen,
-+                                      fbcon->width, fbcon->height,
-+                                      fbcon->depth, fbcon->bpp,
-+                                      fbcon->pitch, NULL);
-+      if (pixmap == NULL) {
++      pixmap = intel_create_pixmap_for_bo(pScreen, bo,
++                                          fbcon->width, fbcon->height,
++                                          fbcon->depth, fbcon->bpp,
++                                          fbcon->pitch);
++      if (pixmap == NullPixmap)
 +              xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 +                         "Couldn't allocate pixmap fbcon contents\n");
-+              return NULL;
-+      }
-+
-+      intel_set_pixmap_bo(pixmap, bo);
 +      drm_intel_bo_unreference(bo);
++out_free_fb:
 +      drmModeFreeFB(fbcon);
 +
 +      return pixmap;
@@ -133,78 +129,67 @@ Index: xserver-xorg-video-intel/src/intel_display.c
 +
 +void intel_copy_fb(ScrnInfoPtr scrn)
 +{
++      xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
 +      ScreenPtr pScreen = screenInfo.screens[scrn->scrnIndex];
 +      intel_screen_private *intel = intel_get_screen_private(scrn);
 +      PixmapPtr src, dst;
 +      unsigned int pitch = scrn->displayWidth * intel->cpp;
++      struct intel_crtc *intel_crtc;
++      int i, fbcon_id;
 +
-+      src = intel_create_pixmap_for_fbcon(scrn);
-+      if (src == NULL) {
-+              xf86DrvMsg(scrn->scrnIndex, X_ERROR,
-+                         "Couldn't create pixmap for fbcon\n");
++      if (intel->force_fallback)
 +              return;
-+      }
 +
-+      /* We dont have a screen Pixmap yet */
-+      dst = GetScratchPixmapHeader(pScreen,
-+                                   scrn->virtualX, scrn->virtualY,
-+                                   scrn->depth, scrn->bitsPerPixel,
-+                                   pitch,
-+                                   NULL);
-+      intel_set_pixmap_bo(dst, intel->front_buffer);
++      fbcon_id = 0;
++      for (i = 0; i < xf86_config->num_crtc; i++) {
++              intel_crtc = xf86_config->crtc[i]->driver_private;
++              if (intel_crtc->mode_crtc->buffer_id)
++                      fbcon_id = intel_crtc->mode_crtc->buffer_id;
++      }
++      if (!fbcon_id)
++              return;
 +
-+      intel->uxa_driver->prepare_copy(src, dst, -1, -1, GXcopy, FB_ALLONES);
++      src = intel_create_pixmap_for_fbcon(scrn, fbcon_id);
++      if (src == NULL)
++              return;
 +
-+      intel->uxa_driver->copy(dst, 0, 0, 0, 0,
++      /* We dont have a screen Pixmap yet */
++      dst = intel_create_pixmap_for_bo(pScreen, intel->front_buffer,
++                                       scrn->virtualX, scrn->virtualY,
++                                       scrn->depth, scrn->bitsPerPixel,
++                                       pitch);
++      if (dst == NullPixmap)
++              goto cleanup_src;
++
++      if (!intel->uxa_driver->prepare_copy(src, dst,
++                                           -1, -1,
++                                           GXcopy, FB_ALLONES))
++              goto cleanup_dst;
++
++      intel->uxa_driver->copy(dst,
++                              0, 0,
++                              0, 0,
 +                              scrn->virtualX, scrn->virtualY);
-+
 +      intel->uxa_driver->done_copy(dst);
++      pScreen->canDoBGNoneRoot = TRUE;
 +
-+      intel_batch_submit(scrn);
-+
-+      (*pScreen->DestroyPixmap)(src);
++cleanup_dst:
 +      (*pScreen->DestroyPixmap)(dst);
-+      FreeScratchPixmapsForScreen(pScreen->myNum);
++cleanup_src:
++      (*pScreen->DestroyPixmap)(src);
 +}
-+
-Index: xserver-xorg-video-intel/src/intel_driver.c
-===================================================================
---- xserver-xorg-video-intel.orig/src/intel_driver.c   2011-12-20 
15:47:35.762985780 +1100
-+++ xserver-xorg-video-intel/src/intel_driver.c        2011-12-20 
15:47:38.618985789 +1100
-@@ -950,6 +950,10 @@
-               intel->directRenderingType = DRI_DRI2;
- #endif
- 
-+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 9
-+      screen->canDoBGNoneRoot = TRUE;
-+#endif
-+
-       if (!intel_init_initial_framebuffer(scrn))
+--- a/src/intel_driver.c
++++ b/src/intel_driver.c
+@@ -238,7 +238,11 @@
+       if (!(*screen->CreateScreenResources) (screen))
                return FALSE;
  
-@@ -958,6 +962,8 @@
-       if (INTEL_INFO(intel)->gen >= 40)
-               gen4_render_state_init(scrn);
- 
-+      intel->starting = FALSE;
+-      return intel_uxa_create_screen_resources(screen);
++      if (!intel_uxa_create_screen_resources(screen))
++              return FALSE;
 +
-       miClearVisualTypes();
-       if (!miSetVisualTypes(scrn->depth,
-                             miGetDefaultVisualMask(scrn->depth),
-@@ -1093,6 +1099,7 @@
- 
-       intel_mode_init(intel);
- 
-+      intel->starting = FALSE;
-       intel->suspended = FALSE;
- 
- #if HAVE_UDEV
-@@ -1159,6 +1166,8 @@
- 
-       intel_set_gem_max_sizes(scrn);
- 
 +      intel_copy_fb(scrn);
-+
-       if (!xf86SetDesiredModes(scrn))
-               return FALSE;
++      return TRUE;
+ }
  
+ static void PreInitCleanup(ScrnInfoPtr scrn)
diff --git a/debian/patches/104_uxa_fix_gtt_mapping_limits.patch 
b/debian/patches/104_uxa_fix_gtt_mapping_limits.patch
index 97ebcc0..ba701a2 100644
--- a/debian/patches/104_uxa_fix_gtt_mapping_limits.patch
+++ b/debian/patches/104_uxa_fix_gtt_mapping_limits.patch
@@ -30,14 +30,12 @@ diff -Nurp patched/src/intel_display.c 
build/src/intel_display.c
 diff -Nurp patched/src/intel_driver.c build/src/intel_driver.c
 --- patched/src/intel_driver.c 2012-02-15 17:31:03.643780719 -0800
 +++ build/src/intel_driver.c   2012-02-15 17:28:59.439522179 -0800
-@@ -1164,8 +1164,6 @@ static Bool I830EnterVT(int scrnIndex, i
+@@ -1164,6 +1164,4 @@ static Bool I830EnterVT(int scrnIndex, i
                           strerror(errno));
        }
  
 -      intel_set_gem_max_sizes(scrn);
 -
-       intel_copy_fb(scrn);
- 
        if (!xf86SetDesiredModes(scrn))
 diff -Nurp patched/src/intel.h build/src/intel.h
 --- patched/src/intel.h        2012-02-15 17:31:03.643780719 -0800


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1tkm8g-0002cs...@vasks.debian.org

Reply via email to