rpms/kernel/devel kernel.spec, 1.514, 1.515 linux-2.6-drm-git-mm.patch, 1.2, 1.3 linux-2.6-drm-i915-modeset.patch, 1.5, 1.6 nouveau-drm.patch, 1.9, 1.10 linux-2.6-drm-git-i915-remove-priv-access.patch, 1.1, NONE linux-2.6-drm-git-mm-revert-nopfn.patch, 1.1, NONE

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Thu Mar 20 06:07:33 UTC 2008


Author: airlied

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

Modified Files:
	kernel.spec linux-2.6-drm-git-mm.patch 
	linux-2.6-drm-i915-modeset.patch nouveau-drm.patch 
Removed Files:
	linux-2.6-drm-git-i915-remove-priv-access.patch 
	linux-2.6-drm-git-mm-revert-nopfn.patch 
Log Message:
* Thu Mar 20 2008 Dave Airlie <airlied at redhat.com>
- bring back drm modeset



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.514
retrieving revision 1.515
diff -u -r1.514 -r1.515
--- kernel.spec	19 Mar 2008 20:57:06 -0000	1.514
+++ kernel.spec	20 Mar 2008 06:06:41 -0000	1.515
@@ -608,8 +608,6 @@
 # nouveau + drm fixes
 Patch1801: linux-2.6-drm-git-mm.patch
 Patch1803: nouveau-drm.patch
-Patch1804: linux-2.6-drm-git-mm-revert-nopfn.patch
-Patch1805: linux-2.6-drm-git-i915-remove-priv-access.patch
 Patch1806: linux-2.6-drm-i915-modeset.patch
 
 # kludge to make ich9 e1000 work
@@ -1108,11 +1106,9 @@
 ApplyPatch linux-2.6-netdev-atl2.patch
 
 # Nouveau DRM + drm fixes
-#ApplyPatch linux-2.6-drm-git-mm.patch
-#ApplyPatch nouveau-drm.patch
-#ApplyPatch linux-2.6-drm-git-mm-revert-nopfn.patch
-ApplyPatch linux-2.6-drm-git-i915-remove-priv-access.patch
-#ApplyPatch linux-2.6-drm-i915-modeset.patch
+ApplyPatch linux-2.6-drm-git-mm.patch
+ApplyPatch nouveau-drm.patch
+ApplyPatch linux-2.6-drm-i915-modeset.patch
 
 # ext4dev stable patch queue, slated for 2.6.25
 #ApplyPatch linux-2.6-ext4-stable-queue.patch
@@ -1724,6 +1720,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Thu Mar 20 2008 Dave Airlie <airlied at redhat.com>
+- bring back drm modeset
+
 * Wed Mar 19 2008 Roland McGrath <roland at redhat.com>
 - utrace is back, rebased
 

linux-2.6-drm-git-mm.patch:

Index: linux-2.6-drm-git-mm.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-drm-git-mm.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-drm-git-mm.patch	29 Feb 2008 02:11:08 -0000	1.2
+++ linux-2.6-drm-git-mm.patch	20 Mar 2008 06:06:41 -0000	1.3
@@ -1,4 +1,4 @@
-commit 9ad1ccf9cff8aa911d965c94b83187b50c459d43
+commit 60abdfdecf0163fb3da7dc152c7d22179029badd
 Author: Xiang, Haihao <haihao.xiang at intel.com>
 Date:   Fri Feb 29 12:07:01 2008 +1000
 
@@ -6,7 +6,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit aa0e20c041614319ff66a40c5f70a9f7eae01fbc
+commit f6f86ba80ca643b826a48d0a811e5dd644c7349e
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 12:05:48 2008 +1000
 
@@ -20,7 +20,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 9c005b094ecada32e04e0b9ebdcfe3ab47fe86b7
+commit f50888eab3d965aedbd27ec512a40db465e8b4d9
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 11:53:45 2008 +1000
 
@@ -30,7 +30,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 35c64f7d95512505400849241605d26b9a9801b4
+commit 64c84bc78cf57bf5b028cda9d9dc09431aabff4b
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 11:49:39 2008 +1000
 
@@ -41,7 +41,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit ae0806d80764d8ae63e74a5d7e3921a532d61d14
+commit 9ad34ad2452af7780ddad11c1157cd24ef42f471
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 11:41:36 2008 +1000
 
@@ -53,7 +53,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit e3d3d4c7421a2277be24254524f56e17419c1449
+commit 2f620305d4f7b28e9403d34caecafc639bea69ed
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Fri Feb 29 11:38:20 2008 +1000
 
@@ -63,7 +63,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit e1a98c2e5dd333becd47e188cf66093e1a86f41b
+commit b45d673ed96c158d37bb476dd0f92246427b1541
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Fri Feb 29 11:35:21 2008 +1000
 
@@ -71,7 +71,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 70a1de5ac59b59cb8f7c1d08ce455374785bca05
+commit 0d543148472264c8ad2ccbd145f953c3412a7396
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Fri Feb 29 11:31:08 2008 +1000
 
@@ -79,7 +79,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 047243f9c142c599d1ab82991a5a0a8dd0170bb8
+commit f7890c94ebabe07b3f7365526045c741dc4d3d8b
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Fri Feb 29 11:30:26 2008 +1000
 
@@ -87,7 +87,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit b57dde526e116f14a5697b5c0d9697493baa2d5d
+commit 28cd0c8c93179e272d76f327efffcf719ef85846
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Fri Feb 29 11:29:42 2008 +1000
 
@@ -95,7 +95,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 3cb77dd7f3974fc64de6ec3859c970b9b9ddd1fc
+commit f68e6c81fe11cf44a7b5db1ae7b3bc854f6d2e3e
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 11:27:30 2008 +1000
 
@@ -106,7 +106,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 0f066ed26802ff65965f7b29346cec98921c2b29
+commit 3fdbfb6b0a7c3f839424e768cd3bf137d8993bf6
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 11:02:23 2008 +1000
 
@@ -114,7 +114,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit e927ccfe2905d680b4217fc6af17c9c1ff86ebef
+commit 3ffa46ff70b9e3128e4f297f05a0b48e8656588c
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Fri Feb 29 10:57:18 2008 +1000
 
@@ -124,7 +124,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit ae0bdbd7e1d02e978323640256125f8a5391510a
+commit d049bd7aa94ab159227d214b17da9aa6f5114b7e
 Author: Nick Piggin <npiggin at suse.de>
 Date:   Thu Feb 7 16:29:15 2008 +1000
 
