rpms/kernel/devel drm-modesetting-radeon.patch, 1.5, 1.6 kernel.spec, 1.848, 1.849

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Tue Aug 5 07:00:57 UTC 2008


Author: airlied

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16833

Modified Files:
	drm-modesetting-radeon.patch kernel.spec 
Log Message:
* Tue Aug 05 2008 Dave Airlie <airlied at redhat.com> 
- more drm regressions squashed


drm-modesetting-radeon.patch:

Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- drm-modesetting-radeon.patch	4 Aug 2008 04:26:02 -0000	1.5
+++ drm-modesetting-radeon.patch	5 Aug 2008 07:00:27 -0000	1.6
@@ -6699,7 +6699,7 @@
 +
 +
 diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
-index 452c2d8..d4d83a4 100644
+index 452c2d8..837d2f0 100644
 --- a/drivers/gpu/drm/drm_drv.c
 +++ b/drivers/gpu/drm/drm_drv.c
 @@ -74,6 +74,9 @@ static struct drm_ioctl_desc drm_ioctls[] = {
@@ -6754,25 +6754,25 @@
  	struct drm_vma_entry *vma, *vma_temp;
  	int i;
  
-@@ -141,13 +168,12 @@ int drm_lastclose(struct drm_device * dev)
+@@ -141,15 +168,10 @@ int drm_lastclose(struct drm_device * dev)
  
  	if (dev->driver->lastclose)
  		dev->driver->lastclose(dev);
-+
-+	if (!drm_core_check_feature(dev, DRIVER_MODESET))
-+		drm_bo_driver_finish(dev);
- 	DRM_DEBUG("driver lastclose completed\n");
+-	DRM_DEBUG("driver lastclose completed\n");
  
 -	if (dev->unique) {
 -		drm_free(dev->unique, strlen(dev->unique) + 1, DRM_MEM_DRIVER);
 -		dev->unique = NULL;
 -		dev->unique_len = 0;
 -	}
-+	drm_bo_driver_finish(dev);
++	DRM_DEBUG("driver lastclose completed\n");
  
- 	if (dev->irq_enabled)
+-	if (dev->irq_enabled)
++	if (dev->irq_enabled && !drm_core_check_feature(dev, DRIVER_MODESET))
  		drm_irq_uninstall(dev);
-@@ -158,16 +184,6 @@ int drm_lastclose(struct drm_device * dev)
+ 
+ 	mutex_lock(&dev->struct_mutex);
+@@ -158,18 +180,8 @@ int drm_lastclose(struct drm_device * dev)
  	drm_drawable_free_all(dev);
  	del_timer(&dev->timer);
  
@@ -6787,9 +6787,12 @@
 -	}
 -
  	/* Clear AGP information */
