[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-ati: Changes to 'ubuntu'



 configure.ac                                               |   10 -
 debian/changelog                                           |   72 ++++++++-
 debian/compat                                              |    2 
 debian/control                                             |   14 -
 debian/patches/dri2-install-client-callback-only-once.diff |   76 ---------
 debian/patches/series                                      |    1 
 debian/patches/xmir.patch                                  |  103 +++++--------
 debian/rules                                               |   13 -
 man/radeon.man                                             |    9 -
 src/ati_pciids_gen.h                                       |   35 ++++
 src/drmmode_display.c                                      |    5 
 src/evergreen_exa.c                                        |   20 +-
 src/evergreen_textured_videofuncs.c                        |   15 +
 src/pcidb/ati_pciids.csv                                   |   35 ++++
 src/r600_exa.c                                             |    5 
 src/radeon.h                                               |    2 
 src/radeon_bo_helper.c                                     |    2 
 src/radeon_chipinfo_gen.h                                  |   35 ++++
 src/radeon_chipset_gen.h                                   |   35 ++++
 src/radeon_dri2.c                                          |   32 +---
 src/radeon_drm.h                                           |    2 
 src/radeon_exa_funcs.c                                     |    5 
 src/radeon_glamor.c                                        |   13 +
 src/radeon_glamor.h                                        |    4 
 src/radeon_kms.c                                           |   30 ++-
 src/radeon_pci_chipset_gen.h                               |   35 ++++
 src/radeon_pci_device_match_gen.h                          |   35 ++++
 src/radeon_probe.c                                         |   10 +
 src/radeon_probe.h                                         |    2 
 src/radeon_video.c                                         |    9 +
 30 files changed, 441 insertions(+), 225 deletions(-)

New commits:
commit 61f78b83f0a873fca7f408f6a64345fd3885d155
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Feb 18 14:31:10 2014 +0100

    add changelog entry

diff --git a/debian/changelog b/debian/changelog
index ca925c6..bb4d66e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-ati (1:7.3.0-1ubuntu1+build1) trusty; urgency=low
+
+  * Rebuild against xorg 1.15.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 12:53:56 +0100
+
 xserver-xorg-video-ati (1:7.3.0-1ubuntu1) trusty; urgency=low
 
   * Merge from released debian-unstable.

commit bf724c33eeede5c56b751d1c595385eacf1deabe
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jan 28 12:53:46 2014 +0100

    release to trusty

diff --git a/debian/changelog b/debian/changelog
index 47d1d69..ca925c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,11 @@
-xserver-xorg-video-ati (1:7.3.0-1ubuntu1) UNRELEASED; urgency=low
+xserver-xorg-video-ati (1:7.3.0-1ubuntu1) trusty; urgency=low
 
   * Merge from released debian-unstable.
   * Drop upstreamed patches.
   * Refresh xmir patch.
   * Depend on renamed xserver-xorg-video-glamoregl.
 
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 12:26:05 +0100
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 12:53:00 +0100
 
 xserver-xorg-video-ati (1:7.3.0-1) unstable; urgency=low
 

commit 3c0b41f9b26a2dd16f96f6f167b11096b30759ef
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jan 28 12:52:53 2014 +0100

    Refresh xmir patch and depend on renamed xserver-xorg-video-glamoregl.

diff --git a/debian/changelog b/debian/changelog
index 14f2e84..47d1d69 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
 xserver-xorg-video-ati (1:7.3.0-1ubuntu1) UNRELEASED; urgency=low
 
   * Merge from released debian-unstable.
+  * Drop upstreamed patches.
+  * Refresh xmir patch.
+  * Depend on renamed xserver-xorg-video-glamoregl.
 
  -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 12:26:05 +0100
 
diff --git a/debian/control b/debian/control
index 2938bb7..3116366 100644
--- a/debian/control
+++ b/debian/control
@@ -22,7 +22,7 @@ Build-Depends:
  x11proto-dri2-dev,
  x11proto-xf86dri-dev,
  libudev-dev [linux-any],
- libglamor-dev,
+ libglamor-dev (>= 0.6.0),
  xutils-dev (>= 1:7.5+4)
 Standards-Version: 3.9.3
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-ati
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index d91a1f7..299d202 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -8,7 +8,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 
 --- a/src/drmmode_display.c
 +++ b/src/drmmode_display.c
-@@ -1941,7 +1941,7 @@
+@@ -1944,7 +1944,7 @@
      if (!miCreateDefColormap(pScreen))
          return FALSE;
      /* all radeons support 10 bit CLUTs */
@@ -91,7 +91,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 +	if (*tiling_flags & RADEON_TILING_MACRO)
 +	    surface->flags |= RADEON_SURF_SET(RADEON_SURF_MODE_2D, MODE);
 +	else if (*tiling_flags & RADEON_TILING_MICRO)
-+	    surface->flags |= RADEON_SURF_SET(RADEON_SURF_MODE_1D, MODE);  
++	    surface->flags |= RADEON_SURF_SET(RADEON_SURF_MODE_1D, MODE);
 +	else
 +	    surface->flags |= RADEON_SURF_SET(RADEON_SURF_MODE_LINEAR, MODE);
 +
@@ -125,7 +125,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  #endif /* RADEON_BO_HELPER_H */
 --- a/src/radeon_dri2.c
 +++ b/src/radeon_dri2.c
-@@ -1535,6 +1535,18 @@
+@@ -1532,6 +1532,18 @@
  
  #endif /* USE_DRI2_SCHEDULING */
  
@@ -144,16 +144,16 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  
  Bool
  radeon_dri2_screen_init(ScreenPtr pScreen)
-@@ -1545,7 +1557,7 @@
+@@ -1541,7 +1553,7 @@
+     DRI2InfoRec dri2_info = { 0 };
  #ifdef USE_DRI2_SCHEDULING
-     RADEONEntPtr pRADEONEnt   = RADEONEntPriv(pScrn);
      const char *driverNames[2];
 -    Bool scheduling_works = TRUE;
 +    Bool scheduling_works = !xorgMir;
  #endif
  
      if (!info->dri2.available)
-@@ -1631,6 +1643,11 @@
+@@ -1627,6 +1639,11 @@
      }
  #endif
  
