drm/modes: stop handling framebuffer special
authorDave Airlie <airlied@redhat.com>
Fri, 15 Apr 2016 05:10:42 +0000 (15:10 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 22 Apr 2016 00:47:16 +0000 (10:47 +1000)
Since ref counting is in the object now we can just call the
normal interfaces.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_crtc.c

index bec2c32..d078a5c 100644 (file)
@@ -4850,19 +4850,7 @@ bool drm_property_change_valid_get(struct drm_property *property,
                if (value == 0)
                        return true;
 
-               /* handle refcnt'd objects specially: */
-               if (property->values[0] == DRM_MODE_OBJECT_FB) {
-                       struct drm_framebuffer *fb;
-                       fb = drm_framebuffer_lookup(property->dev, value);
-                       if (fb) {
-                               *ref = &fb->base;
-                               return true;
-                       } else {
-                               return false;
-                       }
-               } else {
-                       return _object_find(property->dev, value, property->values[0]) != NULL;
-               }
+               return _object_find(property->dev, value, property->values[0]) != NULL;
        }
 
        for (i = 0; i < property->num_values; i++)
@@ -4878,8 +4866,7 @@ void drm_property_change_valid_put(struct drm_property *property,
                return;
 
        if (drm_property_type_is(property, DRM_MODE_PROP_OBJECT)) {
-               if (property->values[0] == DRM_MODE_OBJECT_FB)
-                       drm_framebuffer_unreference(obj_to_fb(ref));
+               drm_mode_object_unreference(ref);
        } else if (drm_property_type_is(property, DRM_MODE_PROP_BLOB))
                drm_property_unreference_blob(obj_to_blob(ref));
 }