- 	if (drm_core_has_AGP(dev) && dev->agp) {
+-	if (drm_core_has_AGP(dev) && dev->agp) {
++	if (drm_core_has_AGP(dev) && dev->agp && !drm_core_check_feature(dev, DRIVER_MODESET)) {
  		struct drm_agp_mem *entry, *tempe;
-@@ -188,7 +204,7 @@ int drm_lastclose(struct drm_device * dev)
+ 
+ 		/* Remove AGP resources, but leave dev->agp
+@@ -188,7 +200,7 @@ int drm_lastclose(struct drm_device * dev)
  		dev->agp->acquired = 0;
  		dev->agp->enabled = 0;
  	}
@@ -6798,7 +6801,7 @@
  		drm_sg_cleanup(dev->sg);
  		dev->sg = NULL;
  	}
-@@ -199,13 +215,6 @@ int drm_lastclose(struct drm_device * dev)
+@@ -199,13 +211,6 @@ int drm_lastclose(struct drm_device * dev)
  		drm_free(vma, sizeof(*vma), DRM_MEM_VMAS);
  	}
  
@@ -6812,7 +6815,7 @@
  	if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE) && dev->queuelist) {
  		for (i = 0; i < dev->queue_count; i++) {
  			if (dev->queuelist[i]) {
-@@ -225,11 +234,7 @@ int drm_lastclose(struct drm_device * dev)
+@@ -225,11 +230,7 @@ int drm_lastclose(struct drm_device * dev)
  	if (drm_core_check_feature(dev, DRIVER_HAVE_DMA))
  		drm_dma_takedown(dev);
  
@@ -6825,7 +6828,7 @@
  	mutex_unlock(&dev->struct_mutex);
  
  	DRM_DEBUG("lastclose completed\n");
-@@ -312,8 +317,11 @@ static void drm_cleanup(struct drm_device * dev)
+@@ -312,8 +313,11 @@ static void drm_cleanup(struct drm_device * dev)
  
  	drm_ht_remove(&dev->map_hash);
  	drm_ctxbitmap_cleanup(dev);
@@ -6837,7 +6840,7 @@
  	if (drm_put_dev(dev))
  		DRM_ERROR("Cannot unload module\n");
  }
-@@ -328,8 +336,13 @@ static int drm_minors_cleanup(int id, void *ptr, void *data)
+@@ -328,8 +332,13 @@ static int drm_minors_cleanup(int id, void *ptr, void *data)
  	if (minor->dev->driver != driver)
  		return 0;
  
@@ -6853,7 +6856,7 @@
  
  	if (dev)
  		pci_dev_put(dev->pdev);
-@@ -357,9 +370,34 @@ static const struct file_operations drm_stub_fops = {
+@@ -357,9 +366,34 @@ static const struct file_operations drm_stub_fops = {
  static int __init drm_core_init(void)
  {
  	int ret = -ENOMEM;
@@ -25799,10 +25802,35 @@
  	}
  
 diff --git a/drivers/gpu/drm/radeon/r300_reg.h b/drivers/gpu/drm/radeon/r300_reg.h
-index a6802f2..a883d10 100644
+index a6802f2..50f9f92 100644
 --- a/drivers/gpu/drm/radeon/r300_reg.h
 +++ b/drivers/gpu/drm/radeon/r300_reg.h
-@@ -702,27 +702,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+@@ -126,15 +126,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+ /* END: Wild guesses */
+ 
+ #define R300_SE_VTE_CNTL                  0x20b0
+-#	define     R300_VPORT_X_SCALE_ENA                0x00000001
+-#	define     R300_VPORT_X_OFFSET_ENA               0x00000002
+-#	define     R300_VPORT_Y_SCALE_ENA                0x00000004
+-#	define     R300_VPORT_Y_OFFSET_ENA               0x00000008
+-#	define     R300_VPORT_Z_SCALE_ENA                0x00000010
+-#	define     R300_VPORT_Z_OFFSET_ENA               0x00000020
+-#	define     R300_VTX_XY_FMT                       0x00000100
+-#	define     R300_VTX_Z_FMT                        0x00000200
+-#	define     R300_VTX_W0_FMT                       0x00000400
+ #	define     R300_VTX_W0_NORMALIZE                 0x00000800
+ #	define     R300_VTX_ST_DENORMALIZED              0x00001000
+ 
+@@ -490,7 +481,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #	define R300_OFIFO_HIGHWATER_SHIFT	22	/* two bits only */
+ #	define R300_CUBE_FIFO_HIGHWATER_COL_SHIFT	24
+ 
+-#define R300_GB_SELECT	0x401C
++
+ #	define R300_GB_FOG_SELECT_C0A		0
+ #	define R300_GB_FOG_SELECT_C1A		1
+ #	define R300_GB_FOG_SELECT_C2A		2
+@@ -702,27 +693,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
  #		define R300_RS_ROUTE_1_UNKNOWN11         (1 << 11)
  /* END: Rasterization / Interpolators - many guesses */
  
@@ -25830,7 +25858,31 @@
  /* BEGIN: Scissors and cliprects */
  
  /* There are four clipping rectangles. Their corner coordinates are inclusive.
-@@ -1376,14 +1355,19 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+@@ -952,7 +922,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+ /* 32 bit chroma key */
+ #define R300_TX_CHROMA_KEY_0                      0x4580
+ /* ff00ff00 == { 0, 1.0, 0, 1.0 } */
+-#define R300_TX_BORDER_COLOR_0              0x45C0
+ 
+ /* END: Texture specification */
+ 
+@@ -1337,7 +1306,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+ /* gap */
+ 
+-#define R300_RB3D_COLOROFFSET0              0x4E28
+ #       define R300_COLOROFFSET_MASK             0xFFFFFFF0 /* GUESS */
+ #define R300_RB3D_COLOROFFSET1              0x4E2C /* GUESS */
+ #define R300_RB3D_COLOROFFSET2              0x4E30 /* GUESS */
+@@ -1349,7 +1317,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+  * Bit 17: 4x2 tiles
+  * Bit 18: Extremely weird tile like, but some pixels duplicated?
+  */
+-#define R300_RB3D_COLORPITCH0               0x4E38
+ #       define R300_COLORPITCH_MASK              0x00001FF8 /* GUESS */
+ #       define R300_COLOR_TILE_ENABLE            (1 << 16) /* GUESS */
+ #       define R300_COLOR_MICROTILE_ENABLE       (1 << 17) /* GUESS */
+@@ -1376,14 +1343,19 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
   * for this.
   * Bit (1<<8) is the "test" bit. so plain write is 6  - vd
   */
@@ -25858,7 +25910,7 @@
  	/* functions */
  #	define R300_ZS_NEVER			0
  #	define R300_ZS_LESS			1
-@@ -1403,166 +1387,52 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
+@@ -1403,166 +1375,52 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
  #	define R300_ZS_INVERT			5
  #	define R300_ZS_INCR_WRAP		6
  #	define R300_ZS_DECR_WRAP		7
@@ -27427,7 +27479,7 @@
 +	return NULL;
 +}
 diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
-index f0de81a..5fd037f 100644
+index f0de81a..36b15f9 100644
 --- a/drivers/gpu/drm/radeon/radeon_cp.c
 +++ b/drivers/gpu/drm/radeon/radeon_cp.c
 @@ -31,6 +31,7 @@
@@ -28628,7 +28680,7 @@
  	if (drm_device_is_agp(dev))
  		dev_priv->flags |= RADEON_IS_AGP;
  	else if (drm_device_is_pcie(dev))
-@@ -1729,11 +2419,122 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags)
+@@ -1729,11 +2419,120 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags)
  	else
  		dev_priv->flags |= RADEON_IS_PCI;
  