@@ -184,7 +184,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  #endif
 --- a/src/radeon_glamor.c
 +++ b/src/radeon_glamor.c
-@@ -277,14 +277,15 @@
+@@ -285,14 +285,15 @@
  	ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
  	struct radeon_surface surface;
  	struct radeon_pixmap *priv;
@@ -261,7 +261,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 +						   -1, -1, GXcopy, FB_ALLONES);
 +	if (!ret)
 +	    goto cleanup_dst;
-+	info->accel_state->exa->Copy (dst, 
++	info->accel_state->exa->Copy (dst,
 +				      damage_box->x1, damage_box->y1,
 +				      damage_box->x1 - output_box->x1,
 +				      damage_box->y1 - output_box->y1,
@@ -277,7 +277,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 +    } else if (0) {
 +	/* TODO: glamor accel */
 +    } else {
-+    /* Software copy; let's just give up */    
++    /* Software copy; let's just give up */
 +    }
 +}
 +
@@ -301,30 +301,30 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  }
  
  static void
-@@ -606,6 +675,22 @@
+@@ -607,6 +676,22 @@
  		      dev->domain, dev->bus, dev->dev, dev->func);
  #endif
  
 +    if (xorgMir) {
 +	info->dri2.drm_fd = xmir_get_drm_fd(busid);
-+        
-+        if (info->dri2.drm_fd < 0) {
-+            xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-+                       "[drm] Failed to retrieve DRM device %s from Mir\n",
-+                       busid);
-+            free(busid);
-+            return FALSE;
-+        }
-+        free(busid);
++
++	if (info->dri2.drm_fd < 0) {
++	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++		       "[drm] Failed to retrieve DRM device %s from Mir\n",
++		       busid);
++	    free(busid);
++	    return FALSE;
++	}
++	free(busid);
 +	/* TODO: Work out what to do about the crazy multihead involved in
 +	   pRADEONEnt->fd */
 +	goto out;
 +    }
 +
