rpms/kernel/devel drm-modesetting-radeon.patch, 1.55, 1.56 kernel.spec, 1.1333, 1.1334

Dave Airlie airlied at fedoraproject.org
Wed Feb 25 06:35:26 UTC 2009


Author: airlied

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3488

Modified Files:
	drm-modesetting-radeon.patch kernel.spec 
Log Message:
* Wed Feb 25 2009 Dave Airlie <airlied at redhat.com>
- rebase drm-modesetting-radeon with fixes for TTM + DRI2


drm-modesetting-radeon.patch:

Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -r1.55 -r1.56
--- drm-modesetting-radeon.patch	21 Feb 2009 22:25:15 -0000	1.55
+++ drm-modesetting-radeon.patch	25 Feb 2009 06:35:23 -0000	1.56
@@ -1,3 +1,42 @@
+commit 0f6053741411f3ab78a99470523175f20c56b256
+Author: David Miller <davem at davemloft.net>
+Date:   Thu Feb 12 02:15:39 2009 -0800
+
+    drm: radeon: Fix RADEON_*_EMITED defines.
+    
+    These are not supposed to be booleans, they are
+    supposed to be bit masks.
+    
+    Signed-off-by: David S. Miller <davem at davemloft.net>
+    Signed-off-by: Dave Airlie <airlied at linux.ie>
+    (cherry picked from commit c88605574cafb3883011c898d21309b5d93d0d09)
+
+commit d5315273951332ebc92d0a0a32412c98fc3b6bec
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Feb 25 16:07:15 2009 +1000
+
+    radeon: fixup cs buffer re-use code to not block straight away
+
+commit da53c6edb0b09776687bbf37796b3db3a47192af
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Feb 25 16:06:30 2009 +1000
+
+    radeon: port CS mutex over from drm.git
+    
+    Totally missed this before - really helps stability
+
+commit 5d2a309e5f10266667bc733b884198a2f51cf845
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Wed Feb 25 13:03:47 2009 +1000
+
+    radeon: fix IB dump end
+
+commit 57f22b7e9781a6d0894af48369c75b0caa6d9a8b
+Author: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
+Date:   Tue Feb 24 20:26:53 2009 +1000
+
+    drm/ttm: work around some x86 pat oddities by using mixedmap instead of pfnmap
+
 commit 465937aec83364d3cf516bc8b6c2ca7f785892d9
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Sun Feb 22 08:22:14 2009 +1000
@@ -6419,7 +6458,7 @@
 +}
 +
 diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
-index 3ffae02..bb012ad 100644
+index 3ffae02..57699c8 100644
 --- a/drivers/gpu/drm/drm_vm.c
 +++ b/drivers/gpu/drm/drm_vm.c
 @@ -37,9 +37,15 @@
@@ -6570,7 +6609,7 @@
 +			drm_io_prot(_DRM_TTM, vma);
 +	}
 +
-+	err = vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, pfn);
++	err = vm_insert_mixed(vma, (unsigned long)vmf->virtual_address, pfn);
 +	if (err) {
 +		ret = (err != -EAGAIN) ? VM_FAULT_OOM : VM_FAULT_NOPAGE;
 +		goto out_unlock;
@@ -6655,7 +6694,7 @@
 +	vma->vm_private_data = map->handle;
 +	vma->vm_file = filp;
 +	vma->vm_flags |= VM_RESERVED | VM_IO;
-+	vma->vm_flags |= VM_PFNMAP;
++	vma->vm_flags |= VM_MIXEDMAP;
 +	drm_bo_vm_open_locked(vma);
 +	return 0;
 +}
@@ -19713,10 +19752,10 @@
 +}
 diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
 new file mode 100644