@@ -28681,10 +28733,8 @@
 +	/* init memory manager - start with all of VRAM and a 32MB GART aperture for now */
 +	dev_priv->fb_aper_offset = drm_get_resource_start(dev, 0);
 +
-+	drm_bo_driver_init(dev);
-+
 +	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
-+	
++
 +		dev_priv->fb_location = (radeon_read_fb_location(dev_priv) & 0xffff) << 16;
 +		dev_priv->fb_size =
 +			((radeon_read_fb_location(dev_priv) & 0xffff0000u) + 0x10000)
@@ -28751,7 +28801,7 @@
  /* Create mappings for registers and framebuffer so userland doesn't necessarily
   * have to find them.
   */
-@@ -1745,19 +2546,6 @@ int radeon_driver_firstopen(struct drm_device *dev)
+@@ -1745,19 +2544,6 @@ int radeon_driver_firstopen(struct drm_device *dev)
  
  	dev_priv->gart_info.table_size = RADEON_PCIGART_TABLE_SIZE;
  
@@ -28771,7 +28821,7 @@
  	return 0;
  }
  
-@@ -1765,9 +2553,40 @@ int radeon_driver_unload(struct drm_device *dev)
+@@ -1765,9 +2551,39 @@ int radeon_driver_unload(struct drm_device *dev)
  {
  	drm_radeon_private_t *dev_priv = dev->dev_private;
  
@@ -28781,7 +28831,6 @@
 +		radeon_gem_mm_fini(dev);
 +	}
 +
-+	drm_bo_driver_finish(dev);
 +	drm_rmmap(dev, dev_priv->mmio);
 +
  	DRM_DEBUG("\n");