@@ -136,7 +136,7 @@
     Signed-off-by: Nick Piggin <npiggin at suse.de>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 29403da6adea71d155a4c3ad0923cd7c86f0bf9e
+commit f35f0fbc2dd85a4c0865ef0dcb6724c7b863a94c
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Feb 7 16:21:57 2008 +1000
 
@@ -144,7 +144,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit b691c8da4038e0e01fb3beaa06bf21468c8dd0f0
+commit adb114cd5ebd47beb4b6108e51c266a6aa118840
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Jan 25 11:36:39 2008 +1000
 
@@ -156,7 +156,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 222a41948d2a1f454c7f978f3c3f18dc25061216
+commit 472d4dc9ecc22480dcd99e96d77e47fec0e99f1c
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Fri Jan 25 11:05:59 2008 +1000
 
@@ -164,7 +164,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 046fd35ec86a5744b6a1073e47fd7fea1ab0c553
+commit de12324c869d2d5d6918c5e5c5752ded2e188492
 Author: Kyle McMartin <kyle at mcmartin.ca>
 Date:   Thu Jan 24 16:48:24 2008 +1000
 
@@ -178,7 +178,7 @@
     Signed-off-by: Kyle McMartin <kmcmartin at redhat.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 9f32218d9b003af5206d9e0c280a2bcff19ee125
+commit 88bf3e11fdde2d8b7deeb80e088a32aed697e9a8
 Author: Eric Anholt <eric at anholt.net>
 Date:   Thu Jan 24 16:47:28 2008 +1000
 
@@ -186,7 +186,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 9149865182a2edf9e62ad290bbe93521f1c00372
+commit e880b462be59edb1b66dbfe783faffc4872cfe75
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Thu Jan 24 16:44:25 2008 +1000
 
@@ -197,7 +197,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit f930fcb409db57172f7743d80cea9c6eb5bedfc4
+commit 4b432f39f3f0ad3015637b194aa7e09c82f7e2e6
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:42:46 2008 +1000
 
@@ -214,7 +214,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit ba1f054949cf2e71e80031fcbf8676db6d118b63
+commit 9c2cbb2b75df47338337549a39feddfb8dcbc2e5
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:41:36 2008 +1000
 
@@ -230,7 +230,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit f386dcbb2d8d6b2410ebfe733d82c615c41c2a25
+commit 84908108167c7f32a3dd9f456412acf9d03e8a2d
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:40:25 2008 +1000
 
@@ -246,7 +246,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 6e14fdc7ddb806e64e65ced441e925cd64603bd5
+commit d44fc71ba887c9b1b6d11328c2afea9bae92795c
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:39:42 2008 +1000
 
@@ -259,7 +259,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 7733096f48ad73ddb566b858d879fe0c49e48732
+commit fef882379805e96c5396f0d82be8b8ab6e4b2f31
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:36:31 2008 +1000
 
@@ -271,7 +271,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit f953d51ccca1d8ce00eec8dbcac86491f23805bb
+commit cb08438f1177f93133df1d5da15afe1a0823f727
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:35:31 2008 +1000
 
@@ -281,7 +281,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit ca6d9673159712446a996c5810656fcb50a9cde4
+commit 9bd633fbcb38301c7e29d20cbedb6f92010422e3
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:34:54 2008 +1000
 
@@ -291,7 +291,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 94626068d3d5f8df61e1df79abfabd828041ca80
+commit f754d61e9cb5c9281414b40e8f73b955d0e3f598
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:34:16 2008 +1000
 
@@ -303,7 +303,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 3f8b8605ad27546b80b4a55d5451f7cd3726df01
+commit b43f3a2f2ac075dbfc7ef05634253d9c9a532285
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:33:23 2008 +1000
 
@@ -316,7 +316,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit d2a2f35ac08ab9945c3bce188ccb37e528958524
+commit 22f59a4634d6ad29c496a6e27292a617911fa8a9
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:32:43 2008 +1000
 
@@ -328,7 +328,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 239158065c661384bae3c4488f569006515276c7
+commit 15203a8ea1398b694d4e9e91ac8d30e2779c06a2
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:31:45 2008 +1000
 
@@ -342,7 +342,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 82ce6ced892adc8d990703edc30921bc9bbb6622
+commit 712419b3f4af8beee699ac1292987da17a9b9638
 Author: Alan Hourihane <alanh at tungstengraphics.com>
 Date:   Thu Jan 24 16:29:48 2008 +1000
 
@@ -350,7 +350,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 9bf3dda2f4f6ca700fa255d4c4bdc2177f3f4ad4
+commit ccfeb3b197432f6a2be58a3c954ee6cd5ecb955f
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:28:38 2008 +1000
 
@@ -358,7 +358,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 34b894463c7b2020acf44515beda22af01deff0a
+commit 6050439d75dd8f52a4a9f42303a9c2ca04706732
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:26:40 2008 +1000
 
@@ -369,7 +369,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 64a5aa5d78c355b64da51eb34e66190b23323441
+commit 993e85860b508c84d70731de0c92d90e50bf9ad0
 Author: Keith Packard <keithp at keithp.com>
 Date:   Thu Jan 24 16:25:57 2008 +1000
 
@@ -405,7 +405,7 @@
     
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 5144432916c0f1babe5da083dd97e1e039371c15
+commit 3ee5bdaa04fc5659b9d4acf4347f635e90705e1a
 Author: Márton Németh <nm127 at freemail.hu>
 Date:   Thu Jan 24 15:58:57 2008 +1000
 
@@ -419,7 +419,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 6bdb74a590379e0b13863412acbce728ae231b74
+commit ce234d84fc7763c290649df183ec2fc116896881
 Author: Zou Nan hai <nanhai.zou at intel.com>
 Date:   Wed Jan 23 15:54:04 2008 +1000
 
@@ -429,7 +429,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 066a9afac5b7a15dc0301e63be2846ee0be69b2d
+commit 26a23b582644d942dbac23cd60e4df29cf503800
 Author: Jiri Slaby <jirislaby at gmail.com>
 Date:   Thu Nov 29 09:57:16 2007 +1000
 
@@ -443,7 +443,7 @@
     Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 8a3a6cc3d4e868756749899a0d7362ec96304c1a
+commit 46e99b6890f2098f536523ee14465f2887ea502b
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Thu Nov 22 18:57:08 2007 +1000
 
@@ -453,13 +453,13 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 48db3c1e351529afd10a9aa7497dd3e06b9b23a6
+commit 6a94f6c5d6b0746f809d6dd088f9c8176529e36b
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Thu Nov 22 18:53:36 2007 +1000
 
     drm/i915: add some missing pieces of ttm superioctl
 
