rpms/xorg-x11-drv-ati/devel radeon-modeset.patch, 1.33, 1.34 xorg-x11-drv-ati.spec, 1.151, 1.152

Dave Airlie airlied at fedoraproject.org
Tue Mar 3 09:20:17 UTC 2009


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20185

Modified Files:
	radeon-modeset.patch xorg-x11-drv-ati.spec 
Log Message:
* Tue Mar 03 2009 Dave Airlie <airlied at redhat.com> 6.11.0-3
- initial support for dynamic fb resize


radeon-modeset.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.33 -r 1.34 radeon-modeset.patch
Index: radeon-modeset.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/radeon-modeset.patch,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- radeon-modeset.patch	2 Mar 2009 23:42:19 -0000	1.33
+++ radeon-modeset.patch	3 Mar 2009 09:20:16 -0000	1.34
@@ -1,3 +1,895 @@
+commit 00c0032dac820986b84effdb37c5cc1884eabcaf
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Mar 3 15:30:21 2009 +1000
+
+    radeon: initial framebuffer resize support
+    
+    This relies on the kernel pinning everything which the latest
+    rawhide kernel should do fine
+
+commit 354303071be3e40e5cffb97e61d1ec6475ea4685
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Mar 3 09:20:30 2009 +1000
+
+    radeon: do get sarea until we know we aren't DRI2
+
+commit 908f5308463b69b89d8b7ff34b2f534fddf0fd77
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Mar 3 09:12:30 2009 +1000
+
+    radeon: no need to do any of this for DRI2
+
+commit 0b144608c88ce2dfc265873cd55608f5fbd179bd
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Feb 27 12:00:29 2009 +1000
+
+    fixup issues post rebase
+
+commit d6801eeb38720a7aec7c6392136382a006561a15
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Feb 26 10:47:42 2009 +1000
+
+    radeon: don't init 3d engine in Xv path for drm mm
+
+commit f49b3d2a3b523cfc0ea3ec10ee1bdfdea0da9423
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Feb 17 19:14:27 2009 +1000
+
+    radeon: fix vt switch for legacy paths
+
+commit cd0fd2b14d6b732e2852bf93cd4bd4cce79936bf
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Feb 17 19:13:05 2009 +1000
+
+    radeon: only init gart heap for non-kms
+
+commit 6d5fc6d6ca642ceda1351b941955614a792fc5ec
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sun Jan 11 09:29:44 2009 +1000
+
+    radeon: drop CS1
+
+commit c1a806452b802f5284a113908109cf810d3b33be
+Author: Jerome Glisse <glisse at freedesktop.org>
+Date:   Wed Nov 12 14:36:52 2008 +0100
+
+    radeon: enable dri2 only if memory manager is present
+    (cherry picked from commit fd4bb9b7b639befd63e7acd37254011b9e46732d)
+
+commit 48c2d0902416bfed8a5d768ea1e923b5d34c6320
+Author: Jerome Glisse <glisse at freedesktop.org>
+Date:   Mon Nov 10 22:16:57 2008 +0100
+
+    radeon: flush command stream in block handler and in dri2 copy callback
+    (cherry picked from commit 13fa5ab73a707af52e71af400ea186073022f8b7)
+
+commit 2ea27ca1bf6fa9e96703932981e57b11e653d6a3
+Author: Jerome Glisse <glisse at freedesktop.org>
+Date:   Fri Nov 14 12:44:29 2008 +0100
+
+    radeon: bufmgr exa doesn't exist
+    (cherry picked from commit 8a00de47a186db1707b82a5977da8cbf2e8e0c80)
+
+commit 68b3becc0620c4357872ca034fc6ae5b41432591
+Author: Jerome Glisse <glisse at freedesktop.org>
+Date:   Thu Nov 6 00:25:18 2008 +0100
+
+    radeon: initial dri2 support
+
+commit 1190226af0c2685557fe90cb0a5fd3446f31c672
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Dec 1 19:15:41 2008 +1000
+
+    radeno: fixup unpinned buffers
+    (cherry picked from commit d9759ca976cad48e6c8fd3c7d17ce38588522c34)
+
+commit eb09bc9aaee774acff6d07cae0018d020ad3ec44
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Dec 22 16:16:16 2008 +1000
+
+    radeon: fix for 1.6 server
+
+commit 068107ac540d8e7bd1781799fb2b3268f3d9fe34
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Dec 19 12:37:01 2008 +1100
+
+    radeon: only do mappings if direct rendering is enabled
+
+commit fa8b8dc164393bc43c6f6273aeed50924bc1d6c1
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Dec 9 13:29:18 2008 +1000
+
+    radeon: upstream fix for Init3D vs switch to/from 2d/3d
+
+commit 77034ccc327b54f2f6c643e3baa9f42477fa221c
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Dec 8 14:19:47 2008 +1000
+
+    radeon: only update dri buffers if DRI enabled
+
+commit 400bc21d00dfe433c3341f8c3be87f15c1b52fae
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Dec 1 15:31:08 2008 +1100
+
+    radeon: don't have 2D and 3D in one CS buffer
+
+commit c25a72d143129b4cd4c8a6c16c27d13b9b173e74
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Nov 26 16:09:29 2008 +1100
+
+    radeon: set touched flag on pinned buffers
+
+commit 1d2a6732029a80e8c47fc1420186941eb8f210dc
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Nov 26 16:04:35 2008 +1100
+
+    radeon: fix up some of the touched by gpu handling and force gtt handling
+    
+    this fixes DFS on the rs690
+
+commit 434c9f580cb7350510997070b191f3202e88d24b
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Nov 26 12:52:24 2008 +1100
+
+    radeon: brutal attempt to fix RS4xx and RS6xx by flushing more often
+    
+    this might take more CPU but hopefully leads to stabler GPU
+
+commit e6b95cd6c312e3ea785956f1d26f65724f66af46
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sun Nov 23 17:56:02 2008 +1000
+
+    radeon: wait for rendering before doing UTS
+
+commit a80b03a333c17334400abe0ad65c8eacf203e4e7
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sun Nov 23 17:54:27 2008 +1000
+
+    radeon: stop this_op_read from going negative
+
+commit d802c2d18b877b4f45057d550bf8e72136ca6143
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sun Nov 23 17:52:42 2008 +1000
+
+    radeon: return flush for conflicting domains
+
+commit c96555c16890ccdb148fb3b84c7544786418a599
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sun Nov 23 17:50:47 2008 +1000
+
+    radeon: only reset state2d before emitting cache flush
+
+commit 1c00a7c0b71cbf0161c21f3eab01670717b6fd81
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Nov 20 16:48:33 2008 +1000
+
+    flush on UTS if any references
+
+commit 77cb0c5b5a1c0c4bcffbcfc0a0c55facdc0aa451
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Nov 20 16:44:40 2008 +1000
+
+    radeon: add gart vs vram writes
+
+commit cdc160b2aa809f7c6cb6dd47083ea4ca0857eeac
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Nov 20 16:37:07 2008 +1000
+
+    radeon: improve DFS performance for non-vram objects
+
+commit 2ff1aa8bdd2f54b46291ce8b3b9683e01f959c7d
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Nov 19 14:49:44 2008 +1000
+
+    radeon: scrap state on LeaveVT not EnterVT
+
+commit a6023c6f60cb49db2479c9bd9ae1b09cfb5edf0d
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Nov 19 11:08:34 2008 +1000
+
+    radeon: even more typos
+
[...1693 lines suppressed...]
++
++void radeon_set_pixmap_bo(PixmapPtr pPix, struct radeon_memory *mem)
++{
++    ScrnInfoPtr pScrn = xf86Screens[pPix->drawable.pScreen->myNum];
++    RADEONInfoPtr info = RADEONPTR(pScrn);
++    
++#ifdef XF86DRM_MODE
++    struct radeon_exa_pixmap_priv *driver_priv;
++
++    driver_priv = exaGetPixmapDriverPrivate(pPix);
++    if (driver_priv) {
++	if (driver_priv->bo)
++	    dri_bo_unreference(driver_priv->bo);
++
++	driver_priv->bo = radeon_bo_gem_create_from_name(info->bufmgr, "front",
++							 radeon_name_buffer(pScrn, mem));
++    }
++#endif
++}
++    
++
 +static Bool RADEONEXAPixmapIsOffscreen(PixmapPtr pPix)
 +{
 +    struct radeon_exa_pixmap_priv *driver_priv;
@@ -5801,7 +6786,7 @@
  
  #define ENTER_DRAW(x) TRACE
  #define LEAVE_DRAW(x) TRACE
-@@ -332,6 +483,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
+@@ -332,6 +521,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
  #define BEGIN_ACCEL(n)		RADEONWaitForFifo(pScrn, (n))
  #define OUT_ACCEL_REG(reg, val)	OUTREG(reg, val)
  #define OUT_ACCEL_REG_F(reg, val) OUTREG(reg, F_TO_DW(val))
@@ -5809,7 +6794,7 @@
  #define FINISH_ACCEL()
  
  #ifdef RENDER
-@@ -345,6 +497,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
+@@ -345,6 +535,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
  #undef OUT_ACCEL_REG
  #undef OUT_ACCEL_REG_F
  #undef FINISH_ACCEL
@@ -5817,7 +6802,7 @@
  
  #ifdef XF86DRI
  
-@@ -355,6 +508,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
+@@ -355,6 +546,7 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
  #define BEGIN_ACCEL(n)		BEGIN_RING(2*(n))
  #define OUT_ACCEL_REG(reg, val)	OUT_RING_REG(reg, val)
  #define FINISH_ACCEL()		ADVANCE_RING()
@@ -5825,7 +6810,7 @@
  
  #define OUT_RING_F(x) OUT_RING(F_TO_DW(x))
  
-@@ -372,6 +526,8 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
+@@ -372,6 +564,8 @@ static void RADEONFinishAccess(PixmapPtr pPix, int index)
  
  #endif /* XF86DRI */
  
@@ -5834,7 +6819,7 @@
  /*
   * Once screen->off_screen_base is set, this function
   * allocates the remaining memory appropriately
-@@ -393,122 +549,126 @@ Bool RADEONSetupMemEXA (ScreenPtr pScreen)
+@@ -393,122 +587,126 @@ Bool RADEONSetupMemEXA (ScreenPtr pScreen)
      if (info->accel_state->exa == NULL)
  	return FALSE;
  
@@ -6064,7 +7049,7 @@
      return TRUE;
  }
  
-@@ -523,14 +683,23 @@ RADEONTexOffsetStart(PixmapPtr pPix)
+@@ -523,14 +721,23 @@ RADEONTexOffsetStart(PixmapPtr pPix)
  {
      RINFO_FROM_SCREEN(pPix->drawable.pScreen);
      unsigned long long offset;
@@ -7357,10 +8342,10 @@
  
 diff --git a/src/radeon_memory.c b/src/radeon_memory.c
 new file mode 100644
-index 0000000..2b6bc4d
+index 0000000..568f9ba
 --- /dev/null
 +++ b/src/radeon_memory.c
-@@ -0,0 +1,423 @@
+@@ -0,0 +1,396 @@
 +
 +#include <errno.h>
 +#include <sys/ioctl.h>
@@ -7420,7 +8405,6 @@
 +	if (!info->drm_mm)
 +		return FALSE;
 +
-+
 +	if (mem->kernel_bo_handle) {
 +		struct drm_radeon_gem_unpin unpin;
 +
@@ -7639,13 +8623,11 @@
 +    	cursor_size = RADEON_ALIGN(cursor_size, pagesize);
 +	for (c = 0; c < xf86_config->num_crtc; c++) {
 +	    /* cursor objects */
-+	    info->mm.cursor[c] = radeon_allocate_memory(pScrn, RADEON_POOL_VRAM, cursor_size, 0, 1, "Cursor", 1);
++	    info->mm.cursor[c] = radeon_allocate_memory(pScrn, RADEON_POOL_VRAM, cursor_size, 0, 1, "Cursor", 0);
 +	    if (!info->mm.cursor[c]) {
 +		return FALSE;
 +	    }
 +
-+	    radeon_bind_memory(pScrn, info->mm.cursor[c]);
-+
 +	    if (radeon_map_memory(pScrn, info->mm.cursor[c])) {
 +		ErrorF("Failed to map front buffer memory\n");
 +	    }
@@ -7665,13 +8647,12 @@
 +    /* keep area front front buffer - but don't allocate it yet */
 +    total_size_bytes += screen_size;
 +
-+    if (info->directRenderingEnabled) {
++    if (info->directRenderingEnabled && !info->dri2.enabled) {
 +	info->dri->backPitch = pScrn->displayWidth;
 +	info->mm.back_buffer = radeon_allocate_memory(pScrn, RADEON_POOL_VRAM, screen_size, 0, 1, "Back Buffer", 0);
 +	if (!info->mm.back_buffer) {
 +	    return FALSE;
 +	}
-+	//	radeon_bind_memory(pScrn, info->mm.back_buffer);
 +	total_size_bytes += screen_size;
 +	
 +	info->dri->depthPitch = RADEON_ALIGN(pScrn->displayWidth, 32);
@@ -7683,7 +8664,6 @@
 +	    if (!info->mm.depth_buffer) {
 +		return FALSE;
 +	    }
-+	    //	    radeon_bind_memory(pScrn, info->mm.depth_buffer);
 +	    total_size_bytes += depth_size;
 +	}
 +    }
@@ -7715,11 +8695,13 @@
 +	return FALSE;
 +    }
 +
