]> 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)
commita78e1f1bc8ae5579c61aeb7ac94424cfa1704ed2
tree1b85f49bca3540038906b5d6e6989fdacc2456ac
parentc4fd76ac8442aea3f3a2d3c1ff8f9bb812eabc36
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 424b4e0710f3c0d4385be5792cee3a839bafcd13 (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 e6094a8d20afab1d438041c95d66492665815538
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