drm: Get atomic property value even if DRIVER_ATOMIC is not set
authorDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Thu, 22 Dec 2016 08:50:43 +0000 (00:50 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 27 Dec 2016 09:44:33 +0000 (10:44 +0100)
i915 does not set DRIVER_ATOMIC by default yet but uses atomic_check and
atomic_commit. drm_object_property_get_value() does not read the correct
value of atomic properties if DRIVER_ATOMIC is not set. Checking whether
the driver uses atomic modeset is a better check instead as the property
values are tracked in the state structures.

v2: Included header

Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1482396643-32456-2-git-send-email-dhinakaran.pandiyan@intel.com
drivers/gpu/drm/drm_mode_object.c

index 9f17085..14543ff 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/export.h>
 #include <drm/drmP.h>
 #include <drm/drm_mode_object.h>
+#include <drm/drm_atomic.h>
 
 #include "drm_crtc_internal.h"
 
@@ -273,7 +274,7 @@ int drm_object_property_get_value(struct drm_mode_object *obj,
         * their value in obj->properties->values[].. mostly to avoid
         * having to deal w/ EDID and similar props in atomic paths:
         */
-       if (drm_core_check_feature(property->dev, DRIVER_ATOMIC) &&
+       if (drm_drv_uses_atomic_modeset(property->dev) &&
                        !(property->flags & DRM_MODE_PROP_IMMUTABLE))
                return drm_atomic_get_property(obj, property, val);