-+    radeon_bind_memory(pScrn, info->mm.front_buffer);
-+    if (radeon_map_memory(pScrn, info->mm.front_buffer)) {
++    /* don't need to bind or map memory */
++    if (!info->dri2.enabled) {
++      if (radeon_map_memory(pScrn, info->mm.front_buffer)) {
 +	ErrorF("Failed to map front buffer memory\n");
++      }
++      info->dri->frontPitch = pScrn->displayWidth;
 +    }
-+    info->dri->frontPitch = pScrn->displayWidth;
 +
 +    if (info->directRenderingEnabled && info->dri->textureSize) {
 +	info->mm.texture_buffer = radeon_allocate_memory(pScrn, RADEON_POOL_VRAM, info->dri->textureSize, 0, 1, "Texture Buffer", 1);
@@ -7734,8 +8716,10 @@
 +    }
 +
 +    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Front buffer size: %dK at 0x%08x\n", info->mm.front_buffer->size/1024, info->mm.front_buffer->offset);
-+    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Back buffer size:  %dK at 0x%08x\n", info->mm.back_buffer->size/1024, info->mm.back_buffer->offset);
-+    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Depth buffer size: %dK at 0x%08x\n", info->mm.depth_buffer->size/1024, info->mm.depth_buffer->offset);
++    if (info->directRenderingEnabled && !info->dri2.enabled) {
++   	 xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Back buffer size:  %dK at 0x%08x\n", info->mm.back_buffer->size/1024, info->mm.back_buffer->offset);
++    	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Depth buffer size: %dK at 0x%08x\n", info->mm.depth_buffer->size/1024, info->mm.depth_buffer->offset);
++    }
 +    if (info->mm.texture_buffer)
 +      xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Texture size:      %dK at 0x%08x\n", info->mm.texture_buffer->size/1024, info->mm.texture_buffer->offset);
 +    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Remaining VRAM size (used for pixmaps): %dK\n", remain_size_bytes/1024);
@@ -7747,32 +8731,6 @@
 +    return TRUE;
 +}
 +
