rpms/kernel/F-10 patch-2.6.29-rc7-git3.bz2.sign, NONE, 1.1 .cvsignore, 1.995, 1.996 drm-modesetting-radeon.patch, 1.76, 1.77 drm-next.patch, 1.13, 1.14 kernel.spec, 1.1283, 1.1284 sources, 1.956, 1.957 upstream, 1.867, 1.868

Chuck Ebbert cebbert at fedoraproject.org
Tue Mar 10 06:21:58 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11648

Modified Files:
	.cvsignore drm-modesetting-radeon.patch drm-next.patch 
	kernel.spec sources upstream 
Added Files:
	patch-2.6.29-rc7-git3.bz2.sign 
Log Message:
2.6.29-rc7-git3
Copy drm-modesetting-radeon and drm-next patches from rawhide.


--- NEW FILE patch-2.6.29-rc7-git3.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBJta37yGugalF9Dw4RAp4nAJsFV+1irXI9wUHrJh1IvolEzM5MhACfWC/L
qH/MUzESq0kB2C1AFyQ7r3E=
=eRey
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/.cvsignore,v
retrieving revision 1.995
retrieving revision 1.996
diff -u -r1.995 -r1.996
--- .cvsignore	4 Mar 2009 06:53:38 -0000	1.995
+++ .cvsignore	10 Mar 2009 06:21:23 -0000	1.996
@@ -6,3 +6,4 @@
 kernel-2.6.28
 linux-2.6.28.tar.bz2
 patch-2.6.29-rc7.bz2
+patch-2.6.29-rc7-git3.bz2

drm-modesetting-radeon.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.76 -r 1.77 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/drm-modesetting-radeon.patch,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- drm-modesetting-radeon.patch	4 Mar 2009 00:03:20 -0000	1.76
+++ drm-modesetting-radeon.patch	10 Mar 2009 06:21:23 -0000	1.77
@@ -1,16 +1,70 @@
-commit 530ebda60cb7270795b7edd72930ab2d0e4db102
+commit 85510fb358cb3c0e3d526a93389a8d847b7398c0
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Tue Mar 10 19:01:37 2009 +1000
+
+    radeon: enable kms on r100/r200
+
+commit cd45bd5f01fb0294befd98ced95e46e3a6983d2c
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sat Mar 7 19:11:20 2009 +1100
+
+    drm: switch uncached allocator to be generic cached/uncached
+    
+    This gets rid of neraly all the overhead of dma allocs for glxgears.
+    
+    using cached pages on PCIE ftw
+
+commit b34c746ed223c60c3c8aa2b9f707eaaf9e0427dc
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Sat Mar 7 17:55:11 2009 +1100
+
+    radeon: when we are using PCIE/IGP don't play with caching
+    
+    We really want to use cached BOs as much as possible on PCIE/IGP
+    for now. We should investigate uncached BOs for certain operations
+    perhaps.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 121cc720f350cc7a34af1d8a3c002266ba990d9b
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Mar 6 16:42:06 2009 +1100
+
+    radeon: add depth offset reloc properly
+
+commit e2eeb3497972e391e519c2139a5ac9fd32dadccc
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Mar 6 16:25:38 2009 +1100
+
+    radeon: r100/r200 add depth offset check
+
+commit 9abfacf388ee1f62cd2f19b32639372b781cd9b7
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Mar 6 06:07:38 2009 +1000
+
+    radeon: add some more texture relocations for r100/r200/r300
+
+commit e039bd0f71b17bad18724b5fbb0c1f72be737de2
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Mar 5 15:57:18 2009 +1000
+
+    radeon: add special relocation for WAIT_VLINE
+    
+    This is half ways between a hack and really neat.
+
+commit bd274a6fb4d9bd78e2467620e6c5898c209dfb12
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Mar 3 18:23:22 2009 +1000
 
     radeon: port proc debug files to new debugfs interface
 
-commit 94137dff359fc70b51bdf035f97cfbab7424a5ce
+commit f5b2321e7d646e6e7438911e811a973e34270abb
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Mar 3 15:33:52 2009 +1000
 
     radeon: pin framebuffer and cursors dynamically
 
-commit 90a014f6d04548790dbcef1932ad3d89ff12aa32
+commit dfe5afc942903cdf9240db9da3670bae07742f85
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Fri Feb 27 20:25:36 2009 -0500
 
@@ -18,7 +72,7 @@
     
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
 
-commit 9e3775d3fe8677b2f995230521fd93cd9ef69327
+commit 1c653f0dd7ca80b57be396b5af67f18a73ce6bbc
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Fri Feb 27 20:18:20 2009 -0500
 
@@ -26,7 +80,7 @@
     
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
 
-commit b3c52a1d083b846541e2b6d78c917ae00e9f04c1
+commit 709a927cf8b67b87086e7cf97cc8916f9b9106f9
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Fri Feb 27 20:15:04 2009 -0500
 
@@ -34,7 +88,7 @@
     
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
 
-commit b077cde9a296856bcadb3003e746950034e929bb
+commit 1be02ac8d9307f2aeb1190dd1e08f8588020b273
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Fri Feb 27 20:07:13 2009 -0500
 
@@ -42,55 +96,55 @@
     
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
 
-commit 85a3e7390f17ba442c020dda1a47e6b6b1ce0588
+commit 4e200d8a0063650385096ab6485dea9d428acecb
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Mon Mar 2 23:51:30 2009 +1100
 
     radeon: fixup suspend/resume hooks
 
-commit 1467208a03bb127c3882c59cbcc2818fb1076b8d
+commit b6cd6f6b0c543380381fd730031831e62da3fbda
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Sun Mar 1 18:25:07 2009 +1100
 
     radeon: fix rs480 gart size
 
-commit f3812bb92e9900be559d5d4b2098b8dcef01cce9
+commit 59109f23bf6e835e80d43d138f22520882618a7c
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 27 15:37:14 2009 +1000
 
     radeon: disable kms by default for r600
 
-commit 924db462f118847e313a1a185e93e58016866da4
+commit 0b64e6b2ba58ca37f8c40d3954b523e44d691430
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 27 11:51:22 2009 +1000
 
     radeon: fixup proc hacks
 
-commit 59883501a17405b6db133066d41309db083eb722
+commit c83e971d04031798907c5d1b3a6dfeda9eb7bbd3
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 27 11:51:08 2009 +1000
 
     radeon: fixup module load
 