-     info->dri2.drm_fd = drmOpen("radeon", busid);
+     info->dri2.drm_fd = drmOpen(NULL, busid);
      if (info->dri2.drm_fd == -1) {
  
-@@ -835,6 +920,14 @@
+@@ -836,6 +921,14 @@
      if (!RADEONPreInitChipType_KMS(pScrn))
          goto fail;
  
@@ -339,7 +339,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
      if (radeon_open_drm_master(pScrn) == FALSE) {
  	xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n");
  	goto fail;
-@@ -909,10 +1002,14 @@
+@@ -910,10 +1003,14 @@
      }
  
      info->swapBuffersWait = xf86ReturnOptValBool(info->Options,
@@ -351,11 +351,11 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 +
 +#ifdef XMIR
 +    if(!info->xmir) {
-+#endif    	
++#endif
      if (drmmode_pre_init(pScrn, &info->drmmode, pScrn->bitsPerPixel / 8) == FALSE) {
  	xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Kernel modesetting setup failed\n");
  	goto fail;
-@@ -922,7 +1019,10 @@
+@@ -923,7 +1020,10 @@
          pRADEONEnt->HasCRTC2 = FALSE;
      else
          pRADEONEnt->HasCRTC2 = TRUE;
@@ -367,7 +367,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  
      /* fix up cloning on rn50 cards
       * since they only have one crtc sometimes the xserver doesn't assign
-@@ -1122,6 +1222,11 @@
+@@ -1123,6 +1223,11 @@
      if (info->accel_state->use_vbos)
          radeon_vbo_free_lists(pScrn);
  
@@ -379,7 +379,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
      drmDropMaster(info->dri2.drm_fd);
  
      drmmode_fini(pScrn, &info->drmmode);
-@@ -1150,6 +1255,21 @@
+@@ -1151,6 +1256,21 @@
      RADEONFreeRec(pScrn);
  }
  
@@ -390,7 +390,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 +    RADEONInfoPtr info  = RADEONPTR(pScrn);
 +
 +    if (info->accel_state->exa)
-+    	exaMoveInPixmap(pixmap);
++	exaMoveInPixmap(pixmap);
 +
 +    info->front_bo = radeon_get_pixmap_bo(pixmap);
 +    memmove(&info->front_surface, radeon_get_pixmap_surface(pixmap), sizeof info->front_surface);
@@ -401,7 +401,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  Bool RADEONScreenInit_KMS(SCREEN_INIT_ARGS_DECL)
  {
      ScrnInfoPtr    pScrn = xf86ScreenToScrn(pScreen);
-@@ -1157,7 +1277,7 @@
+@@ -1158,7 +1278,7 @@
      int            subPixelOrder = SubPixelUnknown;
      char*          s;
      void *front_ptr;
@@ -410,7 +410,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  
      pScrn->fbOffset = 0;
  
-@@ -1168,7 +1288,8 @@
+@@ -1169,7 +1289,8 @@
  			  pScrn->defaultVisual)) return FALSE;
      miSetPixmapDepths ();
  
@@ -420,7 +420,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
      if (ret) {
          ErrorF("Unable to retrieve master\n");
          return FALSE;
-@@ -1185,7 +1306,8 @@
+@@ -1186,7 +1307,8 @@
  		   "failed to initialise GEM buffer manager");
  	return FALSE;
      }
@@ -430,7 +430,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  
      if (!info->csm)
          info->csm = radeon_cs_manager_gem_ctor(info->dri2.drm_fd);
-@@ -1309,7 +1431,10 @@
+@@ -1310,7 +1432,10 @@
      /* Cursor setup */
      miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
  
@@ -442,7 +442,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  	if (RADEONCursorInit_KMS(pScreen)) {
  	}
      }
-@@ -1351,6 +1476,8 @@
+@@ -1352,6 +1477,8 @@
      info->CreateScreenResources = pScreen->CreateScreenResources;
      pScreen->CreateScreenResources = RADEONCreateScreenResources_KMS;
  
@@ -451,7 +451,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  #ifdef RADEON_PIXMAP_SHARING
      pScreen->StartPixmapTracking = PixmapStartDirtyTracking;
      pScreen->StopPixmapTracking = PixmapStopDirtyTracking;
-@@ -1385,13 +1512,13 @@
+@@ -1386,13 +1513,13 @@
  {
      SCRN_INFO_PTR(arg);
      RADEONInfoPtr  info  = RADEONPTR(pScrn);
@@ -468,7 +468,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
      if (ret)
  	ErrorF("Unable to retrieve master\n");
      info->accel_state->XInited3D = FALSE;
-@@ -1399,7 +1526,9 @@
+@@ -1400,7 +1527,9 @@
  
      pScrn->vtSema = TRUE;
  
@@ -479,7 +479,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  	return FALSE;
  
      return TRUE;
-@@ -1414,7 +1543,8 @@
+@@ -1415,7 +1544,8 @@
      xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
  		   "RADEONLeaveVT_KMS\n");
  
@@ -489,7 +489,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  
      xf86RotateFreeShadow(pScrn);
  
-@@ -1540,6 +1670,7 @@
+@@ -1541,6 +1671,7 @@
  		}
  		info->front_surface = surface;
  	}
@@ -507,7 +507,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  #include "radeon_probe.h"
  #include "radeon_version.h"
  #include "atipciids.h"
-@@ -54,6 +55,11 @@
+@@ -58,6 +59,11 @@
  #include <xf86platformBus.h>
  #endif
  
@@ -519,7 +519,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  #include "radeon_chipset_gen.h"
  
  #include "radeon_pci_chipset_gen.h"
-@@ -105,6 +111,33 @@
+@@ -115,6 +121,33 @@
  }
  
  static Bool
@@ -553,7 +553,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  radeon_get_scrninfo(int entity_num, void *pci_dev)
  {
      ScrnInfoPtr   pScrn = NULL;
-@@ -118,7 +151,13 @@
+@@ -128,7 +161,13 @@
          return FALSE;
  
      if (pci_dev) {
@@ -567,7 +567,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  	return FALSE;
        }
      }
-@@ -191,6 +230,12 @@
+@@ -201,6 +240,12 @@
  	case GET_REQUIRED_HW_INTERFACES:
  	    flag = (CARD32 *)data;
  	    (*flag) = 0;
@@ -580,7 +580,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  	    return TRUE;
  	default:
  	    return FALSE;