-+Bool radeon_setup_gart_mem(ScreenPtr pScreen)
-+{
-+    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
-+    RADEONInfoPtr info = RADEONPTR(pScrn);
-+
-+#if 0
-+    info->mm.gart_texture_buffer =
-+	radeon_allocate_memory(pScrn, RADEON_POOL_GART,
-+			       info->dri->gartTexMapSize,
-+			       0, 1, "GART texture buffers", 1);
-+    
-+    if (!info->mm.gart_texture_buffer) {
-+	return FALSE;
-+    }
-+
-+    radeon_bind_memory(pScrn, info->mm.gart_texture_buffer);
-+#endif
-+    return TRUE;
-+}
-+
-+uint32_t radeon_create_new_fb(ScrnInfoPtr pScrn, int width, int height, int *pitch)
-+{
-+    return 0;
-+}
-+
-+
 +dri_bo *radeon_create_rotate_bo(ScrnInfoPtr pScrn, int size)
 +{
 +	RADEONInfoPtr info = RADEONPTR(pScrn);


Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/devel/xorg-x11-drv-ati.spec,v
retrieving revision 1.151
retrieving revision 1.152
diff -u -r1.151 -r1.152
--- xorg-x11-drv-ati.spec	2 Mar 2009 23:42:19 -0000	1.151
+++ xorg-x11-drv-ati.spec	3 Mar 2009 09:20:16 -0000	1.152
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
 Version:   6.11.0
-Release:   2%{?dist}
+Release:   3%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -76,6 +76,9 @@
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Tue Mar 03 2009 Dave Airlie <airlied at redhat.com> 6.11.0-3
+- initial support for dynamic fb resize
+
 * Tue Mar 03 2009 Dave Airlie <airlied at redhat.com> 6.11.0-2
 - rebase to latest upstream r600 accel
 - fixup VT switch on DRI2




More information about the fedora-extras-commits mailing list