-commit 0b8ecbca3940dc13b163ab2c46f633625d52aa72
+commit 3642c37a553efb63c1835da912731b131231dd3e
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 27 11:50:50 2009 +1000
 
     radeon: fix up ring read/write for new drm-next code
 
-commit 6bffd54b50ca1889aea58454e39edf23e3c4ec50
+commit 9a66ef9814ccf8dded0d59a14da04f10d3082708
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 27 11:50:24 2009 +1000
 
     ati_pcigart: update pcigart for changes in drm-next
 
-commit ddd936403f8c89d85a6407809e93e32b050b09b0
+commit 2e236e8f40317c3bf944e8214829aa22669de489
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Thu Feb 26 22:27:21 2009 +1000
 
     radeon: fixup writeback/ring ptrs for Kms
 
-commit b245e49600fe885e376150d9e8adc6308408c70f
+commit de3c748976b7fe35bf1cb0d8ddfd006698d9fcf3
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Thu Feb 26 22:00:59 2009 +1000
 
@@ -98,19 +152,19 @@
     
     lots more to do
 
-commit c2181284133a30bd1355b9f9463710f9ec43ccaa
+commit 26ae113e4e1eeb7c0f6b54fb9426173875f1302a
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Feb 26 12:03:55 2009 +1000
 
     drm/radeno: add support for r100 cp type 3 packets
 
-commit 62fb97e2a2e71f83c2c6c783f95a36ba19ec468f
+commit 6396d153c51a88225f48f32a06bf32f763976631
 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 7da8970a24bad69684fba5713106b3c7ab69c858
+commit 16b03d4bd01e196283b6022fcf9d1cfcd8a9dd8e
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Feb 25 16:06:30 2009 +1000
 
@@ -118,37 +172,37 @@
     
     Totally missed this before - really helps stability
[...2371 lines suppressed...]
-+		flags |= DRM_BO_FLAG_MEM_TT;
++		flags |= DRM_BO_FLAG_MEM_TT | cached;
 +	else
 +		flags |= DRM_BO_FLAG_MEM_LOCAL | DRM_BO_FLAG_CACHED;
 +
@@ -24802,17 +24964,22 @@
 +int radeon_gem_set_domain(struct drm_gem_object *obj, uint32_t read_domains, uint32_t write_domain, uint32_t *flags_p, bool unfenced)
 +{
 +	struct drm_radeon_gem_object *obj_priv;
++	drm_radeon_private_t *dev_priv = obj->dev->dev_private;
 +	uint32_t flags = 0;
 +	int ret;
++	uint32_t cached = 0;
 +
 +	obj_priv = obj->driver_private;
 +
++	if (!(dev_priv->flags & RADEON_IS_AGP))
++		cached = DRM_BO_FLAG_CACHED;
++
 +	/* work out where to validate the buffer to */
 +	if (write_domain) { /* write domains always win */
 +		if (write_domain == RADEON_GEM_DOMAIN_VRAM)
-+			flags = DRM_BO_FLAG_MEM_VRAM;
++			flags = DRM_BO_FLAG_MEM_VRAM | cached;
 +		else if (write_domain == RADEON_GEM_DOMAIN_GTT)
-+			flags = DRM_BO_FLAG_MEM_TT; // need a can write gart check
++			flags = DRM_BO_FLAG_MEM_TT | cached; // need a can write gart check
 +		else
 +			return -EINVAL; // we can't write to system RAM
 +	} else {
@@ -24830,22 +24997,22 @@
 +		
 +		/* simple case no choice in domains */
 +		if (read_domains == RADEON_GEM_DOMAIN_VRAM)
-+			flags = DRM_BO_FLAG_MEM_VRAM;
++			flags = DRM_BO_FLAG_MEM_VRAM | cached;
 +		else if (read_domains == RADEON_GEM_DOMAIN_GTT)
-+			flags = DRM_BO_FLAG_MEM_TT;
++			flags = DRM_BO_FLAG_MEM_TT | cached;
 +		else if ((obj_priv->bo->mem.mem_type == DRM_BO_MEM_VRAM) && (read_domains & RADEON_GEM_DOMAIN_VRAM))
-+			flags = DRM_BO_FLAG_MEM_VRAM;
++			flags = DRM_BO_FLAG_MEM_VRAM | cached;
 +		else if ((obj_priv->bo->mem.mem_type == DRM_BO_MEM_TT) && (read_domains & RADEON_GEM_DOMAIN_GTT))
-+			flags = DRM_BO_FLAG_MEM_TT;
++			flags = DRM_BO_FLAG_MEM_TT | cached;
 +		else if ((obj_priv->bo->mem.mem_type == DRM_BO_MEM_LOCAL) && (read_domains & RADEON_GEM_DOMAIN_GTT))
-+			flags = DRM_BO_FLAG_MEM_TT;
++			flags = DRM_BO_FLAG_MEM_TT | cached;
 +
 +		/* no idea here just set whatever we are input */
 +		if (flags == 0) {
 +			if (read_domains & RADEON_GEM_DOMAIN_VRAM)
-+				flags |= DRM_BO_FLAG_MEM_VRAM;
++				flags |= DRM_BO_FLAG_MEM_VRAM | cached;
 +			if (read_domains & RADEON_GEM_DOMAIN_GTT)
-+				flags |= DRM_BO_FLAG_MEM_TT;
++				flags |= DRM_BO_FLAG_MEM_TT | cached;
 +		}
 +	}
 +
@@ -24859,6 +25026,7 @@
 +	if (ret)
 +		return ret;
 +
++	flags &= ~cached;
 +	if (flags_p)
 +		*flags_p = flags;
 +	return 0;
@@ -25727,7 +25895,8 @@
 +	drm_bo_driver_init(dev);
 +
 +	/* use the uncached allocator */
-+	dev->bm.allocator_type = _DRM_BM_ALLOCATOR_UNCACHED;
++	if (dev_priv->flags & RADEON_IS_AGP)
++		dev->bm.allocator_type = _DRM_BM_ALLOCATOR_UNCACHED;
 +
 +	/* size the mappable VRAM memory for now */
 +	radeon_vram_setup(dev);
@@ -26571,7 +26740,7 @@
 +}
 +
 diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c
-index 8289e16..4d17023 100644
+index 9836c70..26ee45e 100644
 --- a/drivers/gpu/drm/radeon/radeon_irq.c
 +++ b/drivers/gpu/drm/radeon/radeon_irq.c
 @@ -195,11 +195,14 @@ irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS)