-@@ -211,14 +256,20 @@
+@@ -221,14 +266,20 @@
      if (!dev->pdev)
  	return FALSE;
  
@@ -589,7 +589,7 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
 +    if (flags & PLATFORM_PROBE_GPU_SCREEN) {
 +        scr_flags = XF86_ALLOCATE_GPU_SCREEN;
 +    }
-+    
++
 +
  
      pScrn = xf86AllocateScreen(pDriver, scr_flags);
@@ -605,12 +605,6 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  
 --- a/src/radeon_video.c
 +++ b/src/radeon_video.c
-@@ -1,4 +1,4 @@
--
-+	
- #ifdef HAVE_CONFIG_H
- #include "config.h"
- #endif
 @@ -70,7 +70,10 @@
  Bool radeon_crtc_is_enabled(xf86CrtcPtr crtc)
  {
@@ -628,19 +622,8 @@ Date:   Mon Jul 22 17:02:17 2013 +1000
  	return NULL;
  
 +    if (xorgMir)
-+    	return NULL;
++	return NULL;
 +
      box.x1 = x1;
      box.x2 = x2;
      box.y1 = y1;
---- a/src/evergreen_exa.c
-+++ b/src/evergreen_exa.c
-@@ -378,7 +378,7 @@
-     if (accel_state->planemask & 0xff000000)
- 	cb_conf.pmask |= 8; /* A */
-     cb_conf.rop = accel_state->rop;
--    if (accel_state->dst_obj.tiling_flags == 0) {
-+    if ((accel_state->dst_obj.tiling_flags & 0xff) == 0) {
- 	cb_conf.array_mode = 0;
- 	cb_conf.non_disp_tiling = 1;
-     }

commit 6f21c007f9bc857654492eaf0af7dc5c5ffa3fd4
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jan 28 12:27:17 2014 +0100

    Merge from released debian-unstable.

diff --git a/debian/changelog b/debian/changelog
index 41cd8bc..14f2e84 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-ati (1:7.3.0-1ubuntu1) UNRELEASED; urgency=low
+
+  * Merge from released debian-unstable.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 12:26:05 +0100
+
 xserver-xorg-video-ati (1:7.3.0-1) unstable; urgency=low
 
   * New upstream release.
diff --git a/debian/patches/dri2-install-client-callback-only-once.diff b/debian/patches/dri2-install-client-callback-only-once.diff
deleted file mode 100644
index b4330d2..0000000
--- a/debian/patches/dri2-install-client-callback-only-once.diff
+++ /dev/null
@@ -1,76 +0,0 @@
-commit c45e728107269c6f51599dad4f6a02ccfef703f1
-Author: Michel Dänzer <michel.daenzer@amd.com>
-Date:   Wed Sep 18 10:57:52 2013 +0200
-
-    DRI2: Install client callback only once
-    
-    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60182
-    Acked-by: Alex Deucher <alexander.deucher@amd.com>
-
-diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
-index fa3719d..a211960 100644
---- a/src/radeon_dri2.c
-+++ b/src/radeon_dri2.c
-@@ -520,6 +520,8 @@ typedef struct _DRI2ClientEvents {
- 
- #if HAS_DEVPRIVATEKEYREC
- 
-+static int DRI2InfoCnt;
-+
- static DevPrivateKeyRec DRI2ClientEventsPrivateKeyRec;
- #define DRI2ClientEventsPrivateKey (&DRI2ClientEventsPrivateKeyRec)
- 
-@@ -1543,7 +1545,6 @@ radeon_dri2_screen_init(ScreenPtr pScreen)
-     RADEONInfoPtr info = RADEONPTR(pScrn);
-     DRI2InfoRec dri2_info = { 0 };
- #ifdef USE_DRI2_SCHEDULING
--    RADEONEntPtr pRADEONEnt   = RADEONEntPriv(pScrn);
-     const char *driverNames[2];
-     Bool scheduling_works = TRUE;
- #endif
-@@ -1607,7 +1608,7 @@ radeon_dri2_screen_init(ScreenPtr pScreen)
-         dri2_info.driverNames = driverNames;
-         driverNames[0] = driverNames[1] = dri2_info.driverName;
- 
--	if (pRADEONEnt->dri2_info_cnt == 0) {
-+	if (DRI2InfoCnt == 0) {
- #if HAS_DIXREGISTERPRIVATEKEY
- 	    if (!dixRegisterPrivateKey(DRI2ClientEventsPrivateKey,
- 				       PRIVATE_CLIENT, sizeof(DRI2ClientEventsRec))) {
-@@ -1627,7 +1628,7 @@ radeon_dri2_screen_init(ScreenPtr pScreen)
- 	    AddCallback(&ClientStateCallback, radeon_dri2_client_state_changed, 0);
- 	}
- 
--	pRADEONEnt->dri2_info_cnt++;
-+	DRI2InfoCnt++;
-     }
- #endif
- 
-@@ -1646,12 +1647,12 @@ void radeon_dri2_close_screen(ScreenPtr pScreen)
- {
-     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-     RADEONInfoPtr info = RADEONPTR(pScrn);
--#ifdef USE_DRI2_SCHEDULING
--    RADEONEntPtr pRADEONEnt   = RADEONEntPriv(pScrn);
- 
--    if (--pRADEONEnt->dri2_info_cnt == 0)
-+#ifdef USE_DRI2_SCHEDULING
-+    if (--DRI2InfoCnt == 0)
-     	DeleteCallback(&ClientStateCallback, radeon_dri2_client_state_changed, 0);
- #endif
-+
-     DRI2CloseScreen(pScreen);
-     drmFree(info->dri2.device_name);
- }
-diff --git a/src/radeon_probe.h b/src/radeon_probe.h
-index 67e70ef..de0135d 100644
---- a/src/radeon_probe.h
-+++ b/src/radeon_probe.h
-@@ -135,7 +135,6 @@ typedef struct
-     int fd_ref;
-     unsigned long     fd_wakeup_registered; /* server generation for which fd has been registered for wakeup handling */
-     int fd_wakeup_ref;
--    int dri2_info_cnt;
- } RADEONEntRec, *RADEONEntPtr;
- 
- extern const OptionInfoRec *RADEONOptionsWeak(void);
diff --git a/debian/patches/series b/debian/patches/series
index 5b08976..51683fa 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 xmir.patch
-dri2-install-client-callback-only-once.diff

commit 668229e662374df1a03397a653327ce595ecc5f6
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jan 28 12:20:32 2014 +0100

    release to unstable

diff --git a/debian/changelog b/debian/changelog
index bd9517e..1fbe49d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-xserver-xorg-video-ati (1:7.3.0-1) UNRELEASED; urgency=low
+xserver-xorg-video-ati (1:7.3.0-1) unstable; urgency=low
 
   * New upstream release.
   * Explicitly disable glamor for now to prevent a FTBFS.
 
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 11:49:28 +0100
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 11:56:30 +0100
 
 xserver-xorg-video-ati (1:7.2.0-1) unstable; urgency=low
 

commit 3d0f6fffe56f5016addfc44f894121ea85c7713c
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Tue Jan 28 11:56:27 2014 +0100

    New upstream release.
    
    Explicitly disable glamor for now to prevent a FTBFS.

diff --git a/debian/changelog b/debian/changelog
index e5425b0..bd9517e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-ati (1:7.3.0-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+  * Explicitly disable glamor for now to prevent a FTBFS.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com>  Tue, 28 Jan 2014 11:49:28 +0100
+
 xserver-xorg-video-ati (1:7.2.0-1) unstable; urgency=low
 
   [ Maarten Lankhorst ]
diff --git a/debian/rules b/debian/rules
index 6d9d6a8..d76a0b9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
 XXV=xserver-xorg-video
 
 override_dh_auto_configure:
-	dh_auto_configure --builddirectory=build/ -- --libdir=/usr/lib
+	dh_auto_configure --builddirectory=build/ -- --libdir=/usr/lib --disable-glamor
 
 # Kill *.la files, and forget no-one:
 override_dh_install:

commit 0333f5bda27dc0ec2edc180c7a4dc9a432f13f97
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Fri Jan 24 10:19:49 2014 -0500

    radeon: bump version for release
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

diff --git a/configure.ac b/configure.ac
index 729a6fa..9c444f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-ati],
-        [7.2.99],
+        [7.3.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-ati])
 

commit fc4167f2a85d9cba65078d8fc6f08c7a619ad66e
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Fri Jan 24 10:17:08 2014 -0500

    Require glamor 0.6.0
    
    This is required for Xv support and a number of important
    performance improvements.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

diff --git a/configure.ac b/configure.ac
index 835b7b9..729a6fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,7 +107,7 @@ AC_ARG_ENABLE(glamor,
 AC_MSG_RESULT([$GLAMOR])
 AM_CONDITIONAL(GLAMOR, test x$GLAMOR != xno)
 if test "x$GLAMOR" != "xno"; then
-	PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.5.0])
+	PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.6.0])
 	PKG_CHECK_MODULES(LIBGLAMOR_EGL, [glamor-egl])
 	AC_DEFINE(USE_GLAMOR, 1, [Enable glamor acceleration])
 fi

