Module Name: src
Committed By: riastradh
Date: Wed Sep 17 16:35:39 UTC 2014
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: i915_gem.c
Log Message:
Avoid container_of-inspired &obj->base == NULL nonsense.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.15 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.16
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:1.15 Wed Aug 20 13:48:08 2014
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c Wed Sep 17 16:35:39 2014
@@ -809,6 +809,7 @@ i915_gem_pread_ioctl(struct drm_device *
struct drm_file *file)
{
struct drm_i915_gem_pread *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret = 0;
@@ -824,11 +825,12 @@ i915_gem_pread_ioctl(struct drm_device *
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
/* Bounds check source. */
if (args->offset > obj->base.size ||
@@ -1201,6 +1203,7 @@ i915_gem_pwrite_ioctl(struct drm_device
struct drm_file *file)
{
struct drm_i915_gem_pwrite *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -1225,11 +1228,12 @@ i915_gem_pwrite_ioctl(struct drm_device
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
/* Bounds check destination. */
if (args->offset > obj->base.size ||
@@ -1661,6 +1665,7 @@ i915_gem_set_domain_ioctl(struct drm_dev
struct drm_file *file)
{
struct drm_i915_gem_set_domain *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
uint32_t read_domains = args->read_domains;
uint32_t write_domain = args->write_domain;
@@ -1683,11 +1688,12 @@ i915_gem_set_domain_ioctl(struct drm_dev
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
/* Try to flush the object off the GPU without holding the lock.
* We will repeat the flush holding the lock in the normal manner
@@ -1727,6 +1733,7 @@ i915_gem_sw_finish_ioctl(struct drm_devi
struct drm_file *file)
{
struct drm_i915_gem_sw_finish *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret = 0;
@@ -1734,11 +1741,12 @@ i915_gem_sw_finish_ioctl(struct drm_devi
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
/* Pinned buffers may be scanout, so flush the cache */
if (obj->pin_display)
@@ -2266,6 +2274,7 @@ i915_gem_mmap_gtt(struct drm_file *file,
uint64_t *offset)
{
struct drm_i915_private *dev_priv = dev->dev_private;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -2273,11 +2282,12 @@ i915_gem_mmap_gtt(struct drm_file *file,
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
if (obj->base.size > dev_priv->gtt.mappable_end) {
ret = -E2BIG;
@@ -3356,6 +3366,7 @@ i915_gem_wait_ioctl(struct drm_device *d
{
struct drm_i915_private *dev_priv = dev->dev_private;
struct drm_i915_gem_wait *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
struct intel_ring_buffer *ring = NULL;
struct timespec timeout_stack, *timeout = NULL;
@@ -3372,11 +3383,12 @@ i915_gem_wait_ioctl(struct drm_device *d
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->bo_handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->bo_handle);
+ if (gobj == NULL) {
mutex_unlock(&dev->struct_mutex);
return -ENOENT;
}
+ obj = to_intel_bo(gobj);
/* Need to make sure the object gets inactive eventually. */
ret = i915_gem_object_flush_active(obj);
@@ -4319,6 +4331,7 @@ int i915_gem_get_caching_ioctl(struct dr
struct drm_file *file)
{
struct drm_i915_gem_caching *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -4326,11 +4339,12 @@ int i915_gem_get_caching_ioctl(struct dr
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
switch (obj->cache_level) {
case I915_CACHE_LLC:
@@ -4357,6 +4371,7 @@ int i915_gem_set_caching_ioctl(struct dr
struct drm_file *file)
{
struct drm_i915_gem_caching *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
enum i915_cache_level level;
int ret;
@@ -4379,11 +4394,12 @@ int i915_gem_set_caching_ioctl(struct dr
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
ret = i915_gem_object_set_cache_level(obj, level);
@@ -4689,6 +4705,7 @@ i915_gem_pin_ioctl(struct drm_device *de
struct drm_file *file)
{
struct drm_i915_gem_pin *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -4699,11 +4716,12 @@ i915_gem_pin_ioctl(struct drm_device *de
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
if (obj->madv != I915_MADV_WILLNEED) {
DRM_DEBUG("Attempting to pin a purgeable buffer\n");
@@ -4745,6 +4763,7 @@ i915_gem_unpin_ioctl(struct drm_device *
struct drm_file *file)
{
struct drm_i915_gem_pin *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -4752,11 +4771,12 @@ i915_gem_unpin_ioctl(struct drm_device *
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
if (obj->pin_filp != file) {
DRM_DEBUG("Not pinned by caller in i915_gem_pin_ioctl(): %d\n",
@@ -4782,6 +4802,7 @@ i915_gem_busy_ioctl(struct drm_device *d
struct drm_file *file)
{
struct drm_i915_gem_busy *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -4789,11 +4810,12 @@ i915_gem_busy_ioctl(struct drm_device *d
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
/* Count all active objects as busy, even if they are currently not used
* by the gpu. Users of this interface expect objects to eventually
@@ -4826,6 +4848,7 @@ i915_gem_madvise_ioctl(struct drm_device
struct drm_file *file_priv)
{
struct drm_i915_gem_madvise *args = data;
+ struct drm_gem_object *gobj;
struct drm_i915_gem_object *obj;
int ret;
@@ -4841,11 +4864,12 @@ i915_gem_madvise_ioctl(struct drm_device
if (ret)
return ret;
- obj = to_intel_bo(drm_gem_object_lookup(dev, file_priv, args->handle));
- if (&obj->base == NULL) {
+ gobj = drm_gem_object_lookup(dev, file_priv, args->handle);
+ if (gobj == NULL) {
ret = -ENOENT;
goto unlock;
}
+ obj = to_intel_bo(gobj);
if (i915_gem_obj_is_pinned(obj)) {
ret = -EINVAL;