@@ -26589,7 +26758,7 @@
 +	}
  
  	/* VBLANK interrupt */
- 	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) {
+ 	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) {
 @@ -216,20 +219,23 @@ irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS)
  	return IRQ_HANDLED;
  }
@@ -29766,10 +29935,10 @@
 +
 diff --git a/drivers/gpu/drm/radeon/radeon_reg.h b/drivers/gpu/drm/radeon/radeon_reg.h
 new file mode 100644
-index 0000000..bb9ad4a
+index 0000000..9ccf839
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/radeon_reg.h
-@@ -0,0 +1,5335 @@
+@@ -0,0 +1,5337 @@
 +/*
 + * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
 + *                VA Linux Systems Inc., Fremont, California.
@@ -33431,6 +33600,7 @@
 +#define AVIVO_D1MODE_DATA_FORMAT                0x6528
 +#       define AVIVO_D1MODE_INTERLEAVE_EN       (1 << 0)
 +#define AVIVO_D1MODE_DESKTOP_HEIGHT             0x652C
++#define AVIVO_D1MODE_VLINE_START_END		0x6538
 +#define AVIVO_D1MODE_VIEWPORT_START             0x6580
 +#define AVIVO_D1MODE_VIEWPORT_SIZE              0x6584
 +#define AVIVO_D1MODE_EXT_OVERSCAN_LEFT_RIGHT    0x6588
@@ -33482,6 +33652,7 @@
 +#define AVIVO_D2CUR_SIZE                        0x6c10
 +#define AVIVO_D2CUR_POSITION                    0x6c14
 +
++#define AVIVO_D2MODE_VLINE_START_END            0x6d38
 +#define AVIVO_D2MODE_VIEWPORT_START             0x6d80
 +#define AVIVO_D2MODE_VIEWPORT_SIZE              0x6d84
 +#define AVIVO_D2MODE_EXT_OVERSCAN_LEFT_RIGHT    0x6d88
@@ -35106,7 +35277,7 @@
 +
 +#endif
 diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c
-index ca00cef..e6d0503 100644
+index fa728ec..6d96e7e 100644
 --- a/drivers/gpu/drm/radeon/radeon_state.c
 +++ b/drivers/gpu/drm/radeon/radeon_state.c
 @@ -305,8 +305,9 @@ static __inline__ int radeon_check_and_fixup_packet3(drm_radeon_private_t *
@@ -35544,7 +35715,7 @@
  #endif
 diff --git a/include/drm/drm_objects.h b/include/drm/drm_objects.h
 new file mode 100644
-index 0000000..604c8f8
+index 0000000..60016d6
 --- /dev/null
 +++ b/include/drm/drm_objects.h
 @@ -0,0 +1,913 @@
@@ -36446,12 +36617,12 @@
 +				void *virtual);
 +
 +/*
-+ * drm_uncached.c
++ * drm_page_alloc.
 + */
-+extern int drm_uncached_init(void);
-+extern void drm_uncached_fini(void);
-+extern struct page *drm_get_uncached_page(void);
-+extern void drm_put_uncached_page(struct page *page);
++extern int drm_page_alloc_init(void);
++extern void drm_page_alloc_fini(void);
++extern struct page *drm_get_page(int cached);
++extern void drm_put_page(struct page *page, int cached);
 +
 +#ifdef CONFIG_DEBUG_MUTEXES
 +#define DRM_ASSERT_LOCKED(_mutex)					\
@@ -36461,38 +36632,6 @@
 +#define DRM_ASSERT_LOCKED(_mutex)
 +#endif
 +#endif
-diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
-index 912cd52..9aeb426 100644
---- a/include/drm/i915_drm.h
-+++ b/include/drm/i915_drm.h
-@@ -187,7 +187,7 @@ typedef struct _drm_i915_sarea {
- 
- #define DRM_IOCTL_I915_INIT		DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
- #define DRM_IOCTL_I915_FLUSH		DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
--#define DRM_IOCTL_I915_FLIP		DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLIP)
-+#define DRM_IOCTL_I915_FLIP		DRM_IOW( DRM_COMMAND_BASE + DRM_I915_FLIP, drm_i915_flip_t)
- #define DRM_IOCTL_I915_BATCHBUFFER	DRM_IOW( DRM_COMMAND_BASE + DRM_I915_BATCHBUFFER, drm_i915_batchbuffer_t)
- #define DRM_IOCTL_I915_IRQ_EMIT         DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_IRQ_EMIT, drm_i915_irq_emit_t)
- #define DRM_IOCTL_I915_IRQ_WAIT         DRM_IOW( DRM_COMMAND_BASE + DRM_I915_IRQ_WAIT, drm_i915_irq_wait_t)
-@@ -220,6 +220,18 @@ typedef struct _drm_i915_sarea {
- #define DRM_IOCTL_I915_GEM_GET_TILING	DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling)
- #define DRM_IOCTL_I915_GEM_GET_APERTURE	DRM_IOR  (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture)
- 
-+/* Asynchronous page flipping:
-+ */
-+typedef struct drm_i915_flip {
-+	/*
-+	 * This is really talking about planes, and we could rename it
-+	 * except for the fact that some of the duplicated i915_drm.h files
-+	 * out there check for HAVE_I915_FLIP and so might pick up this
-+	 * version.
-+	 */
-+	int pipes;
-+} drm_i915_flip_t;
-+
- /* Allow drivers to submit batchbuffers directly to hardware, relying
-  * on the security mechanisms provided by hardware.
-  */
 diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
 index 937a275..f716e0a 100644
 --- a/include/drm/radeon_drm.h

drm-next.patch:

Index: drm-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/drm-next.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- drm-next.patch	1 Mar 2009 04:01:30 -0000	1.13
+++ drm-next.patch	10 Mar 2009 06:21:25 -0000	1.14
@@ -1,4 +1,88 @@
-commit afdecdb151030e719a95896b610fdbde0ad4ca9f
+commit 24011adb61c1510fdd9c7ec9a27fc1ac4b23f1bf
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 15:31:20 2009 +1000
+
+    drm/radeon: fix r600 writeback setup.
+    
+    This fixes 2 bugs:
+    1. the AGP calculation wasn't consistent with the PCI(E) calc for the
+    RPTR_ADDR registers. This consolidates the writes and fixes it up.
+    
+    2. The scratch address was being incorrectly calculated, this breaks
+    it out into a lot more linear steps.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit d2d31c9fe72bf4904798fd0d01522644e49dd518
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 12:47:18 2009 +1000
+
+    drm: fix warnings about new mappings in info code.
+    
+    This fixes up the warnings in the debugfs code that conflicted
+    with the mapping fixups.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 4ac16538732ad683c1e7c13cc569335a2db8b6c5
+Author: Hannes Eder <hannes at hanneseder.net>
+Date:   Thu Mar 5 20:14:18 2009 +0100
+
+    drm/radeon: NULL noise: drivers/gpu/drm/radeon/radeon_*.c
+    
+    Fix this sparse warning:
+      drivers/gpu/drm/radeon/r600_cp.c:1811:52: warning: Using plain integer as NULL pointer
+      drivers/gpu/drm/radeon/radeon_cp.c:1363:52: warning: Using plain integer as NULL pointer
+      drivers/gpu/drm/radeon/radeon_state.c:1983:61: warning: Using plain integer as NULL pointer
+    
+    Signed-off-by: Hannes Eder <hannes at hanneseder.net>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit ae0add29f05b2f5d22863eaefad106f2bb3919be
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 12:17:08 2009 +1000
+
+    drm/radeon: fix r600 pci mapping calls.
+    
+    This realigns the r600 pci mapping calls with the ati pcigart ones,
+    fixing the direction and using the correct interface.
+    
+    Suggested by Jerome Glisse.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 9cc01249240abd94eeba0792ad6fc509e7bf072e
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Sat Mar 7 18:21:21 2009 -0500
+
+    drm/radeon: r6xx/r7xx: fix possible oops in r600_page_table_cleanup()
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 8ebf7ff817d032d1f6a06da8b65149b3de049e14
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Mon Mar 9 12:12:28 2009 +1000
+
+    radeon: call the correct idle function, logic got inverted.
+    
+    This calls the correct idle function for the R600 and previous chips.
+    
+    Signed-off-by: Dave Airlie <airlied at redhat.com>
+
+commit 144a1136478cca4f3efe67787eec33ca07aec929
+Author: Alex Deucher <alexdeucher at gmail.com>
+Date:   Fri Mar 6 11:47:54 2009 -0500
+
+    drm/radeon: RS600: fix interrupt handling
+    
+    the checks weren't updated when RS600 support
+    was added.
+    
+    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
+    Signed-off-by: Dave Airlie <airlied at linux.ie>
+
+commit 664debb50231badbe84778f8945619e36555cd1d
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Feb 26 10:15:24 2009 +1000
 
@@ -6,7 +90,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit cc35bf2855020c4067e298cbd50fa5494b82ab7f
+commit 34aa4615a2cce35e46ef23b298c90afe4903f85d
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Feb 26 10:14:40 2009 +1000
 
@@ -16,7 +100,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 0101c60cfa2d6bd9e86524f267f8ba092bc7b0ae
+commit 840cd338857ead31f2c208f70cff2126b6838fd0
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Feb 26 10:13:47 2009 +1000
 
@@ -26,7 +110,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit c455abd7d1f5ed1815d692f37b317f8eab358ced
+commit ae18cf3a76471e058613a5a1256969b8cfd27128
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Feb 26 10:12:10 2009 +1000
 
@@ -38,7 +122,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 89de134be815fe9e30ca42aeac8a4ef5c8db8d30
+commit c79813faebe755991896c699773f50851c670d4c
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Wed Feb 25 17:02:19 2009 -0500
 
@@ -47,7 +131,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 8dba4f2bd6d91a38a732dc3417187b75a6607e62
+commit a7f4943d120ba4c45cff2bd22883f598024a08dc
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Wed Feb 25 16:57:49 2009 -0500
 
@@ -60,7 +144,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit e482e2e2c5dab12db6f1aa032c30993ca36d77b9
+commit b7fd19e6342c5f2522ec35dec0a92c8069813255
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Wed Feb 25 15:55:01 2009 -0500
 
@@ -71,7 +155,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit dbcce50efba41272d795b64edd06b1261dbdc5b8
+commit 393f865abfb61363ba117cb0c3ea5032bc0a3a3c
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Feb 24 17:13:42 2009 -0500
 
@@ -80,7 +164,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 69184db08c49fd54d4e3a197dae64581c35a144f
+commit 6b3287c090c2c3eee993a96886f2f597c9e6ccfa
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Feb 24 16:22:29 2009 -0500
 
@@ -92,7 +176,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit b95ec10efe0bb8a106c6ab4edc019033c5081d3d
+commit e5a4f4a67d0e886b68ebb122b9282289bf9d6d7f
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Feb 24 14:28:34 2009 -0500
 
@@ -107,7 +191,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 1e7e66e6dce44a77d4042b80de23c8ba4346c459
+commit 0c9f2a4eb40612b22c4bb32b9fe9bcbb82c99e10
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Tue Feb 24 14:02:13 2009 -0500
 
@@ -120,7 +204,7 @@
     Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 9cb39ece1f32fe75e7c34b193022650108d4bf0f
+commit 3d802792f818036520ab805ded2904a749af4a48
 Author: Owain G. Ainsworth <oga at openbsd.org>
 Date:   Fri Feb 20 08:30:19 2009 +0000
 
@@ -138,7 +222,7 @@
     Signed-off-by: Eric Anholt <eric at anholt.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 5e60aaba5c9d226ec49f4c1030fc871bcea86048
+commit 088b364ce837e5b1fc8dd022bb5f98c8f3d96e3c
 Author: Chris Wilson <chris at chris-wilson.co.uk>
 Date:   Wed Feb 11 14:26:38 2009 +0000
 
@@ -148,7 +232,7 @@
     Signed-off-by: Eric Anholt <eric at anholt.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 475f933c677b8c59f34744aed2fc3bdcbec24c6e
+commit b884af03178e5cd139c8f566090ce763fb9e3a2b
 Author: Eric Anholt <eric at anholt.net>
 Date:   Tue Feb 17 23:53:41 2009 -0800
 
@@ -161,7 +245,7 @@
     Signed-off-by: Eric Anholt <eric at anholt.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit b4212836fef1ef28c6070f43d70fc73f9f5687f6
+commit ceeb73a867fe64a1de124cd3e9d776e89944f940
 Author: Ben Gamari <bgamari at gmail.com>
 Date:   Tue Feb 17 20:08:51 2009 -0500
 
@@ -174,7 +258,7 @@
     Signed-off-by: Eric Anholt <eric at anholt.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit a584bb1ed4de35a9206a8ed42fc7de18b3d46b5a
+commit b1645221d43bbfab70c5c5cfdc9e9733e380fca0
 Author: Ben Gamari <bgamari at gmail.com>
 Date:   Tue Feb 17 20:08:49 2009 -0500
 
@@ -194,7 +278,7 @@
     Signed-off-by: Eric Anholt <eric at anholt.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit edd3993997087102558fd2dbad9d69f8936faf46
+commit d4b25b68f700e27a09c0c5a372c6ee5c1ec45b8e
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 20 13:28:59 2009 +1000
 
@@ -204,7 +288,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit d372535cb04702f5a631c9fc4d0a05c82a17f9b9
+commit 0c37ea7ccc5dabc1cd53780ae4600c6d0644b9f3
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Feb 20 13:28:34 2009 +1000
 
@@ -217,7 +301,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit ee97e09a8955f2c7c97142f53f259521a6366f95
+commit f7d0d89cc8da1e1ca489d5df3df68b00c0dd59d4
 Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
 Date:   Fri Feb 6 16:46:27 2009 +1100
 
@@ -229,7 +313,7 @@
     Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit caa35ced56886af48fbefd52e524267565c474db
+commit e22139bc821f295d25c0eddbeb65facf1f395458
 Author: David Miller <davem at davemloft.net>
 Date:   Wed Feb 18 01:35:21 2009 -0800
 
@@ -244,7 +328,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 57c23ac2439fb3d63063803c1525e1797b7952cb
+commit 85cee125f1756aeaa35e02db01987a0a4a5db909
 Author: David Miller <davem at davemloft.net>
 Date:   Wed Feb 18 01:35:23 2009 -0800
 
@@ -260,7 +344,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 61d7dc858751fa8134b10c21b2d79956a752f96d
+commit 37d1de5730f78a682a19a47f83893e6116a65325
 Author: David Miller <davem at davemloft.net>
 Date:   Wed Feb 18 15:41:02 2009 -0800
 
@@ -298,7 +382,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit ed19a4b6caeabf3e03a4d553da0396eaebf76531
+commit ddaf8998790ba8d389859fa6420c7da38db91191
 Author: David Miller <davem at davemloft.net>
 Date:   Sun Feb 15 01:08:07 2009 -0800
 
@@ -316,7 +400,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 303ba2de4375c08154f7636087161f8d68977833
+commit 1a531c0b82db724bf802f5e100c2c2fc08d54459
 Author: David Miller <davem at davemloft.net>
 Date:   Sat Feb 14 01:51:07 2009 -0800
 
@@ -338,7 +422,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 75af28fa5949ac848ca383238212bcb9466a50db
+commit 7c5627f23a200c4ab9563b0f1fcfc6984be6ce0b
 Author: David Miller <davem at davemloft.net>
 Date:   Thu Feb 12 02:15:44 2009 -0800
 
@@ -350,7 +434,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 15c128115096c24076739d0601532b6890482596
+commit 0a5bd3c5c690560a24886d25c5031291c0efbc35
 Author: David Miller <davem at davemloft.net>
 Date:   Thu Feb 12 02:15:39 2009 -0800
 
@@ -362,7 +446,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit dad8df8c4dfbbf5dfaaed08f61b589ada484a755
+commit 557d71764de798c60cc504f678aaf66a01374860
 Author: David Miller <davem at davemloft.net>
 Date:   Thu Feb 12 02:15:37 2009 -0800
 
@@ -385,7 +469,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 1b80a560c76a15813969bc79f8bef4f2324407f1
+commit 2a2aba5d992576a6d73666be1e5ef0248b7a5c1b
 Author: David Miller <davem at davemloft.net>
 Date:   Thu Feb 12 02:15:34 2009 -0800
 
@@ -402,7 +486,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit a1971853c7d82fc14eff895757b5e093c1d6c0b5
+commit f087a3713864f4d3bba746cb70aaebbf9ee1e13f
 Author: David Miller <davem at davemloft.net>
 Date:   Thu Feb 12 02:15:27 2009 -0800
 
@@ -423,7 +507,7 @@
     Signed-off-by: David S. Miller <davem at davemloft.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit cfc0cec3a58d760f0adaef295e9bef5b2b994a69
+commit 928278d2dfc9e3d1af52dd037c13693add544501
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Mon Jan 5 16:10:05 2009 -0500
 
@@ -442,7 +526,7 @@
     Signed-off-by: Kristian Høgsberg <krh at redhat.com>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit f258389e5a3dde1962f246ea8d893d41059a61d7
+commit 2c3a4c2e0f4127adbf9cecb473f2ac4576d289aa
 Author: Kristian Høgsberg <krh at bitplanet.net>
 Date:   Sun Jan 4 16:55:33 2009 -0500
 
@@ -456,7 +540,7 @@
     Signed-off-by: Kristian Høgsberg <krh at redhat.com>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 0de5ea62f39de56d2d5513b35d6b9d8df9a66e45
+commit 731b22a5b708f10e45847007a8d786568cb8becc
 Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
 Date:   Mon Feb 2 16:55:47 2009 +1100
 
@@ -483,7 +567,7 @@
     Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit b5fb48f9b87f1955f00a3651c5104d62381ab50d
+commit 3365ed3f4b72d9eaecc7a67ff0f3078c9053806d
 Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
 Date:   Mon Feb 2 16:55:46 2009 +1100
 
@@ -514,7 +598,7 @@
     Acked-by: Eric Anholt <eric at anholt.net>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 1262fdc859fc25e03ce7631daa0d2b50399b3a64
+commit 2d072cd331fb6434406977ac3bbe7a58589f5cca
 Author: Benjamin Herrenschmidt <benh at kernel.crashing.org>
 Date:   Mon Feb 2 16:55:45 2009 +1100
 
@@ -645,7 +729,7 @@
  		}
  	}
 diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