commit f2a0a5cf6c5a21e2a02280e110a4eb8e6609dace
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Jan 22 11:04:42 2014 +0900

    Don't require the glamoregl module to be pre-loaded with xserver >= 1.15
    
    The issues with loading it on demand have been fixed in xserver 1.15.
    
    Inspired by Jérôme Glisse on IRC.

diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index bd731a8..1d666d1 100644
--- a/src/radeon_glamor.c
+++ b/src/radeon_glamor.c
@@ -105,12 +105,14 @@ radeon_glamor_pre_init(ScrnInfoPtr scrn)
 		return FALSE;
 	}
 
+#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,15,0,0,0)
 	if (!xf86LoaderCheckSymbol("glamor_egl_init")) {
 		xf86DrvMsg(scrn->scrnIndex, s ? X_ERROR : X_WARNING,
 			   "glamor requires Load \"glamoregl\" in "
 			   "Section \"Module\", disabling.\n");
 		return FALSE;
 	}
+#endif
 
 	/* Load glamor module */
 	if ((glamor_module = xf86LoadSubModule(scrn, GLAMOR_EGL_MODULE_NAME))) {

commit 3213df16d61302148be0088c8f93c6a5a88558f1
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Jan 8 11:30:59 2014 +0900

    dri2: Make last_vblank_seq local unsigned to match dpms_last_seq
    
    Without this, I was occasionally running into gnome-shell hangs due to
    wildly off vblank sequence values. Doesn't seem to happen anymore with
    this change.
    
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 79d8f39..d47b035 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -890,7 +890,7 @@ CARD32 radeon_dri2_extrapolate_msc_delay(xf86CrtcPtr crtc, CARD64 *target_msc,
     RADEONInfoPtr info = RADEONPTR(pScrn);
     int nominal_frame_rate = drmmode_crtc->dpms_last_fps;
     CARD64 last_vblank_ust = drmmode_crtc->dpms_last_ust;
-    int last_vblank_seq = drmmode_crtc->dpms_last_seq;
+    uint32_t last_vblank_seq = drmmode_crtc->dpms_last_seq;
     int interpolated_vblanks = drmmode_crtc->interpolated_vblanks;
     int target_seq;
     CARD64 now, target_time, delta_t;

commit bcc454ea2fb239e13942270faec7801270615b9c
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Jan 6 09:52:50 2014 -0500

    radeon/exa: Always use a scratch surface for UTS to vram
    
    If we don't, we may hit a buffer that crosses the
    visible vram boundary resulting in a sigbus when the
    CPU accesses the buffer beyond the PCI aperture.
    This will introduce an extra copy in certain cases.
    
    This is based on Michel's patch from bug 44099 updated
    for all asic families.
    
    Bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=44099
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>

diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c
index abb5076..d788bfc 100644
--- a/src/evergreen_exa.c
+++ b/src/evergreen_exa.c
@@ -1658,13 +1658,14 @@ EVERGREENUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h,
     if (!driver_priv || !driver_priv->bo)
 	return FALSE;
 
-    /* If we know the BO won't be busy, don't bother with a scratch */
+    /* If we know the BO won't be busy / in VRAM, don't bother with a scratch */
     copy_dst = driver_priv->bo;
     copy_pitch = pDst->devKind;
     if (!(driver_priv->tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
 	if (!radeon_bo_is_referenced_by_cs(driver_priv->bo, info->cs)) {
 	    flush = FALSE;
-	    if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain))
+	    if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain) &&
+		!(dst_domain & RADEON_GEM_DOMAIN_VRAM))
 		goto copy;
 	}
     }
