[PATCH 6/6] drm/i915: various cleanups after the recent rewriting
Dave Gordon
david.s.gordon at intel.com
Wed Jul 20 11:10:58 UTC 2016
Making to_intel_bo() and to_gem_object() have well-defined behaviour for
NULL parameters means that it is safe to pass a possibly-NULL pointer to
i915_gem_object_unreference{_unlocked}(), so we can remove a few checks
for non-NULL values.
And in a few places, we can make the code a little simpler by choosing
to keep a pointer to a DRM object rather than an i915 object, or vice-
versa.
Signed-off-by: Dave Gordon <david.s.gordon at intel.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
drivers/gpu/drm/i915/i915_gem.c | 7 ++++---
drivers/gpu/drm/i915/i915_gem_evict.c | 7 +++----
drivers/gpu/drm/i915/intel_guc_loader.c | 7 ++-----
drivers/gpu/drm/i915/intel_pm.c | 3 +--
5 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 618f8cf..4fcddd0 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -144,7 +144,7 @@ static u64 i915_gem_obj_total_ggtt_size(struct drm_i915_gem_object *obj)
lockdep_assert_held(&obj->base.dev->struct_mutex);
seq_printf(m, "%pK: %c%c%c%c%c %8zdKiB %02x %02x [ ",
- &obj->base,
+ obj,
get_active_flag(obj),
get_pin_flag(obj),
get_tiling_flag(obj),
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 635be83..96dc7fa 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1918,11 +1918,12 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
static int i915_gem_object_create_mmap_offset(struct drm_i915_gem_object *obj)
{
struct drm_i915_private *dev_priv = to_i915(obj->base.dev);
+ struct drm_gem_object *drm_obj = to_gem_object(obj);
int ret;
dev_priv->mm.shrinker_no_lock_stealing = true;
- ret = drm_gem_create_mmap_offset(&obj->base);
+ ret = drm_gem_create_mmap_offset(drm_obj);
if (ret != -ENOSPC)
goto out;
@@ -1938,12 +1939,12 @@ static int i915_gem_object_create_mmap_offset(struct drm_i915_gem_object *obj)
I915_SHRINK_BOUND |
I915_SHRINK_UNBOUND |
I915_SHRINK_PURGEABLE);
- ret = drm_gem_create_mmap_offset(&obj->base);
+ ret = drm_gem_create_mmap_offset(drm_obj);
if (ret != -ENOSPC)
goto out;
i915_gem_shrink_all(dev_priv);
- ret = drm_gem_create_mmap_offset(&obj->base);
+ ret = drm_gem_create_mmap_offset(drm_obj);
out:
dev_priv->mm.shrinker_no_lock_stealing = false;
diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
index c1c695b..aeeb7a5 100644
--- a/drivers/gpu/drm/i915/i915_gem_evict.c
+++ b/drivers/gpu/drm/i915/i915_gem_evict.c
@@ -191,17 +191,16 @@
/* Unbinding will emit any required flushes */
while (!list_empty(&eviction_list)) {
- struct drm_gem_object *obj;
+ struct drm_i915_gem_object *obj;
vma = list_first_entry(&eviction_list,
struct i915_vma,
exec_list);
-
- obj = &vma->obj->base;
+ obj = vma->obj;
list_del_init(&vma->exec_list);
if (ret == 0)
ret = i915_vma_unbind(vma);
- drm_gem_object_unreference(obj);
+ i915_gem_object_unreference(obj);
}
return ret;
diff --git a/drivers/gpu/drm/i915/intel_guc_loader.c b/drivers/gpu/drm/i915/intel_guc_loader.c
index 01c075a..dabfbd9 100644
--- a/drivers/gpu/drm/i915/intel_guc_loader.c
+++ b/drivers/gpu/drm/i915/intel_guc_loader.c
@@ -660,9 +660,7 @@ static void guc_fw_fetch(struct drm_device *dev, struct intel_guc_fw *guc_fw)
guc_fw->guc_fw_path, err);
mutex_lock(&dev->struct_mutex);
- obj = guc_fw->guc_fw_obj;
- if (obj)
- i915_gem_object_unreference(obj);
+ i915_gem_object_unreference(guc_fw->guc_fw_obj);
guc_fw->guc_fw_obj = NULL;
mutex_unlock(&dev->struct_mutex);
@@ -742,8 +740,7 @@ void intel_guc_fini(struct drm_device *dev)
i915_guc_submission_disable(dev_priv);
i915_guc_submission_fini(dev_priv);
- if (guc_fw->guc_fw_obj)
- i915_gem_object_unreference(guc_fw->guc_fw_obj);
+ i915_gem_object_unreference(guc_fw->guc_fw_obj);
guc_fw->guc_fw_obj = NULL;
mutex_unlock(&dev->struct_mutex);
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index b515569..e1285ee 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5706,8 +5706,7 @@ static void valleyview_setup_pctx(struct drm_i915_private *dev_priv)
static void valleyview_cleanup_pctx(struct drm_i915_private *dev_priv)
{
- if (WARN_ON(!dev_priv->vlv_pctx))
- return;
+ WARN_ON(!dev_priv->vlv_pctx);
i915_gem_object_unreference_unlocked(dev_priv->vlv_pctx);
dev_priv->vlv_pctx = NULL;
--
1.9.1
More information about the Intel-gfx-trybot
mailing list