]> git.baikalelectronics.ru Git - kernel.git/commit
drm: Don't update property values for atomic drivers
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 25 Jul 2017 12:01:37 +0000 (14:01 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 8 Aug 2017 12:11:53 +0000 (14:11 +0200)
commit4b829b573edeae5fd81a80493213765c64ee85ef
tree1b85f49bca3540038906b5d6e6989fdacc2456ac
parenta57cfe109db4c376485cb484179a7bd3109cb8b7
drm: Don't update property values for atomic drivers

Atomic drivers only use the property value store for immutable (i.e.
can't be set by userspace, but the kernel can still adjust it)
properties. The only tricky part is the removal of the update in
drm_atomic_helper_update_legacy_modeset_state().

This was added in

commit ad9831b5f26a614c555e133161bfcf189546d06a (tag: topic/drm-misc-2015-07-28)
Author: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Date:   Mon Jul 27 13:24:29 2015 +0200

    drm/atomic: Update legacy DPMS state during modesets, v3.

by copying it from the i915 code, where it was originally added in

commit e6ddf761f79ddd9ada07b1090acd898ee1f0940e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Sep 6 22:08:35 2012 +0200

    drm/i915: update dpms property in set_mode

for the legacy modeset code. The reason we needed this hack was that
i915 didn't yet set DRIVER_ATOMIC, and we checked for that instead of
the newer-ish drm_drv_uses_atomic_modeset(), which avoids such
troubles. With the correct feature checks this isn't needed anymore at
all.

Also make sure that drivers don't accidentally get this wrong by
making the exported version of drm_object_property_get_value() only
work for legacy drivers. Only gma500 uses it anyway.

v2: Fixup the uses_atomic_modeset() checks (Maarten)

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170725120137.1903-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_connector.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_mode_object.c
drivers/gpu/drm/drm_plane.c