-index 0000000..143269f
+index 0000000..a916634
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_cs.c
-@@ -0,0 +1,577 @@
+@@ -0,0 +1,583 @@
 +/*
 + * Copyright 2008 Jerome Glisse.
 + * All Rights Reserved.
@@ -19760,21 +19799,25 @@
 +	long size;
 +	int r, i;
 +
++	mutex_lock(&dev_priv->cs.cs_mutex);
 +	/* set command stream id to 0 which is fake id */
 +	cs_id = 0;
 +	cs->cs_id = cs_id;
 +
 +	if (dev_priv == NULL) {
 +		DRM_ERROR("called with no initialization\n");
++		mutex_unlock(&dev_priv->cs.cs_mutex);
 +		return -EINVAL;
 +	}
 +	if (!cs->num_chunks) {
++		mutex_unlock(&dev_priv->cs.cs_mutex);
 +		return 0;
 +	}
 +
 +
 +	chunk_array = drm_calloc(cs->num_chunks, sizeof(uint64_t), DRM_MEM_DRIVER);
 +	if (!chunk_array) {
++		mutex_unlock(&dev_priv->cs.cs_mutex);
 +		return -ENOMEM;
 +	}
 +
@@ -19793,7 +19836,8 @@
 +	/* copy out the chunk headers */
 +	parser.chunks = drm_calloc(parser.num_chunks, sizeof(struct drm_radeon_kernel_chunk), DRM_MEM_DRIVER);
 +	if (!parser.chunks) {
-+		return -ENOMEM;
++		r = -ENOMEM;
++		goto out;
 +	}
 +
 +	for (i = 0; i < parser.num_chunks; i++) {
@@ -19883,9 +19927,9 @@
 +	dev_priv->cs.id_emit(&parser, &cs_id);
 +
 +	cs->cs_id = cs_id;
-+		
 +out:
 +	dev_priv->cs.ib_free(&parser, r);
++	mutex_unlock(&dev_priv->cs.cs_mutex);
 +
 +	for (i = 0; i < parser.num_chunks; i++) {
 +		if (parser.chunks[i].kdata)
@@ -20281,6 +20325,7 @@
 +{
 +	drm_radeon_private_t *dev_priv = dev->dev_private;
 +
++	mutex_init(&dev_priv->cs.cs_mutex);
 +	if (dev_priv->chip_family < CHIP_RV280) {
 +		dev_priv->cs.id_emit = r100_cs_id_emit;
 +		dev_priv->cs.id_last_get = r100_cs_id_last_get;
@@ -21437,7 +21482,7 @@
  }
  
 diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h
-index 490bc7c..06c9089 100644
+index 490bc7c..8373c20 100644
 --- a/drivers/gpu/drm/radeon/radeon_drv.h
 +++ b/drivers/gpu/drm/radeon/radeon_drv.h
 @@ -34,6 +34,8 @@
@@ -21535,10 +21580,15 @@
  	int fetch_size_l2ow; /* log2 Oct Words */
  
  	u32 tail;
-@@ -226,18 +264,89 @@ struct radeon_virt_surface {
- #define RADEON_FLUSH_EMITED	(1 < 0)
- #define RADEON_PURGE_EMITED	(1 < 1)
+@@ -223,21 +261,93 @@ struct radeon_virt_surface {
+ 	struct drm_file *file_priv;
+ };
  
+-#define RADEON_FLUSH_EMITED	(1 < 0)
+-#define RADEON_PURGE_EMITED	(1 < 1)
++#define RADEON_FLUSH_EMITED	(1 << 0)
++#define RADEON_PURGE_EMITED	(1 << 1)
++
 +struct radeon_mm_obj {
 +	struct drm_buffer_object *bo;
 +	struct drm_bo_kmap_obj kmap;
@@ -21565,7 +21615,7 @@
 +};
 +
 +#include "radeon_mode.h"
-+
+ 
  struct drm_radeon_master_private {
  	drm_local_map_t *sarea;
  	drm_radeon_sarea_t *sarea_priv;
@@ -21591,6 +21641,7 @@
 +
 +/* command submission struct */
 +struct drm_radeon_cs_priv {
++	struct mutex cs_mutex;
 +	uint32_t id_wcnt;
 +	uint32_t id_scnt;
 +	uint32_t id_last_wcnt;
@@ -21629,7 +21680,7 @@
  	int gart_size;
  	u32 gart_vm_start;
  	unsigned long gart_buffers_offset;
-@@ -253,8 +362,6 @@ typedef struct drm_radeon_private {
+@@ -253,8 +363,6 @@ typedef struct drm_radeon_private {
  
  	int usec_timeout;
  
@@ -21638,7 +21689,7 @@
  	struct {
  		u32 boxes;
  		int freelist_timeouts;
-@@ -290,7 +397,6 @@ typedef struct drm_radeon_private {
+@@ -290,7 +398,6 @@ typedef struct drm_radeon_private {
  	unsigned long buffers_offset;
  	unsigned long gart_textures_offset;
  
@@ -21646,7 +21697,7 @@
  	drm_local_map_t *cp_ring;
  	drm_local_map_t *ring_rptr;
  	drm_local_map_t *gart_textures;
-@@ -299,8 +405,8 @@ typedef struct drm_radeon_private {
+@@ -299,8 +406,8 @@ typedef struct drm_radeon_private {
  	struct mem_block *fb_heap;
  
  	/* SW interrupt */
@@ -21656,7 +21707,7 @@
  	int vblank_crtc;
  	uint32_t irq_enable_reg;
  	uint32_t r500_disp_irq_reg;
-@@ -308,9 +414,6 @@ typedef struct drm_radeon_private {
+@@ -308,9 +415,6 @@ typedef struct drm_radeon_private {
  	struct radeon_surface surfaces[RADEON_MAX_SURFACES];
  	struct radeon_virt_surface virt_surfaces[2 * RADEON_MAX_SURFACES];
  
@@ -21666,7 +21717,7 @@
  
  	u32 scratch_ages[5];
  
-@@ -320,7 +423,44 @@ typedef struct drm_radeon_private {
+@@ -320,7 +424,44 @@ typedef struct drm_radeon_private {
  
  	int num_gb_pipes;
  	int track_flush;
@@ -21711,7 +21762,7 @@
  } drm_radeon_private_t;
  
  typedef struct drm_radeon_buf_priv {
-@@ -335,8 +475,14 @@ typedef struct drm_radeon_kcmd_buffer {
+@@ -335,8 +476,14 @@ typedef struct drm_radeon_kcmd_buffer {
  } drm_radeon_kcmd_buffer_t;
  
  extern int radeon_no_wb;
@@ -21726,7 +21777,7 @@
  
  /* Check whether the given hardware address is inside the framebuffer or the
   * GART area.
-@@ -370,12 +516,9 @@ extern struct drm_buf *radeon_freelist_get(struct drm_device * dev);
+@@ -370,12 +517,9 @@ extern struct drm_buf *radeon_freelist_get(struct drm_device * dev);
  
  extern int radeon_wait_ring(drm_radeon_private_t * dev_priv, int n);
  
@@ -21740,7 +21791,7 @@
  extern int radeon_mem_alloc(struct drm_device *dev, void *data, struct drm_file *file_priv);
  extern int radeon_mem_free(struct drm_device *dev, void *data, struct drm_file *file_priv);
  extern int radeon_mem_init_heap(struct drm_device *dev, void *data, struct drm_file *file_priv);
-@@ -403,13 +546,13 @@ extern int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value);
+@@ -403,13 +547,13 @@ extern int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value);
  extern int radeon_driver_load(struct drm_device *dev, unsigned long flags);
  extern int radeon_driver_unload(struct drm_device *dev);
  extern int radeon_driver_firstopen(struct drm_device *dev);
@@ -21758,7 +21809,7 @@
  extern long radeon_compat_ioctl(struct file *filp, unsigned int cmd,
  				unsigned long arg);
  
-@@ -423,6 +566,11 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -423,6 +567,11 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  			     struct drm_file *file_priv,
  			     drm_radeon_kcmd_buffer_t *cmdbuf);
  
@@ -21770,7 +21821,7 @@
  /* Flags for stats.boxes
   */
  #define RADEON_BOX_DMA_IDLE      0x1
-@@ -431,10 +579,14 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -431,10 +580,14 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define RADEON_BOX_WAIT_IDLE     0x8
  #define RADEON_BOX_TEXTURE_LOAD  0x10
  
@@ -21785,7 +21836,7 @@
  #define RADEON_AGP_COMMAND		0x0f60
  #define RADEON_AGP_COMMAND_PCI_CONFIG   0x0060	/* offset in PCI config */
  #	define RADEON_AGP_ENABLE	(1<<8)
-@@ -560,16 +712,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -560,16 +713,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define R520_MC_IND_WR_EN (1 << 24)
  #define R520_MC_IND_DATA  0x74
  
@@ -21802,7 +21853,7 @@
  #define RADEON_MPP_TB_CONFIG		0x01c0
  #define RADEON_MEM_CNTL			0x0140
  #define RADEON_MEM_SDRAM_MODE_REG	0x0158
-@@ -634,14 +776,23 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -634,14 +777,23 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define RADEON_SCRATCH_REG3		0x15ec
  #define RADEON_SCRATCH_REG4		0x15f0
  #define RADEON_SCRATCH_REG5		0x15f4
@@ -21829,7 +21880,7 @@
  
  #define RADEON_GEN_INT_CNTL		0x0040
  #	define RADEON_CRTC_VBLANK_MASK		(1 << 0)
-@@ -660,10 +811,13 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -660,10 +812,13 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #	define RADEON_SW_INT_FIRE		(1 << 26)
  #       define R500_DISPLAY_INT_STATUS          (1 << 0)
  
@@ -21847,7 +21898,7 @@
  
  #define RADEON_ISYNC_CNTL		0x1724
  #	define RADEON_ISYNC_ANY2D_IDLE3D	(1 << 0)
-@@ -702,12 +856,17 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -702,12 +857,17 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define RADEON_PP_TXFILTER_1		0x1c6c
  #define RADEON_PP_TXFILTER_2		0x1c84
  
@@ -21871,7 +21922,7 @@
  #define RADEON_RB3D_CNTL		0x1c3c
  #	define RADEON_ALPHA_BLEND_ENABLE	(1 << 0)
  #	define RADEON_PLANE_MASK_ENABLE		(1 << 1)
-@@ -734,11 +893,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -734,11 +894,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #	define R300_ZC_FLUSH		        (1 << 0)
  #	define R300_ZC_FREE		        (1 << 1)
  #	define R300_ZC_BUSY		        (1 << 31)
@@ -21883,7 +21934,7 @@
  #define R300_RB3D_DSTCACHE_CTLSTAT              0x4e4c
  #	define R300_RB3D_DC_FLUSH		(2 << 0)
  #	define R300_RB3D_DC_FREE		(2 << 2)
-@@ -746,15 +900,15 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -746,15 +901,15 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define RADEON_RB3D_ZSTENCILCNTL	0x1c2c
  #	define RADEON_Z_TEST_MASK		(7 << 4)
  #	define RADEON_Z_TEST_ALWAYS		(7 << 4)
@@ -21903,7 +21954,7 @@
  #define RADEON_RBBM_SOFT_RESET		0x00f0
  #	define RADEON_SOFT_RESET_CP		(1 <<  0)
  #	define RADEON_SOFT_RESET_HI		(1 <<  1)
-@@ -931,6 +1085,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -931,6 +1086,7 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #	define RADEON_PRE_WRITE_LIMIT_SHIFT	23
  
  #define RADEON_CP_IB_BASE		0x0738
@@ -21911,7 +21962,7 @@
  
  #define RADEON_CP_CSQ_CNTL		0x0740
  #	define RADEON_CSQ_CNT_PRIMARY_MASK	(0xff << 0)
-@@ -941,6 +1096,8 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -941,6 +1097,8 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #	define RADEON_CSQ_PRIBM_INDBM		(4 << 28)
  #	define RADEON_CSQ_PRIPIO_INDPIO		(15 << 28)
  
@@ -21920,7 +21971,7 @@
  #define RADEON_AIC_CNTL			0x01d0
  #	define RADEON_PCIGART_TRANSLATE_EN	(1 << 0)
  #	define RS400_MSI_REARM	                (1 << 3)
-@@ -1015,27 +1172,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -1015,27 +1173,6 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define RADEON_NUM_VERTICES_SHIFT		16
  
  #define RADEON_COLOR_FORMAT_CI8		2
@@ -21948,7 +21999,7 @@
  
  #define R200_PP_TXCBLEND_0                0x2f00
  #define R200_PP_TXCBLEND_1                0x2f10
-@@ -1146,16 +1282,44 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -1146,16 +1283,44 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  
  #define R200_SE_TCL_POINT_SPRITE_CNTL     0x22c4
  
@@ -21995,7 +22046,7 @@
  #define R500_D1CRTC_STATUS 0x609c
  #define R500_D2CRTC_STATUS 0x689c
  #define R500_CRTC_V_BLANK (1<<0)
-@@ -1196,19 +1360,36 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
+@@ -1196,19 +1361,36 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
  #define RADEON_RING_HIGH_MARK		128
  
  #define RADEON_PCIGART_TABLE_SIZE      (32*1024)
@@ -22039,7 +22090,7 @@
  #define RADEON_WRITE_PCIE(addr, val)					\
  do {									\
  	RADEON_WRITE8(RADEON_PCIE_INDEX,				\
-@@ -1265,7 +1446,7 @@ do {									\
+@@ -1265,7 +1447,7 @@ do {									\
  #define RADEON_WAIT_UNTIL_2D_IDLE() do {				\
  	OUT_RING( CP_PACKET0( RADEON_WAIT_UNTIL, 0 ) );			\
  	OUT_RING( (RADEON_WAIT_2D_IDLECLEAN |				\
@@ -22048,7 +22099,7 @@
  } while (0)
  
  #define RADEON_WAIT_UNTIL_3D_IDLE() do {				\
-@@ -1374,15 +1555,16 @@ do {								\
+@@ -1374,15 +1556,16 @@ do {								\
  
  #define RADEON_VERBOSE	0
  
@@ -22068,7 +22119,7 @@
  	}								\
  	_nr = n; dev_priv->ring.space -= (n) * sizeof(u32);		\
  	ring = dev_priv->ring.start;					\
-@@ -1399,19 +1581,14 @@ do {								\
+@@ -1399,19 +1582,14 @@ do {								\
  		DRM_ERROR(						\
  			"ADVANCE_RING(): mismatch: nr: %x write: %x line: %d\n",	\
  			((dev_priv->ring.tail + _nr) & mask),		\
@@ -22091,7 +22142,7 @@
  
  #define OUT_RING( x ) do {						\
  	if ( RADEON_VERBOSE ) {						\
-@@ -1450,4 +1627,161 @@ do {								\
+@@ -1450,4 +1628,161 @@ do {								\
  	write &= mask;						\
  } while (0)
  
@@ -24406,10 +24457,10 @@
 +
 diff --git a/drivers/gpu/drm/radeon/radeon_gem.c b/drivers/gpu/drm/radeon/radeon_gem.c
 new file mode 100644
-index 0000000..4ba7809
+index 0000000..14bd4c1
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_gem.c
-@@ -0,0 +1,1542 @@
+@@ -0,0 +1,1550 @@
 +/*
 + * Copyright 2008 Red Hat Inc.
 + *
@@ -25633,21 +25684,24 @@
 +{
 +	int i, index = -1;
 +	int ret;
++	int no_wait = 1;
 +	drm_radeon_private_t *dev_priv = parser->dev->dev_private;
 +
 +	for (i = 0; i < RADEON_NUM_IB; i++) {
++
 +		if (!(dev_priv->ib_alloc_bitmap & (1 << i))){
 +			index = i;
 +			break;
 +		}
 +	}
 +
++retry_wait:
 +	/* if all in use we need to wait */
 +	if (index == -1) {
 +		for (i = 0; i < RADEON_NUM_IB; i++) {
 +			if (dev_priv->ib_alloc_bitmap & (1 << i)) {
 +				mutex_lock(&dev_priv->ib_objs[i]->bo->mutex);
-+				ret = drm_bo_wait(dev_priv->ib_objs[i]->bo, 0, 1, 0, 0);
++				ret = drm_bo_wait(dev_priv->ib_objs[i]->bo, 0, 1, no_wait, 0);
 +				mutex_unlock(&dev_priv->ib_objs[i]->bo->mutex);
 +				if (ret)
 +					continue;
@@ -25658,7 +25712,12 @@
 +		}
 +	}
 +
-+	if (index == -1) {
++	if (index == -1 && no_wait == 1) {
++		no_wait = 0;
++		goto retry_wait;
++	}
++
++	if (index == -1 && no_wait == 0) {
 +		DRM_ERROR("Major case fail to allocate IB from freelist %llx\n", dev_priv->ib_alloc_bitmap);
 +		return -EINVAL;
 +	}
@@ -25677,7 +25736,7 @@
 +		
 +	parser->ib = dev_priv->ib_objs[index]->kmap.virtual;
 +	parser->card_offset = dev_priv->gart_vm_start + dev_priv->ib_objs[index]->bo->offset;
-+	dev_priv->ib_alloc_bitmap |= (1 << i);
++	dev_priv->ib_alloc_bitmap |= (1 << index);
 +	return 0;
 +}
 +
@@ -25954,7 +26013,7 @@
 +
 diff --git a/drivers/gpu/drm/radeon/radeon_gem_proc.c b/drivers/gpu/drm/radeon/radeon_gem_proc.c
 new file mode 100644
-index 0000000..98de860
+index 0000000..3d005a1
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_gem_proc.c
 @@ -0,0 +1,229 @@
@@ -26088,7 +26147,7 @@
 +				offset = 0;
 +			offset = (offset + 15) & ~15;
 +			start = dev_priv->ib_objs[i]->kmap.virtual + (offset * sizeof(u32));
-+			end = dev_priv->ib_objs[i]->kmap.virtual + ib_size;
++			end = dev_priv->ib_objs[i]->kmap.virtual + (ib_size * sizeof(u32));
 +			for (ptr = start; ptr < end; ptr += 4) {
 +				DRM_PROC_PRINT("%x: %08x %08x %08x %08x\n", ptr - (uint32_t *)dev_priv->ib_objs[i]->kmap.virtual,
 +					       ptr[0], ptr[1], ptr[2], ptr[3]);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1333
retrieving revision 1.1334
diff -u -r1.1333 -r1.1334
--- kernel.spec	25 Feb 2009 04:33:14 -0000	1.1333
+++ kernel.spec	25 Feb 2009 06:35:24 -0000	1.1334
@@ -1755,6 +1755,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Wed Feb 25 2009 Dave Airlie <airlied at redhat.com>
+- rebase drm-modesetting-radeon with fixes for TTM + DRI2
+
 * Tue Feb 24 2009 Kyle McMartin <kyle at redhat.com> 2.6.29-0.153.rc6.git2
 - Update to -git2 snap.
 - linux-2.6-ext4-ENOSPC-debug.patch: merged upstream (more or less)




More information about the fedora-extras-commits mailing list