diff --git a/src/r600_exa.c b/src/r600_exa.c
index a354ccd..8d11ce7 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -1538,13 +1538,14 @@ R600UploadToScreenCS(PixmapPtr pDst, int x, int y, int w, int h,
     if (!driver_priv || !driver_priv->bo)
 	return FALSE;
 
-    /* If we know the BO won't be busy, don't bother with a scratch */
+    /* If we know the BO won't be busy / in VRAM, don't bother with a scratch */
     copy_dst = driver_priv->bo;
     copy_pitch = pDst->devKind;
     if (!(driver_priv->tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
 	if (!radeon_bo_is_referenced_by_cs(driver_priv->bo, info->cs)) {
 	    flush = FALSE;
-	    if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain))
+	    if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain) &&
+		!(dst_domain & RADEON_GEM_DOMAIN_VRAM))
 		goto copy;
 	}
 	/* use cpu copy for fast fb access */
diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
index d9340c5..d901305 100644
--- a/src/radeon_exa_funcs.c
+++ b/src/radeon_exa_funcs.c
@@ -403,13 +403,14 @@ RADEONUploadToScreenCS(PixmapPtr pDst, int x, int y, int w, int h,
     }
 #endif
 
-    /* If we know the BO won't be busy, don't bother with a scratch */
+    /* If we know the BO won't be busy / in VRAM, don't bother with a scratch */
     copy_dst = driver_priv->bo;
     copy_pitch = pDst->devKind;
     if (!(driver_priv->tiling_flags & (RADEON_TILING_MACRO | RADEON_TILING_MICRO))) {
 	if (!radeon_bo_is_referenced_by_cs(driver_priv->bo, info->cs)) {
 	    flush = FALSE;
-	    if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain))
+	    if (!radeon_bo_is_busy(driver_priv->bo, &dst_domain) &&
+		!(dst_domain & RADEON_GEM_DOMAIN_VRAM))
 		goto copy;
 	}
 	/* use cpu copy for fast fb access */