-index 72c667f..445c762 100644
+index 12715d3..6d80d17 100644
 --- a/drivers/gpu/drm/drm_bufs.c
 +++ b/drivers/gpu/drm/drm_bufs.c
 @@ -34,15 +34,17 @@
@@ -1330,7 +1414,7 @@
  	unsigned long prot;
 diff --git a/drivers/gpu/drm/drm_info.c b/drivers/gpu/drm/drm_info.c
 new file mode 100644
-index 0000000..fc98952
+index 0000000..60a1b6c
 --- /dev/null
 +++ b/drivers/gpu/drm/drm_info.c
 @@ -0,0 +1,328 @@
@@ -1408,7 +1492,7 @@
 +{
 +	struct drm_info_node *node = (struct drm_info_node *) m->private;
 +	struct drm_device *dev = node->minor->dev;
-+	struct drm_map *map;
++	struct drm_local_map *map;
 +	struct drm_map_list *r_list;
 +
 +	/* Hardcoded from _DRM_FRAME_BUFFER,
@@ -1430,9 +1514,9 @@
 +		else
 +			type = types[map->type];
 +
-+		seq_printf(m, "%4d 0x%08lx 0x%08lx %4.4s  0x%02x 0x%08lx ",
++		seq_printf(m, "%4d 0x%016llx 0x%08lx %4.4s  0x%02x 0x%08lx ",
 +			   i,
-+			   map->offset,
++			   (unsigned long long)map->offset,
 +			   map->size, type, map->flags,
 +			   (unsigned long) r_list->user_token);
 +		if (map->mtrr < 0)
@@ -2535,7 +2619,7 @@
 -}
 -#endif
 diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
-index 46bb923..7c41600 100644
+index 7c8b15b..d009661 100644
 --- a/drivers/gpu/drm/drm_stub.c
 +++ b/drivers/gpu/drm/drm_stub.c
 @@ -50,6 +50,7 @@ struct idr drm_minors_idr;
@@ -2546,7 +2630,7 @@
  
  static int drm_minor_get_id(struct drm_device *dev, int type)
  {
-@@ -321,7 +322,15 @@ static int drm_get_minor(struct drm_device *dev, struct drm_minor **minor, int t
+@@ -313,7 +314,15 @@ static int drm_get_minor(struct drm_device *dev, struct drm_minor **minor, int t
  			goto err_mem;
  		}
  	} else
@@ -2563,7 +2647,7 @@
  
  	ret = drm_sysfs_device_add(new_minor);
  	if (ret) {
-@@ -380,6 +389,7 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
+@@ -372,6 +381,7 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  	}
  
  	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
@@ -2571,7 +2655,7 @@
  		ret = drm_get_minor(dev, &dev->control, DRM_MINOR_CONTROL);
  		if (ret)
  			goto err_g2;
-@@ -403,9 +413,9 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
+@@ -395,9 +405,9 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  
  	list_add_tail(&dev->driver_item, &driver->device_list);
  
@@ -2583,7 +2667,7 @@
  
  	return 0;
  
-@@ -417,29 +427,7 @@ err_g1:
+@@ -409,29 +419,7 @@ err_g1:
  	drm_free(dev, sizeof(*dev), DRM_MEM_STUB);
  	return ret;
  }
@@ -2614,7 +2698,7 @@
  
  /**
   * Put a secondary minor number.
-@@ -459,6 +447,10 @@ int drm_put_minor(struct drm_minor **minor_p)
+@@ -451,6 +439,10 @@ int drm_put_minor(struct drm_minor **minor_p)
  
  	if (minor->type == DRM_MINOR_LEGACY)
  		drm_proc_cleanup(minor, drm_proc_root);
@@ -2625,7 +2709,7 @@
  	drm_sysfs_device_remove(minor);
  
  	idr_remove(&drm_minors_idr, minor->index);
-@@ -467,3 +459,67 @@ int drm_put_minor(struct drm_minor **minor_p)
+@@ -459,3 +451,67 @@ int drm_put_minor(struct drm_minor **minor_p)
  	*minor_p = NULL;
  	return 0;
  }
@@ -2927,7 +3011,7 @@
  	  intel_display.o \
  	  intel_crt.o \
 diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index cc46495..27ef79a 100644
+index 6dab63b..7fecc6d 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -1057,7 +1057,7 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master)
@@ -3837,10 +3921,10 @@
  	cmdbuf->bufsz -= sizeof(u64);
 diff --git a/drivers/gpu/drm/radeon/r600_cp.c b/drivers/gpu/drm/radeon/r600_cp.c
 new file mode 100644
-index 0000000..37249b2
+index 0000000..04fde35
 --- /dev/null
 +++ b/drivers/gpu/drm/radeon/r600_cp.c
-@@ -0,0 +1,2244 @@
+@@ -0,0 +1,2256 @@
 +/*
 + * Copyright 2008-2009 Advanced Micro Devices, Inc.
 + * Copyright 2008 Red Hat Inc.
@@ -3964,6 +4048,9 @@
 +	int pages;
 +	int i;
 +
++	if (!entry)
++		return;
++
 +	if (gart_info->bus_addr) {
 +		max_pages = (gart_info->table_size / sizeof(u32));
 +		pages = (entry->pages <= max_pages)
@@ -3972,8 +4059,8 @@
 +		for (i = 0; i < pages; i++) {
 +			if (!entry->busaddr[i])
 +				break;
-+			pci_unmap_single(dev->pdev, entry->busaddr[i],
-+					 PAGE_SIZE, PCI_DMA_TODEVICE);
++			pci_unmap_page(dev->pdev, entry->busaddr[i],
++				       PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
 +		}
 +		if (gart_info->gart_table_location == DRM_ATI_GART_MAIN)
 +			gart_info->bus_addr = 0;
@@ -4005,10 +4092,10 @@
 +
 +	gart_idx = 0;
 +	for (i = 0; i < pages; i++) {
-+		entry->busaddr[i] = pci_map_single(dev->pdev,
-+						   page_address(entry->
-+								pagelist[i]),
-+						   PAGE_SIZE, PCI_DMA_TODEVICE);
++		entry->busaddr[i] = pci_map_page(dev->pdev,
++						 entry->pagelist[i], 0,
++						 PAGE_SIZE,
++						 PCI_DMA_BIDIRECTIONAL);
 +		if (entry->busaddr[i] == 0) {
 +			DRM_ERROR("unable to map PCIGART pages!\n");
 +			r600_page_table_cleanup(dev, gart_info);
@@ -5470,6 +5557,7 @@
 +{
 +	struct drm_radeon_master_private *master_priv;
 +	u32 ring_start;
++	u64 rptr_addr;
 +
 +	if (((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV770))
 +		r700_gfx_init(dev, dev_priv);
@@ -5524,21 +5612,20 @@
 +
 +#if __OS_HAS_AGP
 +	if (dev_priv->flags & RADEON_IS_AGP) {
-+		/* XXX */
-+		RADEON_WRITE(R600_CP_RB_RPTR_ADDR,
-+			     (dev_priv->ring_rptr->offset
-+			     - dev->agp->base + dev_priv->gart_vm_start) >> 8);
-+		RADEON_WRITE(R600_CP_RB_RPTR_ADDR_HI, 0);
++		rptr_addr = dev_priv->ring_rptr->offset
++			- dev->agp->base +
++			dev_priv->gart_vm_start;
 +	} else
 +#endif
 +	{
-+		RADEON_WRITE(R600_CP_RB_RPTR_ADDR,
-+			     dev_priv->ring_rptr->offset
-+			     - ((unsigned long) dev->sg->virtual)
-+			     + dev_priv->gart_vm_start);
-+
-+		RADEON_WRITE(R600_CP_RB_RPTR_ADDR_HI, 0);
-+	}
++		rptr_addr = dev_priv->ring_rptr->offset
++			- ((unsigned long) dev->sg->virtual)
++			+ dev_priv->gart_vm_start;
++	}
++	RADEON_WRITE(R600_CP_RB_RPTR_ADDR,
++		     rptr_addr & 0xffffffff);
++	RADEON_WRITE(R600_CP_RB_RPTR_ADDR_HI,
++		     upper_32_bits(rptr_addr));
 +
 +#ifdef __BIG_ENDIAN
 +	RADEON_WRITE(R600_CP_RB_CNTL,
@@ -5587,8 +5674,17 @@
 +	 * We simply put this behind the ring read pointer, this works
 +	 * with PCI GART as well as (whatever kind of) AGP GART
 +	 */
-+	RADEON_WRITE(R600_SCRATCH_ADDR, ((RADEON_READ(R600_CP_RB_RPTR_ADDR) << 8)
-+					 + R600_SCRATCH_REG_OFFSET) >> 8);
++	{
++		u64 scratch_addr;
++
++		scratch_addr = RADEON_READ(R600_CP_RB_RPTR_ADDR);
++		scratch_addr |= ((u64)RADEON_READ(R600_CP_RB_RPTR_ADDR_HI)) << 32;
++		scratch_addr += R600_SCRATCH_REG_OFFSET;
++		scratch_addr >>= 8;
++		scratch_addr &= 0xffffffff;
++
++		RADEON_WRITE(R600_SCRATCH_ADDR, (uint32_t)scratch_addr);
++	}
 +
 +	RADEON_WRITE(R600_SCRATCH_UMSK, 0x7);
 +
@@ -5651,7 +5747,7 @@
 +
 +		if (dev_priv->gart_info.gart_table_location == DRM_ATI_GART_FB) {
 +			drm_core_ioremapfree(&dev_priv->gart_info.mapping, dev);
-+			dev_priv->gart_info.addr = 0;
++			dev_priv->gart_info.addr = NULL;
 +		}
 +	}
 +	/* only clear to the start of flags */