@@ -32686,10 +32735,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..e5c056b
+index 0000000..5675bce
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_gem.c
-@@ -0,0 +1,866 @@
+@@ -0,0 +1,872 @@
 +/*
 + * Copyright 2008 Red Hat Inc.
 + *
@@ -33297,6 +33346,9 @@
 +	drm_radeon_private_t *dev_priv = dev->dev_private;
 +	int ret;
 +
++	/* init TTM underneath */
++	drm_bo_driver_init(dev);
++
 +	/* size the mappable VRAM memory for now */
 +	radeon_vram_setup(dev);
 +	
@@ -33359,6 +33411,9 @@
 +	}
 +
 +	mutex_unlock(&dev->struct_mutex);
++
++	drm_bo_driver_finish(dev);
++
 +}
 +
 +int radeon_gem_object_pin(struct drm_gem_object *obj,
@@ -34009,10 +34064,10 @@
 +#endif
 diff --git a/drivers/gpu/drm/radeon/radeon_reg.h b/drivers/gpu/drm/radeon/radeon_reg.h
 new file mode 100644
-index 0000000..784b3b5
+index 0000000..0f2d239
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_reg.h
-@@ -0,0 +1,5281 @@
+@@ -0,0 +1,5284 @@
 +/*
 + * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
 + *                VA Linux Systems Inc., Fremont, California.
@@ -36110,16 +36165,19 @@
 +#       define RADEON_STENCIL_ENABLE           (1  <<  7)
 +#       define RADEON_Z_ENABLE                 (1  <<  8)
 +#       define RADEON_DEPTH_XZ_OFFEST_ENABLE   (1  <<  9)
-+#       define RADEON_COLOR_FORMAT_ARGB1555    (3  << 10)
-+#       define RADEON_COLOR_FORMAT_RGB565      (4  << 10)
-+#       define RADEON_COLOR_FORMAT_ARGB8888    (6  << 10)
-+#       define RADEON_COLOR_FORMAT_RGB332      (7  << 10)
-+#       define RADEON_COLOR_FORMAT_Y8          (8  << 10)
-+#       define RADEON_COLOR_FORMAT_RGB8        (9  << 10)
-+#       define RADEON_COLOR_FORMAT_YUV422_VYUY (11 << 10)
-+#       define RADEON_COLOR_FORMAT_YUV422_YVYU (12 << 10)
-+#       define RADEON_COLOR_FORMAT_aYUV444     (14 << 10)
-+#       define RADEON_COLOR_FORMAT_ARGB4444    (15 << 10)
++#       define RADEON_RB3D_COLOR_FORMAT_SHIFT  10
++
++#       define RADEON_COLOR_FORMAT_ARGB1555    3
++#       define RADEON_COLOR_FORMAT_RGB565      4
++#       define RADEON_COLOR_FORMAT_ARGB8888    6
++#       define RADEON_COLOR_FORMAT_RGB332      7
++#       define RADEON_COLOR_FORMAT_Y8          8
++#       define RADEON_COLOR_FORMAT_RGB8        9
++#       define RADEON_COLOR_FORMAT_YUV422_VYUY 11
++#       define RADEON_COLOR_FORMAT_YUV422_YVYU 12
++#       define RADEON_COLOR_FORMAT_aYUV444     14
++#       define RADEON_COLOR_FORMAT_ARGB4444    15
++
 +#       define RADEON_CLRCMP_FLIP_ENABLE       (1  << 14)
 +#define RADEON_RB3D_COLOROFFSET             0x1c40
 +#       define RADEON_COLOROFFSET_MASK      0xfffffff0


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.848
retrieving revision 1.849
diff -u -r1.848 -r1.849
--- kernel.spec	5 Aug 2008 05:47:33 -0000	1.848
+++ kernel.spec	5 Aug 2008 07:00:27 -0000	1.849
@@ -1722,6 +1722,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Tue Aug 05 2008 Dave Airlie <airlied at redhat.com> 
+- more drm regressions squashed
+
 * Mon Aug 04 2008 Dave Jones <davej at redhat.com>
 - Fix bogus printk in execshield noticed by Brendan Lynch.
 




More information about the fedora-extras-commits mailing list