-commit 29161ed6a3f019e27bc86ccb196549fe41a4f084
+commit a5ae627994b782afcae2917c5f2a4b44b0ff0725
 Author: Michel Dänzer <michel at tungstengraphics.com>
 Date:   Thu Nov 22 14:49:12 2007 +1000
 
@@ -480,7 +480,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit c5dccf2bc096f85f29beb9e0790d21666327abac
+commit 09e15fcf1d2cb0af9f096155a2d5c1b5313883b1
 Author: Zou Nan hai <nanhai.zou at intel.com>
 Date:   Thu Nov 22 14:28:52 2007 +1000
 
@@ -491,7 +491,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 50d29afe5aeda1041d01e7072ba818cd92204b71
+commit 89b968bb31affaa1397c40bfc2de3aa7ab4c07eb
 Author: Thomas Hellstrom <thomas -at- tungstengraphics.com>
 Date:   Thu Nov 22 13:30:34 2007 +1000
 
@@ -503,7 +503,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 6f97bf6cd57b9c2de0385febd174713ce0362456
+commit 830f778956475a51d4c15d817214b7907be0297a
 Author: Jerome Glisse <glisse at freedesktop.org>
 Date:   Thu Nov 22 13:18:53 2007 +1000
 
@@ -514,7 +514,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit dd53ed406397c08dae0fc7e4c5c8e50fa9c4b1c6
+commit ba371808980b8f88871bf135274ade602456a5e2
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Mon Nov 5 16:59:20 2007 +1000
 
@@ -522,7 +522,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 38a6b4fc63e21563f1aa1af752db38f6306060f0
+commit c0da9794080ce8e4f58031dd43c15d4d5b4d75e7
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Mon Nov 5 16:53:59 2007 +1000
 
@@ -533,7 +533,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 701dc84a06bd0859845c78dae1ed9cbff2d45909
+commit bca8bcf0153c1f088919f36639be2da8c873a707
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Mon Nov 5 16:39:19 2007 +1000
 
@@ -544,7 +544,7 @@
     Signed-off-by: Thomas Hellstrom <thomas -at- tungstengraphics.com>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit c5357c3d267db8705c2388f1dcd97e0a93dba4b7
+commit 2fcd80bd79a4ff34881ad88683d86678c392eed8
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Mon Nov 5 14:54:31 2007 +1000
 
@@ -559,7 +559,7 @@
     Signed-off-by: Thomas Hellstrom <thomas -at- tungstengraphics.com>
     Signed-off-by: Dave Airlie <airlied at redhat.com>
 
-commit 7ff17c73a623935b0f834a299fc11185fe565942
+commit 90731086d29563c602a5d6580546c815810aacd8
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Mon Nov 5 14:13:19 2007 +1000
 
@@ -576,7 +576,7 @@
     Signed-off-by: Thomas Hellstrom <thomas -at- tunsgtengraphics.com>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit b60bff9208be6f1ca9c37c5e674bed298fb4a281
+commit dc95859b8d3636ec002786bc6676ed2ffe999bb8
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Mon Nov 5 13:51:07 2007 +1000
 
@@ -587,7 +587,7 @@
     
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit 53c0684d7dd7e83a00bbd398a33d9f3b8bb6a9a5
+commit 774c9d3f7dfb0f5db1f82d96dce3efbe6d73bc57
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Mon Nov 5 13:45:22 2007 +1000
 
@@ -600,7 +600,7 @@
     Signed-off-by: Thomas Hellstrom <thomas -at- tungstengraphics.com>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
 
-commit ab3c9c6e912324697a67c849abbba8942c460fb0
+commit 7d6bff6369efece0f637dfc905f901e924927067
 Author: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
 Date:   Mon Nov 5 13:21:19 2007 +1000
 
@@ -619,7 +619,6 @@
     
     Signed-off-by: Thomas Hellstrom <thomas -at- tungstengraphics.com>
     Signed-off-by: Dave Airlie <airlied at linux.ie>
-
 diff --git a/drivers/char/drm/Makefile b/drivers/char/drm/Makefile
 index 1283ded..85c4f9e 100644
 --- a/drivers/char/drm/Makefile
@@ -643,21 +642,18 @@
  sis-objs    := sis_drv.o sis_mm.o
  savage-objs := savage_drv.o savage_bci.o savage_state.o
 diff --git a/drivers/char/drm/ati_pcigart.c b/drivers/char/drm/ati_pcigart.c
-index d352dbb..617abab 100644
+index e5a0e97..61d98e3 100644
 --- a/drivers/char/drm/ati_pcigart.c
 +++ b/drivers/char/drm/ati_pcigart.c
-@@ -45,9 +45,8 @@ static void *drm_ati_alloc_pcigart_table(int order)
- 
- 	address = __get_free_pages(GFP_KERNEL | __GFP_COMP,
- 				   order);
--	if (address == 0UL) {
-+	if (address == 0UL)
- 		return NULL;
--	}
- 
- 	page = virt_to_page(address);
+@@ -43,7 +43,6 @@ static int drm_ati_alloc_pcigart_table(struct drm_device *dev,
+ 						gart_info->table_mask);
+ 	if (gart_info->table_handle == NULL)
+ 		return -ENOMEM;
+-
+ 	return 0;
+ }
  
-@@ -197,7 +196,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
+@@ -150,7 +149,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
  		page_base = (u32) entry->busaddr[i];
  
  		for (j = 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) {
@@ -666,7 +662,7 @@
  			case DRM_ATI_GART_IGP:
  				*pci_gart = cpu_to_le32((page_base) | 0xc);
  				break;
-@@ -222,7 +221,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
+@@ -175,7 +174,7 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga
  	mb();
  #endif
  
@@ -1042,18 +1038,18 @@
   * Device specific ioctls should only be in their respective headers
   * The device specific ioctl range is from 0x40 to 0x99.
 diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
-index a6789f2..bd41621 100644
+index 8ea9dd1..c6df504 100644
 --- a/drivers/char/drm/drmP.h
 +++ b/drivers/char/drm/drmP.h
-@@ -55,6 +55,7 @@
- #include <linux/jiffies.h>
+@@ -56,6 +56,7 @@
  #include <linux/smp_lock.h>	/* For (un)lock_kernel */
+ #include <linux/dma-mapping.h>
  #include <linux/mm.h>
 +#include <linux/pagemap.h>
  #include <linux/cdev.h>
  #include <linux/mutex.h>
  #if defined(__alpha__) || defined(__powerpc__)
-@@ -66,6 +67,7 @@
+@@ -67,6 +68,7 @@
  #ifdef CONFIG_MTRR
  #include <asm/mtrr.h>
  #endif
@@ -1061,7 +1057,7 @@
  #if defined(CONFIG_AGP) || defined(CONFIG_AGP_MODULE)
  #include <linux/types.h>
  #include <linux/agp_backend.h>
-@@ -144,9 +146,22 @@ struct drm_device;
+@@ -145,9 +147,22 @@ struct drm_device;
  #define DRM_MEM_CTXLIST   21
  #define DRM_MEM_MM        22
  #define DRM_MEM_HASHTAB   23
@@ -1084,7 +1080,7 @@
  
  /*@}*/
  
-@@ -374,6 +389,12 @@ struct drm_buf_entry {
+@@ -375,6 +390,12 @@ struct drm_buf_entry {
  	struct drm_freelist freelist;
  };
  
@@ -1097,7 +1093,7 @@
  /** File private data */
  struct drm_file {
  	int authenticated;
-@@ -387,6 +408,14 @@ struct drm_file {
+@@ -388,6 +409,14 @@ struct drm_file {
  	struct drm_head *head;
  	int remove_auth_on_close;
  	unsigned long lock_count;
@@ -1112,7 +1108,7 @@
  	struct file *filp;
  	void *driver_priv;
  };
-@@ -518,6 +547,7 @@ struct drm_map_list {
+@@ -519,6 +548,7 @@ struct drm_map_list {
  	struct drm_hash_item hash;
  	struct drm_map *map;			/**< mapping */
  	uint64_t user_token;
@@ -1120,7 +1116,7 @@
  };
  
  typedef struct drm_map drm_local_map_t;
-@@ -555,6 +585,8 @@ struct drm_ati_pcigart_info {
+@@ -558,6 +588,8 @@ struct drm_ati_pcigart_info {
  	int table_size;
  };
  
@@ -1129,7 +1125,7 @@
  /**
   * DRM driver structure. This structure represent the common code for
   * a family of cards. There will one drm_device for each card present
-@@ -612,6 +644,9 @@ struct drm_driver {
+@@ -615,6 +647,9 @@ struct drm_driver {
  	void (*set_version) (struct drm_device *dev,
  			     struct drm_set_version *sv);
  
@@ -1139,7 +1135,7 @@
  	int major;
  	int minor;
  	int patchlevel;
-@@ -687,6 +722,10 @@ struct drm_device {
+@@ -690,6 +725,10 @@ struct drm_device {
  	struct list_head maplist;	/**< Linked list of regions */
  	int map_count;			/**< Number of mappable regions */
  	struct drm_open_hash map_hash;	/**< User token hash table for maps */
@@ -1150,7 +1146,7 @@
  
  	/** \name Context handle management */
  	/*@{ */
-@@ -763,6 +802,9 @@ struct drm_device {
+@@ -766,6 +805,9 @@ struct drm_device {
  	unsigned int agp_buffer_token;
  	struct drm_head primary;		/**< primary screen head */
  
@@ -1160,7 +1156,7 @@
  	/** \name Drawable information */
  	/*@{ */
  	spinlock_t drw_lock;
-@@ -770,6 +812,15 @@ struct drm_device {
+@@ -773,6 +815,15 @@ struct drm_device {
  	/*@} */
  };
  
@@ -1176,7 +1172,7 @@
  static __inline__ int drm_core_check_feature(struct drm_device *dev,
  					     int feature)
  {
-@@ -866,6 +917,15 @@ extern int drm_free_agp(DRM_AGP_MEM * handle, int pages);
+@@ -869,6 +920,15 @@ extern int drm_free_agp(DRM_AGP_MEM * handle, int pages);
  extern int drm_bind_agp(DRM_AGP_MEM * handle, unsigned int start);
  extern int drm_unbind_agp(DRM_AGP_MEM * handle);
  
@@ -1192,7 +1188,7 @@
  				/* Misc. IOCTL support (drm_ioctl.h) */
  extern int drm_irq_by_busid(struct drm_device *dev, void *data,
  			    struct drm_file *file_priv);
-@@ -1023,7 +1083,8 @@ extern DRM_AGP_MEM *drm_agp_allocate_memory(struct agp_bridge_data *bridge, size
+@@ -1026,7 +1086,8 @@ extern DRM_AGP_MEM *drm_agp_allocate_memory(struct agp_bridge_data *bridge, size
  extern int drm_agp_free_memory(DRM_AGP_MEM * handle);
  extern int drm_agp_bind_memory(DRM_AGP_MEM * handle, off_t start);
  extern int drm_agp_unbind_memory(DRM_AGP_MEM * handle);
@@ -1202,7 +1198,7 @@
  				/* Stub support (drm_stub.h) */
  extern int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
  		       struct drm_driver *driver);
-@@ -1147,6 +1208,39 @@ extern void drm_free(void *pt, size_t size, int area);
+@@ -1150,6 +1211,39 @@ extern void drm_free(void *pt, size_t size, int area);
  extern void *drm_calloc(size_t nmemb, size_t size, int area);
  #endif
  
@@ -6194,7 +6190,7 @@
 +	return ret;
 +}
 diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c
-index 3992f73..a5920dc 100644
+index f09d4b5..ff2ca94 100644
 --- a/drivers/char/drm/drm_fops.c
 +++ b/drivers/char/drm/drm_fops.c
 @@ -147,11 +147,18 @@ int drm_open(struct inode *inode, struct file *filp)
@@ -6289,7 +6285,7 @@
  /**
   * Release file.
   *
-@@ -347,7 +395,7 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -348,7 +396,7 @@ int drm_release(struct inode *inode, struct file *filp)
  		if (drm_i_have_hw_lock(dev, file_priv)) {
  			dev->driver->reclaim_buffers_locked(dev, file_priv);
  		} else {
@@ -6298,16 +6294,7 @@
  			int locked = 0;
  
  			drm_idlelock_take(&dev->lock);
-@@ -356,7 +404,7 @@ int drm_release(struct inode *inode, struct file *filp)
- 			 * Wait for a while.
- 			 */
- 
--			do{
-+			do {
- 				spin_lock(&dev->lock.spinlock);
- 				locked = dev->lock.idle_has_lock;
- 				spin_unlock(&dev->lock.spinlock);
-@@ -422,6 +470,7 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -425,6 +473,7 @@ int drm_release(struct inode *inode, struct file *filp)
  	mutex_unlock(&dev->ctxlist_mutex);
  
  	mutex_lock(&dev->struct_mutex);
@@ -6351,10 +6338,10 @@
  }
  
 diff --git a/drivers/char/drm/drm_lock.c b/drivers/char/drm/drm_lock.c
-index bea2a7d..316ab73 100644
+index 12dcdd1..1342e9d 100644
 --- a/drivers/char/drm/drm_lock.c
 +++ b/drivers/char/drm/drm_lock.c
-@@ -175,7 +175,7 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -176,7 +176,7 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  	if (dev->driver->kernel_context_switch_unlock)
  		dev->driver->kernel_context_switch_unlock(dev);
  	else {
@@ -10031,7 +10018,7 @@
 +
  #endif				/* _I915_DRM_H_ */
 diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c
-index 4048f39..bd25a15 100644
+index b2b451d..415b1cf 100644
 --- a/drivers/char/drm/i915_drv.c
 +++ b/drivers/char/drm/i915_drv.c
 @@ -37,6 +37,25 @@
@@ -10060,7 +10047,7 @@
  
  enum pipe {
      PIPE_A = 0,
-@@ -536,6 +555,7 @@ static struct drm_driver driver = {
+@@ -537,6 +556,7 @@ static struct drm_driver driver = {
  	    DRIVER_IRQ_VBL2,
  	.load = i915_driver_load,
  	.unload = i915_driver_unload,
@@ -10068,7 +10055,7 @@
  	.lastclose = i915_driver_lastclose,
  	.preclose = i915_driver_preclose,
  	.suspend = i915_suspend,
-@@ -568,7 +588,8 @@ static struct drm_driver driver = {
+@@ -569,7 +589,8 @@ static struct drm_driver driver = {
  		 .name = DRIVER_NAME,
  		 .id_table = pciidlist,
  	},

linux-2.6-drm-i915-modeset.patch:

Index: linux-2.6-drm-i915-modeset.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-drm-i915-modeset.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- linux-2.6-drm-i915-modeset.patch	12 Mar 2008 05:09:07 -0000	1.5
+++ linux-2.6-drm-i915-modeset.patch	20 Mar 2008 06:06:41 -0000	1.6
@@ -239,10 +239,10 @@
   * Device specific ioctls should only be in their respective headers
   * The device specific ioctl range is from 0x40 to 0x99.
 diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
-index a437ac2..f6066c3 100644
+index 7fb3a2f..40889a6 100644
 --- a/drivers/char/drm/drmP.h
 +++ b/drivers/char/drm/drmP.h
-@@ -105,6 +105,7 @@ struct drm_device;
+@@ -106,6 +106,7 @@ struct drm_device;
  #define DRIVER_DMA_QUEUE   0x200
  #define DRIVER_FB_DMA      0x400
  #define DRIVER_IRQ_VBL2    0x800
@@ -250,7 +250,7 @@
  
  /***********************************************************************/
  /** \name Begin the DRM... */
-@@ -251,11 +252,11 @@ struct drm_device;
+@@ -252,11 +253,11 @@ struct drm_device;
   */
  #define LOCK_TEST_WITH_RETURN( dev, file_priv )				\
  do {									\
@@ -266,7 +266,7 @@
  		return -EINVAL;						\
  	}								\
  } while (0)
-@@ -286,9 +287,10 @@ typedef int drm_ioctl_t(struct drm_device *dev, void *data,
+@@ -287,9 +288,10 @@ typedef int drm_ioctl_t(struct drm_device *dev, void *data,
  typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd,
  			       unsigned long arg);
  
@@ -280,7 +280,7 @@
  
  struct drm_ioctl_desc {
  	unsigned int cmd;
-@@ -398,14 +400,12 @@ enum drm_ref_type {
+@@ -399,14 +401,12 @@ enum drm_ref_type {
  /** File private data */
  struct drm_file {
  	int authenticated;
@@ -296,7 +296,7 @@
  	int remove_auth_on_close;
  	unsigned long lock_count;
  	/*
-@@ -418,6 +418,11 @@ struct drm_file {
+@@ -419,6 +419,11 @@ struct drm_file {
  	struct drm_open_hash refd_object_hash[_DRM_NO_REF_TYPES];
  	struct file *filp;
  	void *driver_priv;
@@ -308,7 +308,7 @@
  };
  
  /** Wait queue */
-@@ -548,6 +553,8 @@ struct drm_map_list {
+@@ -549,6 +554,8 @@ struct drm_map_list {
  	struct drm_map *map;			/**< mapping */
  	uint64_t user_token;
  	struct drm_mm_node *file_offset_node;
@@ -317,7 +317,7 @@
  };
  
  typedef struct drm_map drm_local_map_t;
-@@ -586,6 +593,29 @@ struct drm_ati_pcigart_info {
+@@ -589,6 +596,29 @@ struct drm_ati_pcigart_info {
  };
  
  #include "drm_objects.h"
@@ -347,7 +347,7 @@
  
  /**
   * DRM driver structure. This structure represent the common code for
-@@ -644,6 +674,15 @@ struct drm_driver {
+@@ -647,6 +677,15 @@ struct drm_driver {
  	void (*set_version) (struct drm_device *dev,
  			     struct drm_set_version *sv);
  
@@ -363,7 +363,7 @@
  	struct drm_fence_driver *fence_driver;
  	struct drm_bo_driver *bo_driver;
  
-@@ -662,17 +701,28 @@ struct drm_driver {
+@@ -665,17 +704,28 @@ struct drm_driver {
  	struct pci_driver pci_driver;
  };
  
@@ -398,7 +398,7 @@
  };
  
  /**
-@@ -680,14 +730,9 @@ struct drm_head {
+@@ -683,14 +733,9 @@ struct drm_head {
   * may contain multiple heads.
   */
  struct drm_device {
@@ -413,7 +413,7 @@
  	/** \name Locks */
  	/*@{ */
  	spinlock_t count_lock;		/**< For inuse, drm_device::open_count, drm_device::buf_use */
-@@ -710,18 +755,12 @@ struct drm_device {
+@@ -713,18 +758,12 @@ struct drm_device {
  	atomic_t counts[15];
  	/*@} */
  
@@ -433,7 +433,7 @@
  	struct drm_mm offset_manager;        /**< User token manager */
  	struct drm_open_hash object_hash;    /**< User token hash table for objects */
  	struct address_space *dev_mapping;  /**< For unmap_mapping_range() */
-@@ -736,7 +775,9 @@ struct drm_device {
+@@ -739,7 +778,9 @@ struct drm_device {
  	struct idr ctx_idr;
  
  	struct list_head vmalist;	/**< List of vmas (for debugging) */
@@ -444,7 +444,7 @@
  	/*@} */
  
  	/** \name DMA queues (contexts) */
-@@ -800,7 +841,10 @@ struct drm_device {
+@@ -803,7 +844,10 @@ struct drm_device {
  	struct drm_driver *driver;
  	drm_local_map_t *agp_buffer_map;
  	unsigned int agp_buffer_token;
@@ -456,7 +456,7 @@
  
  	struct drm_fence_manager fm;
  	struct drm_buffer_manager bm;
-@@ -810,6 +854,9 @@ struct drm_device {
+@@ -813,6 +857,9 @@ struct drm_device {
  	spinlock_t drw_lock;
  	struct idr drw_idr;
  	/*@} */
@@ -466,7 +466,7 @@
  };
  
  #if __OS_HAS_AGP
-@@ -1088,26 +1135,25 @@ extern int drm_agp_unbind_memory(DRM_AGP_MEM * handle);
+@@ -1091,26 +1138,25 @@ extern int drm_agp_unbind_memory(DRM_AGP_MEM * handle);
  extern struct drm_ttm_backend *drm_agp_init_ttm(struct drm_device *dev);
  extern void drm_agp_chipset_flush(struct drm_device *dev);
  				/* Stub support (drm_stub.h) */
@@ -503,7 +503,7 @@
  
  				/* Scatter Gather Support (drm_scatter.h) */
  extern void drm_sg_cleanup(struct drm_sg_mem * entry);
-@@ -1132,8 +1178,8 @@ extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
+@@ -1135,8 +1181,8 @@ extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah);
  struct drm_sysfs_class;
  extern struct class *drm_sysfs_create(struct module *owner, char *name);
  extern void drm_sysfs_destroy(void);
@@ -5036,7 +5036,7 @@
  	struct drm_fence_object *fence;
  
 diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c
-index a5920dc..c09e4a4 100644
+index ff2ca94..d6440f4 100644
 --- a/drivers/char/drm/drm_fops.c
 +++ b/drivers/char/drm/drm_fops.c
 @@ -43,10 +43,8 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
@@ -5236,9 +5236,9 @@
 -	struct drm_device *dev = file_priv->head->dev;
 +	struct drm_device *dev = file_priv->minor->dev;
  	int retcode = 0;
+ 	unsigned long irqflags;
  
- 	lock_kernel();
-@@ -387,63 +397,65 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -388,65 +398,65 @@ int drm_release(struct inode *inode, struct file *filp)
  	 */
  
  	DRM_DEBUG("pid = %d, device = 0x%lx, open_count = %d\n",
@@ -5260,10 +5260,12 @@
 -			 * Wait for a while.
 -			 */
 -
--			do {
--				spin_lock(&dev->lock.spinlock);
+-			do{
+-				spin_lock_irqsave(&dev->lock.spinlock,
+-						  irqflags);
 -				locked = dev->lock.idle_has_lock;
--				spin_unlock(&dev->lock.spinlock);
+-				spin_unlock_irqrestore(&dev->lock.spinlock,
+-						       irqflags);
 -				if (locked)
 -					break;
 -				schedule();
@@ -5289,9 +5291,9 @@
 +				 */
 +
 +				do{
-+					spin_lock(&file_priv->master->lock.spinlock);
++					spin_lock_irqsave(&file_priv->master->lock.spinlock, irqflags);
 +					locked = file_priv->master->lock.idle_has_lock;
-+					spin_unlock(&file_priv->master->lock.spinlock);
++					spin_unlock_irqrestore(&file_priv->master->lock.spinlock, irqflags);
 +					if (locked)
 +						break;
 +					schedule();
@@ -5350,7 +5352,7 @@
  	}
  
  	drm_fasync(-1, filp, 0);
-@@ -469,6 +481,16 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -472,6 +482,16 @@ int drm_release(struct inode *inode, struct file *filp)
  	}
  	mutex_unlock(&dev->ctxlist_mutex);
  
@@ -5367,7 +5369,7 @@
  	mutex_lock(&dev->struct_mutex);
  	drm_object_release(filp);
  	if (file_priv->remove_auth_on_close == 1) {
-@@ -491,9 +513,9 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -494,9 +514,9 @@ int drm_release(struct inode *inode, struct file *filp)
  	atomic_inc(&dev->counts[_DRM_STAT_CLOSES]);
  	spin_lock(&dev->count_lock);
  	if (!--dev->open_count) {
@@ -5560,7 +5562,7 @@
  
  	dev->locked_tasklet_func = NULL;
 diff --git a/drivers/char/drm/drm_lock.c b/drivers/char/drm/drm_lock.c
-index 316ab73..aa6a3aa 100644
+index 1342e9d..9dda721 100644
 --- a/drivers/char/drm/drm_lock.c
 +++ b/drivers/char/drm/drm_lock.c
 @@ -52,6 +52,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
@@ -5569,9 +5571,9 @@
  	struct drm_lock *lock = data;
 +	struct drm_master *master = file_priv->master;
  	int ret = 0;
+ 	unsigned long irqflags;
  
- 	++file_priv->lock_count;
-@@ -63,27 +64,27 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -64,27 +65,27 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  	}
  
  	DRM_DEBUG("%d (pid %d) requests lock (0x%08x), flags = 0x%08x\n",
@@ -5585,13 +5587,13 @@
  			return -EINVAL;
  
 -	add_wait_queue(&dev->lock.lock_queue, &entry);
--	spin_lock(&dev->lock.spinlock);
+-	spin_lock_irqsave(&dev->lock.spinlock, irqflags);
 -	dev->lock.user_waiters++;
--	spin_unlock(&dev->lock.spinlock);
+-	spin_unlock_irqrestore(&dev->lock.spinlock, irqflags);
 +	add_wait_queue(&master->lock.lock_queue, &entry);
-+	spin_lock(&master->lock.spinlock);
++	spin_lock_irqsave(&master->lock.spinlock, irqflags);
 +	master->lock.user_waiters++;
-+	spin_unlock(&master->lock.spinlock);
++	spin_unlock_irqrestore(&master->lock.spinlock, irqflags);
  	for (;;) {
  		__set_current_state(TASK_INTERRUPTIBLE);
 -		if (!dev->lock.hw_lock) {
@@ -5609,23 +5611,24 @@
  			atomic_inc(&dev->counts[_DRM_STAT_LOCKS]);
  			break;	/* Got lock */
  		}
-@@ -95,11 +96,11 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -96,11 +97,12 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  			break;
  		}
  	}
--	spin_lock(&dev->lock.spinlock);
+-	spin_lock_irqsave(&dev->lock.spinlock, irqflags);
 -	dev->lock.user_waiters--;
--	spin_unlock(&dev->lock.spinlock);
-+	spin_lock(&master->lock.spinlock);
+-	spin_unlock_irqrestore(&dev->lock.spinlock, irqflags);
++	spin_lock_irqsave(&master->lock.spinlock, irqflags);
 +	master->lock.user_waiters--;
-+	spin_unlock(&master->lock.spinlock);
++	spin_unlock_irqrestore(&master->lock.spinlock, irqflags);
++
  	__set_current_state(TASK_RUNNING);
 -	remove_wait_queue(&dev->lock.lock_queue, &entry);
 +	remove_wait_queue(&master->lock.lock_queue, &entry);
  
  	DRM_DEBUG("%d %s\n", lock->context,
  		  ret ? "interrupted" : "has lock");
-@@ -111,7 +112,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -112,7 +114,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  	sigaddset(&dev->sigmask, SIGTTIN);
  	sigaddset(&dev->sigmask, SIGTTOU);
  	dev->sigdata.context = lock->context;
@@ -5634,7 +5637,7 @@
  	block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask);
  
  	if (dev->driver->dma_ready && (lock->flags & _DRM_LOCK_READY))
-@@ -149,6 +150,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -150,6 +152,7 @@ int drm_lock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  {
  	struct drm_lock *lock = data;
@@ -5642,7 +5645,7 @@
  	unsigned long irqflags;
  
  	if (lock->context == DRM_KERNEL_CONTEXT) {
-@@ -175,7 +177,7 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
+@@ -176,7 +179,7 @@ int drm_unlock(struct drm_device *dev, void *data, struct drm_file *file_priv)
  	if (dev->driver->kernel_context_switch_unlock)
  		dev->driver->kernel_context_switch_unlock(dev);
  	else {
@@ -5651,7 +5654,7 @@
  			/* FIXME: Should really bail out here. */
  		}
  	}
-@@ -383,9 +385,10 @@ EXPORT_SYMBOL(drm_idlelock_release);
+@@ -388,9 +391,10 @@ EXPORT_SYMBOL(drm_idlelock_release);
  
  int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv)
  {
@@ -7085,7 +7088,7 @@
 +	device_unregister(&minor->kdev);
  }
 diff --git a/drivers/char/drm/drm_vm.c b/drivers/char/drm/drm_vm.c
-index 3cd0b1c..832c927 100644
+index 6184b98..832c927 100644
 --- a/drivers/char/drm/drm_vm.c
 +++ b/drivers/char/drm/drm_vm.c
 @@ -83,7 +83,7 @@ static pgprot_t drm_io_prot(uint32_t map_type, struct vm_area_struct *vma)
@@ -7178,6 +7181,111 @@
  	int ret;
  
  	mutex_lock(&dev->struct_mutex);
+@@ -679,8 +679,8 @@ EXPORT_SYMBOL(drm_mmap);
+  * \c Pagefault method for buffer objects.
+  *
+  * \param vma Virtual memory area.
+- * \param vmf vm fault data
+- * \return Error or VM_FAULT_NOPAGE: the pfn is manually inserted.
++ * \param address File offset.
++ * \return Error or refault. The pfn is manually inserted.
+  *
+  * It's important that pfns are inserted while holding the bo->mutex lock.
+  * otherwise we might race with unmap_mapping_range() which is always
+@@ -692,7 +692,8 @@ EXPORT_SYMBOL(drm_mmap);
+  * protected by the bo->mutex lock.
+  */
+ 
+-static int drm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
++static unsigned long drm_bo_vm_nopfn(struct vm_area_struct *vma,
++				     unsigned long address)
+ {
+ 	struct drm_buffer_object *bo = (struct drm_buffer_object *) vma->vm_private_data;
+ 	unsigned long page_offset;
+@@ -704,22 +705,25 @@ static int drm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+ 	unsigned long bus_base;
+ 	unsigned long bus_offset;
+ 	unsigned long bus_size;
+-	unsigned long ret = VM_FAULT_NOPAGE;
++	unsigned long ret = NOPFN_REFAULT;
++
++	if (address > vma->vm_end)
++		return NOPFN_SIGBUS;
+ 
+ 	dev = bo->dev;
+ 	err = drm_bo_read_lock(&dev->bm.bm_lock);
+ 	if (err)
+-		return VM_FAULT_NOPAGE;
++		return NOPFN_REFAULT;
+ 
+ 	err = mutex_lock_interruptible(&bo->mutex);
+ 	if (err) {
+ 		drm_bo_read_unlock(&dev->bm.bm_lock);
+-		return VM_FAULT_NOPAGE;
++		return NOPFN_REFAULT;
+ 	}
+ 
+ 	err = drm_bo_wait(bo, 0, 0, 0);
+ 	if (err) {
+-		ret = (err != -EAGAIN) ? VM_FAULT_SIGBUS : VM_FAULT_NOPAGE;
++		ret = (err != -EAGAIN) ? NOPFN_SIGBUS : NOPFN_REFAULT;
+ 		goto out_unlock;
+ 	}
+ 
+@@ -734,7 +738,7 @@ static int drm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+ 			DRM_BO_FLAG_FORCE_MAPPABLE;
+ 		err = drm_bo_move_buffer(bo, new_flags, 0, 0);
+ 		if (err) {
+-			ret = (err != -EAGAIN) ? VM_FAULT_SIGBUS : VM_FAULT_NOPAGE;
++			ret = (err != -EAGAIN) ? NOPFN_SIGBUS : NOPFN_REFAULT;
+ 			goto out_unlock;
+ 		}
+ 	}
+@@ -743,12 +747,11 @@ static int drm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+ 				&bus_size);
+ 
+ 	if (err) {
+-		ret = VM_FAULT_SIGBUS;
++		ret = NOPFN_SIGBUS;
+ 		goto out_unlock;
+ 	}
+ 
+-	/* XXX: vmf->pgoff may work here, but it adds on vma->vm_pgoff */
+-	page_offset = ((unsigned long)vmf->virtual_address - vma->vm_start) >> PAGE_SHIFT;
++	page_offset = (address - vma->vm_start) >> PAGE_SHIFT;
+ 
+ 	if (bus_size) {
+ 		struct drm_mem_type_manager *man = &dev->bm.man[bo->mem.mem_type];
+@@ -761,7 +764,7 @@ static int drm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+ 		drm_ttm_fixup_caching(ttm);
+ 		page = drm_ttm_get_page(ttm, page_offset);
+ 		if (!page) {
+-			ret = VM_FAULT_OOM;
++			ret = NOPFN_OOM;
+ 			goto out_unlock;
+ 		}
+ 		pfn = page_to_pfn(page);
+@@ -770,9 +773,9 @@ static int drm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+ 			drm_io_prot(_DRM_TTM, vma);
+ 	}
+ 
+-	err = vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, pfn);
++	err = vm_insert_pfn(vma, address, pfn);
+ 	if (err) {
+-		ret = (err != -EAGAIN) ? VM_FAULT_OOM : VM_FAULT_NOPAGE;
++		ret = (err != -EAGAIN) ? NOPFN_OOM : NOPFN_REFAULT;
+ 		goto out_unlock;
+ 	}
+ out_unlock:
+@@ -827,7 +830,7 @@ static void drm_bo_vm_close(struct vm_area_struct *vma)
+ }
+ 
+ static struct vm_operations_struct drm_bo_vm_ops = {
+-	.fault = drm_bo_vm_fault,
++	.nopfn = drm_bo_vm_nopfn,
+ 	.open = drm_bo_vm_open,
+ 	.close = drm_bo_vm_close,
+ };
 diff --git a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c
 index 8d7ea81..e5de8ea 100644
 --- a/drivers/char/drm/i810_dma.c
@@ -7246,7 +7354,7 @@
  		DRM_ERROR("Unsupported memory type %u\n", (unsigned)type);
  		return -EINVAL;
 diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
-index 30ab367..9ca655d 100644
+index d2b7d3f..9ca655d 100644
 --- a/drivers/char/drm/i915_dma.c
 +++ b/drivers/char/drm/i915_dma.c
 @@ -38,8 +38,8 @@
@@ -7260,6 +7368,15 @@
  	u32 last_head = I915_READ(LP_RING + RING_HEAD) & HEAD_ADDR;
  	int i;
  
+@@ -51,7 +51,7 @@ int i915_wait_ring(struct drm_device *dev, int n, const char *caller)
+ 		if (ring->space >= n)
+ 			return 0;
+ 
+-		dev_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT;
++		//dev_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT;
+ 
+ 		if (ring->head != last_head)
+ 			i = 0;
 @@ -64,8 +64,13 @@ int i915_wait_ring(struct drm_device *dev, int n, const char *caller)
  
  void i915_kernel_lost_context(struct drm_device *dev)
@@ -7276,8 +7393,14 @@
  
  	ring->head = I915_READ(LP_RING + RING_HEAD) & HEAD_ADDR;
  	ring->tail = I915_READ(LP_RING + RING_TAIL) & TAIL_ADDR;
-@@ -77,9 +82,13 @@ void i915_kernel_lost_context(struct drm_device *dev)
- //		dev_priv->sarea_priv->perf_boxes |= I915_BOX_RING_EMPTY;
+@@ -73,13 +78,17 @@ void i915_kernel_lost_context(struct drm_device *dev)
+ 	if (ring->space < 0)
+ 		ring->space += ring->Size;
+ 
+-	if (ring->head == ring->tail)
+-		dev_priv->sarea_priv->perf_boxes |= I915_BOX_RING_EMPTY;
++//	if (ring->head == ring->tail)
++//		dev_priv->sarea_priv->perf_boxes |= I915_BOX_RING_EMPTY;
  }
  
 -static int i915_dma_cleanup(struct drm_device *dev)

nouveau-drm.patch:

Index: nouveau-drm.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/nouveau-drm.patch,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- nouveau-drm.patch	29 Feb 2008 06:01:55 -0000	1.9
+++ nouveau-drm.patch	20 Mar 2008 06:06:41 -0000	1.10
@@ -1,4 +1,4 @@
-From 97feb40c0d41369a3235a192b3db7d472e65bea8 Mon Sep 17 00:00:00 2001
+From 2e677c51e2e77e78695eda61b52704144a490bec Mon Sep 17 00:00:00 2001
 From: Dave Airlie <airlied at redhat.com>
 Date: Fri, 29 Feb 2008 15:58:37 +1000
 Subject: [PATCH] nouveau: rebased master from git
@@ -138,10 +138,10 @@
  obj-$(CONFIG_DRM_SAVAGE)+= savage.o
  obj-$(CONFIG_DRM_VIA)	+=via.o
 diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
-index bd41621..a437ac2 100644
+index c6df504..7fb3a2f 100644
 --- a/drivers/char/drm/drmP.h
 +++ b/drivers/char/drm/drmP.h
-@@ -1030,7 +1030,8 @@ extern unsigned long drm_get_resource_start(struct drm_device *dev,
+@@ -1033,7 +1033,8 @@ extern unsigned long drm_get_resource_start(struct drm_device *dev,
  					    unsigned int resource);
  extern unsigned long drm_get_resource_len(struct drm_device *dev,
  					  unsigned int resource);
@@ -151,7 +151,7 @@
  				/* DMA support (drm_dma.h) */
  extern int drm_dma_setup(struct drm_device *dev);
  extern void drm_dma_takedown(struct drm_device *dev);
-@@ -1042,6 +1043,7 @@ extern void drm_core_reclaim_buffers(struct drm_device *dev,
+@@ -1045,6 +1046,7 @@ extern void drm_core_reclaim_buffers(struct drm_device *dev,
  extern int drm_control(struct drm_device *dev, void *data,
  		       struct drm_file *file_priv);
  extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS);
@@ -219,10 +219,10 @@
  /**
   * Uninstall the IRQ handler.
 diff --git a/drivers/char/drm/drm_pciids.h b/drivers/char/drm/drm_pciids.h
-index 715b361..e2e73e5 100644
+index a6a499f..61a00f4 100644
 --- a/drivers/char/drm/drm_pciids.h
 +++ b/drivers/char/drm/drm_pciids.h
-@@ -411,3 +411,265 @@
+@@ -412,3 +412,265 @@
  	{0x8086, 0x2a12, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
  	{0x8086, 0x2a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
  	{0, 0, 0}


--- linux-2.6-drm-git-i915-remove-priv-access.patch DELETED ---


--- linux-2.6-drm-git-mm-revert-nopfn.patch DELETED ---




More information about the fedora-extras-commits mailing list