diff options
Diffstat (limited to 'patches/collateral-evolutions/drm/14-shrinkers-api/drivers_gpu_drm_i915.patch')
-rw-r--r-- | patches/collateral-evolutions/drm/14-shrinkers-api/drivers_gpu_drm_i915.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/patches/collateral-evolutions/drm/14-shrinkers-api/drivers_gpu_drm_i915.patch b/patches/collateral-evolutions/drm/14-shrinkers-api/drivers_gpu_drm_i915.patch deleted file mode 100644 index c00d346f..00000000 --- a/patches/collateral-evolutions/drm/14-shrinkers-api/drivers_gpu_drm_i915.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- a/drivers/gpu/drm/i915/i915_dma.c -+++ b/drivers/gpu/drm/i915/i915_dma.c -@@ -1657,7 +1657,11 @@ int i915_driver_load(struct drm_device * - return 0; - - out_gem_unload: -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - if (dev_priv->mm.inactive_shrinker.scan_objects) -+#else -+ if (dev_priv->mm.inactive_shrinker.shrink) -+#endif - unregister_shrinker(&dev_priv->mm.inactive_shrinker); - - if (dev->pdev->msi_enabled) -@@ -1691,7 +1695,11 @@ int i915_driver_unload(struct drm_device - - i915_teardown_sysfs(dev); - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - if (dev_priv->mm.inactive_shrinker.scan_objects) -+#else -+ if (dev_priv->mm.inactive_shrinker.shrink) -+#endif - unregister_shrinker(&dev_priv->mm.inactive_shrinker); - - mutex_lock(&dev->struct_mutex); ---- a/drivers/gpu/drm/i915/i915_gem.c -+++ b/drivers/gpu/drm/i915/i915_gem.c -@@ -53,10 +53,15 @@ static void i915_gem_object_update_fence - struct drm_i915_fence_reg *fence, - bool enable); - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - static unsigned long i915_gem_inactive_count(struct shrinker *shrinker, - struct shrink_control *sc); - static unsigned long i915_gem_inactive_scan(struct shrinker *shrinker, - struct shrink_control *sc); -+#else -+static int i915_gem_inactive_shrink(struct shrinker *shrinker, -+ struct shrink_control *sc); -+#endif - static long i915_gem_purge(struct drm_i915_private *dev_priv, long target); - static long i915_gem_shrink_all(struct drm_i915_private *dev_priv); - static void i915_gem_object_truncate(struct drm_i915_gem_object *obj); -@@ -4360,8 +4365,12 @@ i915_gem_load(struct drm_device *dev) - - dev_priv->mm.interruptible = true; - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - dev_priv->mm.inactive_shrinker.scan_objects = i915_gem_inactive_scan; - dev_priv->mm.inactive_shrinker.count_objects = i915_gem_inactive_count; -+#else -+ dev_priv->mm.inactive_shrinker.shrink = i915_gem_inactive_shrink; -+#endif - dev_priv->mm.inactive_shrinker.seeks = DEFAULT_SEEKS; - register_shrinker(&dev_priv->mm.inactive_shrinker); - } -@@ -4584,8 +4593,14 @@ static bool mutex_is_locked_by(struct mu - #endif - } - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - static unsigned long - i915_gem_inactive_count(struct shrinker *shrinker, struct shrink_control *sc) -+#else -+#define SHRINK_STOP -1 -+static int -+i915_gem_inactive_shrink(struct shrinker *shrinker, struct shrink_control *sc) -+#endif - { - struct drm_i915_private *dev_priv = - container_of(shrinker, -@@ -4594,7 +4609,12 @@ i915_gem_inactive_count(struct shrinker - struct drm_device *dev = dev_priv->dev; - struct drm_i915_gem_object *obj; - bool unlock = true; -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - unsigned long count; -+#else -+ int nr_to_scan = sc->nr_to_scan; -+ int count; -+#endif - - if (!mutex_trylock(&dev->struct_mutex)) { - if (!mutex_is_locked_by(&dev->struct_mutex, current)) -@@ -4606,6 +4626,17 @@ i915_gem_inactive_count(struct shrinker - unlock = false; - } - -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)) -+ if (nr_to_scan) { -+ nr_to_scan -= i915_gem_purge(dev_priv, nr_to_scan); -+ if (nr_to_scan > 0) -+ nr_to_scan -= __i915_gem_shrink(dev_priv, nr_to_scan, -+ false); -+ if (nr_to_scan > 0) -+ i915_gem_shrink_all(dev_priv); -+ } -+#endif -+ - count = 0; - list_for_each_entry(obj, &dev_priv->mm.unbound_list, global_list) - if (obj->pages_pin_count == 0) -@@ -4619,6 +4650,7 @@ i915_gem_inactive_count(struct shrinker - return count; - } - -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) - static unsigned long - i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc) - { -@@ -4652,3 +4684,4 @@ i915_gem_inactive_scan(struct shrinker * - mutex_unlock(&dev->struct_mutex); - return freed; - } -+#endif |