commit 04ef035c9315b4a6fbf1b14720be87cee4099a9f
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Dec 24 15:14:35 2013 -0500

    drm/radeon: fix SUMO2 pci id
    
    0x9649 is sumo2, not sumo.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index b34dfe6..eb57992 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -460,7 +460,7 @@
 #define PCI_CHIP_SUMO2_9645 0x9645
 #define PCI_CHIP_SUMO_9647 0x9647
 #define PCI_CHIP_SUMO_9648 0x9648
-#define PCI_CHIP_SUMO_9649 0x9649
+#define PCI_CHIP_SUMO2_9649 0x9649
 #define PCI_CHIP_SUMO_964A 0x964A
 #define PCI_CHIP_SUMO_964B 0x964B
 #define PCI_CHIP_SUMO_964C 0x964C
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 7f52d67..8469a2a 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -461,7 +461,7 @@
 "0x9645","SUMO2_9645","SUMO2",1,1,,,1,"SUMO2"
 "0x9647","SUMO_9647","SUMO",1,1,,,1,"SUMO"
 "0x9648","SUMO_9648","SUMO",1,1,,,1,"SUMO"
-"0x9649","SUMO_9649","SUMO",1,1,,,1,"SUMO"
+"0x9649","SUMO2_9649","SUMO2",1,1,,,1,"SUMO2"
 "0x964A","SUMO_964A","SUMO",,1,,,1,"SUMO"
 "0x964B","SUMO_964B","SUMO",,1,,,1,"SUMO"
 "0x964C","SUMO_964C","SUMO",,1,,,1,"SUMO"
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index be038b6..fc9474b 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -380,7 +380,7 @@ static RADEONCardInfo RADEONCards[] = {
  { 0x9645, CHIP_FAMILY_SUMO2, 1, 1, 0, 0, 1 },
  { 0x9647, CHIP_FAMILY_SUMO, 1, 1, 0, 0, 1 },
  { 0x9648, CHIP_FAMILY_SUMO, 1, 1, 0, 0, 1 },
- { 0x9649, CHIP_FAMILY_SUMO, 1, 1, 0, 0, 1 },
+ { 0x9649, CHIP_FAMILY_SUMO2, 1, 1, 0, 0, 1 },
  { 0x964A, CHIP_FAMILY_SUMO, 0, 1, 0, 0, 1 },
  { 0x964B, CHIP_FAMILY_SUMO, 0, 1, 0, 0, 1 },
  { 0x964C, CHIP_FAMILY_SUMO, 0, 1, 0, 0, 1 },
diff --git a/src/radeon_chipset_gen.h b/src/radeon_chipset_gen.h
index 0cd484e..afab6b0 100644
--- a/src/radeon_chipset_gen.h
+++ b/src/radeon_chipset_gen.h
@@ -380,7 +380,7 @@ SymTabRec RADEONChipsets[] = {
   { PCI_CHIP_SUMO2_9645, "SUMO2" },
   { PCI_CHIP_SUMO_9647, "SUMO" },
   { PCI_CHIP_SUMO_9648, "SUMO" },
-  { PCI_CHIP_SUMO_9649, "SUMO" },
+  { PCI_CHIP_SUMO2_9649, "SUMO2" },
   { PCI_CHIP_SUMO_964A, "SUMO" },
   { PCI_CHIP_SUMO_964B, "SUMO" },
   { PCI_CHIP_SUMO_964C, "SUMO" },
diff --git a/src/radeon_pci_chipset_gen.h b/src/radeon_pci_chipset_gen.h
index 23dcca6..da4440b 100644
--- a/src/radeon_pci_chipset_gen.h
+++ b/src/radeon_pci_chipset_gen.h
@@ -380,7 +380,7 @@ static PciChipsets RADEONPciChipsets[] = {
  { PCI_CHIP_SUMO2_9645, PCI_CHIP_SUMO2_9645, RES_SHARED_VGA },
  { PCI_CHIP_SUMO_9647, PCI_CHIP_SUMO_9647, RES_SHARED_VGA },
  { PCI_CHIP_SUMO_9648, PCI_CHIP_SUMO_9648, RES_SHARED_VGA },
- { PCI_CHIP_SUMO_9649, PCI_CHIP_SUMO_9649, RES_SHARED_VGA },
+ { PCI_CHIP_SUMO2_9649, PCI_CHIP_SUMO2_9649, RES_SHARED_VGA },
  { PCI_CHIP_SUMO_964A, PCI_CHIP_SUMO_964A, RES_SHARED_VGA },
  { PCI_CHIP_SUMO_964B, PCI_CHIP_SUMO_964B, RES_SHARED_VGA },
  { PCI_CHIP_SUMO_964C, PCI_CHIP_SUMO_964C, RES_SHARED_VGA },
diff --git a/src/radeon_pci_device_match_gen.h b/src/radeon_pci_device_match_gen.h
index b3e58a9..d4b3763 100644
--- a/src/radeon_pci_device_match_gen.h
+++ b/src/radeon_pci_device_match_gen.h
@@ -380,7 +380,7 @@ static const struct pci_id_match radeon_device_match[] = {
  ATI_DEVICE_MATCH( PCI_CHIP_SUMO2_9645, 0 ),
  ATI_DEVICE_MATCH( PCI_CHIP_SUMO_9647, 0 ),
  ATI_DEVICE_MATCH( PCI_CHIP_SUMO_9648, 0 ),
- ATI_DEVICE_MATCH( PCI_CHIP_SUMO_9649, 0 ),
+ ATI_DEVICE_MATCH( PCI_CHIP_SUMO2_9649, 0 ),
  ATI_DEVICE_MATCH( PCI_CHIP_SUMO_964A, 0 ),
  ATI_DEVICE_MATCH( PCI_CHIP_SUMO_964B, 0 ),
  ATI_DEVICE_MATCH( PCI_CHIP_SUMO_964C, 0 ),

commit bfbff3b246db509c820df17b8fcf5899882ffcfa
Author: Robert Millan <rmh@freebsd.org>
Date:   Fri Dec 20 11:03:14 2013 +0000

    radeon: Restore kernel module load on FreeBSD.
    
    Since the introduction of a call to drmCheckModesettingSupported()
    in radeon_kernel_mode_enabled(), with abort condition if such call
    fails, the drmOpen() call in radeon_open_drm_master() no longer
    takes the responsibility of loading the radeon kernel module.
    
    However at least on FreeBSD (and GNU/kFreeBSD), X is still relied
    on to load the modules it needs. This commit restores the old
    behaviour of loading kernel modules on these systems.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72852
    Signed-off-by: Robert Millan <rmh@freebsd.org>

diff --git a/src/radeon_probe.c b/src/radeon_probe.c
index baca574..2d3c58e 100644
--- a/src/radeon_probe.c
+++ b/src/radeon_probe.c
@@ -50,6 +50,10 @@
 #include "xf86drmMode.h"
 #include "dri.h"
 
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#include <xf86_OSproc.h>
+#endif
+
 #ifdef XSERVER_PLATFORM_BUS
 #include <xf86platformBus.h>
 #endif
@@ -92,6 +96,12 @@ static Bool radeon_kernel_mode_enabled(ScrnInfoPtr pScrn, struct pci_device *pci
 
     busIdString = DRICreatePCIBusID(pci_dev);
     ret = drmCheckModesettingSupported(busIdString);
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+    if (ret) {
+      if (xf86LoadKernelModule("radeonkms"))
+        ret = drmCheckModesettingSupported(busIdString);
+    }
+#endif
     free(busIdString);
     if (ret) {
       xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 0,

commit 796c9a0cb587f528326bede11fa3f3eb7d3edaf1
Author: Robert Millan <rmh@freebsd.org>
Date:   Fri Dec 20 10:55:09 2013 +0000

    radeon: Set first parameter of drmOpen() to NULL
    
    Since the introduction of a call to drmCheckModesettingSupported()
    in radeon_kernel_mode_enabled(), with abort condition if such call
    fails, the first argument to drmOpen() call in radeon_open_drm_master()
    has become a no-op red herring.
    
    Such argument (a kernel module name) is supposed to result in load
    of specified kernel module. However, this will never happen. The
    problem is that if the code containing drmOpen() call is reached, it
    means that drmCheckModesettingSupported() check has previously
    succeeded, which implies the module is already loaded.
    
    So, drmOpen() will never load a kernel module. But it gives the
    impression that it will.
    
    In order to avoid this confusion, this commit replaces it with NULL,
    like xf86-video-intel driver does.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72849
    Signed-off-by: Robert Millan <rmh@freebsd.org>

diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index 44a0139..21a420f 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -607,7 +607,7 @@ static Bool radeon_open_drm_master(ScrnInfoPtr pScrn)
 		      dev->domain, dev->bus, dev->dev, dev->func);
 #endif
 
-    info->dri2.drm_fd = drmOpen("radeon", busid);
+    info->dri2.drm_fd = drmOpen(NULL, busid);
     if (info->dri2.drm_fd == -1) {
 
 	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,

commit d571d6af70ef27efd1ed6420eb892bdde963ed7a
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Sep 24 11:39:10 2013 -0400

    radeon/kms: add Hawaii pci ids
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

diff --git a/src/ati_pciids_gen.h b/src/ati_pciids_gen.h
index 17222c1..b34dfe6 100644
--- a/src/ati_pciids_gen.h
+++ b/src/ati_pciids_gen.h
@@ -743,3 +743,15 @@
 #define PCI_CHIP_KAVERI_131B 0x131B


Reply to: