linux-next: manual merge of the drm-intel tree with Linus' tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

Today's linux-next merge of the drm-intel tree got a conflict in
drivers/gpu/drm/i915/i915_gem.c between commit 7dc19d5affd7 ("drivers:
convert shrinkers to new count/scan API") from the  tree and commit
e656a6cba0fe ("drm/i915: inline vma_create into lookup_or_create_vma")
from the drm-intel tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

diff --cc drivers/gpu/drm/i915/i915_gem.c
index df9253d,d00d24f..0000000
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@@ -4886,61 -4912,3 +4940,37 @@@ unsigned long i915_gem_obj_size(struct 
  
  	return 0;
  }
 +
 +static unsigned long
 +i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc)
 +{
 +	struct drm_i915_private *dev_priv =
 +		container_of(shrinker,
 +			     struct drm_i915_private,
 +			     mm.inactive_shrinker);
 +	struct drm_device *dev = dev_priv->dev;
 +	int nr_to_scan = sc->nr_to_scan;
 +	unsigned long freed;
 +	bool unlock = true;
 +
 +	if (!mutex_trylock(&dev->struct_mutex)) {
 +		if (!mutex_is_locked_by(&dev->struct_mutex, current))
 +			return 0;
 +
 +		if (dev_priv->mm.shrinker_no_lock_stealing)
 +			return 0;
 +
 +		unlock = false;
 +	}
 +
 +	freed = i915_gem_purge(dev_priv, nr_to_scan);
 +	if (freed < nr_to_scan)
 +		freed += __i915_gem_shrink(dev_priv, nr_to_scan,
 +							false);
 +	if (freed < nr_to_scan)
 +		freed += i915_gem_shrink_all(dev_priv);
 +
 +	if (unlock)
 +		mutex_unlock(&dev->struct_mutex);
 +	return freed;
 +}
- 
- struct i915_vma *i915_gem_obj_to_vma(struct drm_i915_gem_object *obj,
- 				     struct i915_address_space *vm)
- {
- 	struct i915_vma *vma;
- 	list_for_each_entry(vma, &obj->vma_list, vma_link)
- 		if (vma->vm == vm)
- 			return vma;
- 
- 	return NULL;
- }
- 
- struct i915_vma *
- i915_gem_obj_lookup_or_create_vma(struct drm_i915_gem_object *obj,
- 				  struct i915_address_space *vm)
- {
- 	struct i915_vma *vma;
- 
- 	vma = i915_gem_obj_to_vma(obj, vm);
- 	if (!vma)
- 		vma = i915_gem_vma_create(obj, vm);
- 
- 	return vma;
- }

Attachment: pgpDJVFhxaygD.pgp
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux