commit:     18a149bb135ad1bc6d336cdabfbd819e2cb7436f
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  4 19:03:48 2015 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sun Jan  4 19:03:48 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=18a149bb

drm/i915: Patch to disallow pin ioctl completely for kms drivers. See bug 
#532926

---
 0000_README                                        | 16 +++--
 ...15-drm-disallow-pin-ioctl-for-kms-drivers.patch | 76 ++++++++++++++++++++++
 2 files changed, 86 insertions(+), 6 deletions(-)

diff --git a/0000_README b/0000_README
index f79b1b4..62aec14 100644
--- a/0000_README
+++ b/0000_README
@@ -63,6 +63,10 @@ Patch:  2905_s2disk-resume-image-fix.patch
 From:   Al Viro <viro <at> ZenIV.linux.org.uk>
 Desc:   Do not lock when UMH is waiting on current thread spawned by linuxrc. 
(bug #481344)
 
+Patch:  2710_i915-drm-disallow-pin-ioctl-for-kms-drivers.patch
+From:   http://www.kernel.org
+Desc:   drm/i915: Patch to disallow pin ioctl completely for kms drivers. See 
bug #532926
+
 Patch:  4200_fbcondecor-3.16.patch
 From:   http://www.mepiscommunity.org/fbcondecor
 Desc:   Bootsplash ported by Uladzimir Bely (bug #513334)
@@ -75,14 +79,14 @@ Patch:  
5000_enable-additional-cpu-optimizations-for-gcc.patch
 From:   https://github.com/graysky2/kernel_gcc_patch/
 Desc:   Kernel patch enables gcc optimizations for additional CPUs.
 
-Patch:  5001_block-cgroups-kconfig-build-bits-for-BFQ-v7r6-3.18.patch
+Patch:  5001_block-cgroups-kconfig-build-bits-for-BFQ-v7r7-3.18.patch
 From:   http://algo.ing.unimo.it/people/paolo/disk_sched/
-Desc:   BFQ v7r6 patch 1 for 3.17: Build, cgroups and kconfig bits
+Desc:   BFQ v7r7 patch 1 for 3.17: Build, cgroups and kconfig bits
 
-Patch:  5002_block-introduce-the-BFQ-v7r6-I-O-sched-for-3.18.patch1
+Patch:  5002_block-introduce-the-BFQ-v7r7-I-O-sched-for-3.18.patch1
 From:   http://algo.ing.unimo.it/people/paolo/disk_sched/
-Desc:   BFQ v7r6 patch 2 for 3.17: BFQ Scheduler
+Desc:   BFQ v7r7 patch 2 for 3.17: BFQ Scheduler
 
-Patch:  5003_block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r6-for-3.18.0.patch
+Patch:  5003_block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r7-for-3.18.0.patch
 From:   http://algo.ing.unimo.it/people/paolo/disk_sched/
-Desc:   BFQ v7r6 patch 3 for 3.17: Early Queue Merge (EQM)
+Desc:   BFQ v7r7 patch 3 for 3.17: Early Queue Merge (EQM)

diff --git a/2710_i915-drm-disallow-pin-ioctl-for-kms-drivers.patch 
b/2710_i915-drm-disallow-pin-ioctl-for-kms-drivers.patch
new file mode 100644
index 0000000..f298aa4
--- /dev/null
+++ b/2710_i915-drm-disallow-pin-ioctl-for-kms-drivers.patch
@@ -0,0 +1,76 @@
+From d472fcc8379c062bd56a3876fc6ef22258f14a91 Mon Sep 17 00:00:00 2001
+From: Daniel Vetter <daniel.vet...@ffwll.ch>
+Date: Mon, 24 Nov 2014 11:12:42 +0100
+Subject: drm/i915: Disallow pin ioctl completely for kms drivers
+
+The problem here is that SNA pins batchbuffers to etch out a bit more
+performance. Iirc it started out as a w/a for i830M (which we've
+implemented in the kernel since a long time already). The problem is
+that the pin ioctl wasn't added in
+
+commit d23db88c3ab233daed18709e3a24d6c95344117f
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Fri May 23 08:48:08 2014 +0200
+
+    drm/i915: Prevent negative relocation deltas from wrapping
+
+Fix this by simply disallowing pinning from userspace so that the
+kernel is in full control of batch placement again. Especially since
+distros are moving towards running X as non-root, so most users won't
+even be able to see any benefits.
+
+UMS support is dead now, but we need this minimal patch for
+backporting. Follow-up patch will remove the pin ioctl code
+completely.
+
+Note to backporters: You must have both
+
+commit b45305fce5bb1abec263fcff9d81ebecd6306ede
+Author: Daniel Vetter <daniel.vet...@ffwll.ch>
+Date:   Mon Dec 17 16:21:27 2012 +0100
+
+    drm/i915: Implement workaround for broken CS tlb on i830/845
+
+which laned in 3.8 and
+
+commit c4d69da167fa967749aeb70bc0e94a457e5d00c1
+Author: Chris Wilson <ch...@chris-wilson.co.uk>
+Date:   Mon Sep 8 14:25:41 2014 +0100
+
+    drm/i915: Evict CS TLBs between batches
+
+which is also marked cc: stable. Otherwise this could introduce a
+regression by disabling the userspace w/a without the kernel w/a being
+fully functional on i830/45.
+
+References: https://bugs.freedesktop.org/show_bug.cgi?id=76554#c116
+Cc: sta...@vger.kernel.org # requires c4d69da167fa967749a and v3.8
+Cc: Chris Wilson <ch...@chris-wilson.co.uk>
+Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>
+
+diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
+index fd17cca..97b86a5 100644
+--- a/drivers/gpu/drm/i915/i915_gem.c
++++ b/drivers/gpu/drm/i915/i915_gem.c
+@@ -4263,7 +4263,7 @@ i915_gem_pin_ioctl(struct drm_device *dev, void *data,
+       struct drm_i915_gem_object *obj;
+       int ret;
+ 
+-      if (INTEL_INFO(dev)->gen >= 6)
++      if (drm_core_check_feature(dev, DRIVER_MODESET))
+               return -ENODEV;
+ 
+       ret = i915_mutex_lock_interruptible(dev);
+@@ -4319,6 +4319,9 @@ i915_gem_unpin_ioctl(struct drm_device *dev, void *data,
+       struct drm_i915_gem_object *obj;
+       int ret;
+ 
++      if (drm_core_check_feature(dev, DRIVER_MODESET))
++              return -ENODEV;
++
+       ret = i915_mutex_lock_interruptible(dev);
+       if (ret)
+               return ret;
+-- 
+cgit v0.10.2
+

Reply via email to