@@ -29389,7 +29485,7 @@
 +
 +#endif
 diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c
-index 92965db..15cfe56 100644
+index 92965db..6f579a8 100644
 --- a/drivers/gpu/drm/radeon/radeon_cp.c
 +++ b/drivers/gpu/drm/radeon/radeon_cp.c
 @@ -43,6 +43,78 @@
@@ -29922,7 +30018,7 @@
  		/* Turn on PCI GART */
  		radeon_set_pcigart(dev_priv, 1);
  	}
-@@ -1268,8 +1530,12 @@ static int radeon_do_cleanup_cp(struct drm_device * dev)
+@@ -1268,14 +1530,18 @@ static int radeon_do_cleanup_cp(struct drm_device * dev)
  		if (dev_priv->gart_info.bus_addr) {
  			/* Turn off PCI GART */
  			radeon_set_pcigart(dev_priv, 0);
@@ -29937,6 +30033,13 @@
  		}
  
  		if (dev_priv->gart_info.gart_table_location == DRM_ATI_GART_FB)
+ 		{
+ 			drm_core_ioremapfree(&dev_priv->gart_info.mapping, dev);
+-			dev_priv->gart_info.addr = 0;
++			dev_priv->gart_info.addr = NULL;
+ 		}
+ 	}
+ 	/* only clear to the start of flags */
 @@ -1326,6 +1592,7 @@ static int radeon_do_resume_cp(struct drm_device *dev, struct drm_file *file_pri
  
  int radeon_cp_init(struct drm_device *dev, void *data, struct drm_file *file_priv)
@@ -30009,7 +30112,7 @@
  			/* Stop the cp */
 -			while ((ret = radeon_do_cp_idle(dev_priv)) != 0) {
 -				DRM_DEBUG("radeon_do_cp_idle %d\n", ret);
-+			if ((dev_priv->flags & RADEON_FAMILY_MASK) < CHIP_R600) {
++			if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) {
 +				while ((ret = r600_do_cp_idle(dev_priv)) != 0) {
 +					DRM_DEBUG("radeon_do_cp_idle %d\n", ret);
 +#ifdef __linux__
@@ -30195,10 +30298,10 @@
 +	}
 +}
 diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
-index fef2078..1e3b255 100644
+index fef2078..2cb4f32 100644
 --- a/drivers/gpu/drm/radeon/radeon_drv.c
 +++ b/drivers/gpu/drm/radeon/radeon_drv.c
-@@ -41,17 +41,6 @@ int radeon_no_wb;
+@@ -41,23 +41,12 @@ int radeon_no_wb;
  MODULE_PARM_DESC(no_wb, "Disable AGP writeback for scratch registers");
  module_param_named(no_wb, radeon_no_wb, int, 0444);
  
@@ -30216,6 +30319,22 @@
  static int radeon_suspend(struct drm_device *dev, pm_message_t state)
  {
  	drm_radeon_private_t *dev_priv = dev->dev_private;
+ 
+ 	/* Disable *all* interrupts */
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690)
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
+ 		RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
+ 	RADEON_WRITE(RADEON_GEN_INT_CNTL, 0);
+ 	return 0;
+@@ -68,7 +57,7 @@ static int radeon_resume(struct drm_device *dev)
+ 	drm_radeon_private_t *dev_priv = dev->dev_private;
+ 
+ 	/* Restore interrupt registers */
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690)
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
+ 		RADEON_WRITE(R500_DxMODE_INT_MASK, dev_priv->r500_disp_irq_reg);
+ 	RADEON_WRITE(RADEON_GEN_INT_CNTL, dev_priv->irq_enable_reg);
+ 	return 0;
 @@ -95,7 +84,6 @@ static struct drm_driver driver = {
  	.get_vblank_counter = radeon_get_vblank_counter,
  	.enable_vblank = radeon_enable_vblank,
@@ -31044,8 +31163,75 @@
  
  #define OUT_RING( x ) do {						\
  	if ( RADEON_VERBOSE ) {						\
+diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c
+index 8289e16..9836c70 100644
+--- a/drivers/gpu/drm/radeon/radeon_irq.c
++++ b/drivers/gpu/drm/radeon/radeon_irq.c
+@@ -65,7 +65,7 @@ int radeon_enable_vblank(struct drm_device *dev, int crtc)
+ {
+ 	drm_radeon_private_t *dev_priv = dev->dev_private;
+ 
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) {
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) {
+ 		switch (crtc) {
+ 		case 0:
+ 			r500_vbl_irq_set_state(dev, R500_D1MODE_INT_MASK, 1);
+@@ -100,7 +100,7 @@ void radeon_disable_vblank(struct drm_device *dev, int crtc)
+ {
+ 	drm_radeon_private_t *dev_priv = dev->dev_private;
+ 
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) {
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) {
+ 		switch (crtc) {
+ 		case 0:
+ 			r500_vbl_irq_set_state(dev, R500_D1MODE_INT_MASK, 0);
+@@ -135,7 +135,7 @@ static inline u32 radeon_acknowledge_irqs(drm_radeon_private_t *dev_priv, u32 *r
+ 	u32 irq_mask = RADEON_SW_INT_TEST;
+ 
+ 	*r500_disp_int = 0;
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) {
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) {
+ 		/* vbl interrupts in a different place */
+ 
+ 		if (irqs & R500_DISPLAY_INT_STATUS) {
+@@ -202,7 +202,7 @@ irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS)
+ 		DRM_WAKEUP(&dev_priv->swi_queue);
+ 
+ 	/* VBLANK interrupt */
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) {
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) {
+ 		if (r500_disp_int & R500_D1_VBLANK_INTERRUPT)
+ 			drm_handle_vblank(dev, 0);
+ 		if (r500_disp_int & R500_D2_VBLANK_INTERRUPT)
+@@ -265,7 +265,7 @@ u32 radeon_get_vblank_counter(struct drm_device *dev, int crtc)
+ 		return -EINVAL;
+ 	}
+ 
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690) {
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600) {
+ 		if (crtc == 0)
+ 			return RADEON_READ(R500_D1CRTC_FRAME_COUNT);
+ 		else
+@@ -327,7 +327,7 @@ void radeon_driver_irq_preinstall(struct drm_device * dev)
+ 	u32 dummy;
+ 
+ 	/* Disable *all* interrupts */
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690)
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
+ 		RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
+ 	RADEON_WRITE(RADEON_GEN_INT_CNTL, 0);
+ 
+@@ -357,7 +357,7 @@ void radeon_driver_irq_uninstall(struct drm_device * dev)
+ 	if (!dev_priv)
+ 		return;
+ 
+-	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS690)
++	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RS600)
+ 		RADEON_WRITE(R500_DxMODE_INT_MASK, 0);
+ 	/* Disable *all* interrupts */
+ 	RADEON_WRITE(RADEON_GEN_INT_CNTL, 0);
 diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c
-index ef940a0..ca00cef 100644
+index ef940a0..fa728ec 100644
 --- a/drivers/gpu/drm/radeon/radeon_state.c
 +++ b/drivers/gpu/drm/radeon/radeon_state.c
 @@ -1556,9 +1556,15 @@ static void radeon_cp_discard_buffer(struct drm_device *dev, struct drm_master *
@@ -31067,6 +31253,15 @@
  
  	buf->pending = 1;
  	buf->used = 0;
+@@ -1980,7 +1986,7 @@ static int alloc_surface(drm_radeon_surface_alloc_t *new,
+ 
+ 	/* find a virtual surface */
+ 	for (i = 0; i < 2 * RADEON_MAX_SURFACES; i++)
+-		if (dev_priv->virt_surfaces[i].file_priv == 0)
++		if (dev_priv->virt_surfaces[i].file_priv == NULL)
+ 			break;
+ 	if (i == 2 * RADEON_MAX_SURFACES) {
+ 		return -1;
 @@ -2473,24 +2479,25 @@ static int radeon_cp_indirect(struct drm_device *dev, void *data, struct drm_fil
  
  	buf->used = indirect->end;


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1283
retrieving revision 1.1284
diff -u -r1.1283 -r1.1284
--- kernel.spec	4 Mar 2009 06:53:39 -0000	1.1283
+++ kernel.spec	10 Mar 2009 06:21:25 -0000	1.1284
@@ -57,7 +57,7 @@
 # The rc snapshot level
 %define rcrev 7
 # The git snapshot level
-%define gitrev 0
+%define gitrev 3
 # Set rpm version accordingly
 %define rpmversion 2.6.%{upstream_sublevel}
 %endif
@@ -1767,6 +1767,10 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Tue Mar 10 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-0.54.rc7.git3
+- 2.6.29-rc7-git3
+- Copy drm-modesetting-radeon and drm-next patches from rawhide.
+
 * Wed Mar 04 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-0.53.rc7
 - 2.6.29-rc7
 - Disable CONFIG_GEF_SBC610 on powerpc to fix USB detection (F10#486511)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/sources,v
retrieving revision 1.956
retrieving revision 1.957
diff -u -r1.956 -r1.957
--- sources	4 Mar 2009 06:53:40 -0000	1.956
+++ sources	10 Mar 2009 06:21:27 -0000	1.957
@@ -1,2 +1,3 @@
 d351e44709c9810b85e29b877f50968a  linux-2.6.28.tar.bz2
 9404c2ead603a80a3aad6361b5fc5413  patch-2.6.29-rc7.bz2
+4ed646718fc5684d63e6e9015b7d02a6  patch-2.6.29-rc7-git3.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/upstream,v
retrieving revision 1.867
retrieving revision 1.868
diff -u -r1.867 -r1.868
--- upstream	4 Mar 2009 06:53:40 -0000	1.867
+++ upstream	10 Mar 2009 06:21:27 -0000	1.868
@@ -1,2 +1,4 @@
 linux-2.6.28.tar.bz2
 patch-2.6.29-rc7.bz2
+patch-2.6.29-rc7-git3.bz2
+




More information about the fedora-extras-commits mailing list