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