OpenCloudOS-Kernel/drivers/gpu/drm
Daniel Vetter 4a97a3da42 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 8c10342cb4 (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 68d3472047
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
2017-08-08 14:11:53 +02:00
..
amd drm: amd: remove dead code and pointless local lut storage 2017-08-04 11:35:15 +02:00
arc drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
arm drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
armada drm: armada: remove dead empty functions 2017-08-04 11:35:34 +02:00
ast drm: ast: remove dead code and pointless local lut storage 2017-08-04 11:35:39 +02:00
atmel-hlcdc drm/atmel-hlcdc: switch to drm_*{get,put} helpers 2017-08-03 16:41:56 +02:00
bochs drm/<drivers>: Drop fbdev info flags 2017-07-26 13:22:40 +02:00
bridge drm: bridge: synopsys/dw-hdmi: Provide default configuration function for HDMI 2.0 PHY 2017-08-08 14:09:56 +05:30
cirrus drm: cirrus: remove dead code and pointless local lut storage 2017-08-04 11:35:44 +02:00
etnaviv main drm pull for v4.13 2017-07-09 18:48:37 -07:00
exynos drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
fsl-dcu drm/fsl-dcu: Use .dumb_map_offset and .dumb_destroy defaults 2017-08-04 15:11:27 +02:00
gma500 drm: gma500: remove dead code and pointless local lut storage 2017-08-04 11:35:51 +02:00
hisilicon drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
i2c drm: handle HDMI 2.0 VICs in AVI info-frames 2017-07-14 21:23:54 +03:00
i810 drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
i915 drm/i915: Use the drm_driver.dumb_destroy default 2017-08-08 12:33:04 +02:00
imx drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
lib
mediatek drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
meson drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
mga Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
mgag200 drm: mgag200: remove dead code and pointless local lut storage 2017-08-04 11:36:03 +02:00
msm drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
mxsfb drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
nouveau drm: nouveau: remove dead code and pointless local lut storage 2017-08-04 11:36:11 +02:00
omapdrm drm/omap: Rework the rotation-on-crtc hack 2017-08-08 14:09:34 +02:00
panel drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
pl111 drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
qxl drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
r128 drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
radeon drm/radeon: Use the drm_driver.dumb_destroy default 2017-08-08 12:33:33 +02:00
rcar-du drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
rockchip drm/rockchip: fix race with kms hotplug and fbdev 2017-08-04 16:09:46 +08:00
savage drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
selftests
shmobile drm/shmobile: Use .dumb_map_offset and .dumb_destroy defaults 2017-07-29 13:57:33 +02:00
sis drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
sti drm/sti: Use .dumb_map_offset and .dumb_destroy defaults 2017-08-08 12:32:22 +02:00
stm drm: stm: remove dead code and pointless local lut storage 2017-08-04 11:37:00 +02:00
sun4i drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
tdfx drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
tegra drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
tilcdc drm/tilcdc: Use .dumb_map_offset and .dumb_destroy defaults 2017-07-29 13:58:26 +02:00
tinydrm drm/tinydrm: remove call to mipi_dbi_init() from mipi_dbi_spi_init() 2017-08-04 15:12:25 +02:00
ttm drm/ttm: Fix use-after-free in ttm_bo_clean_mm 2017-07-03 16:25:43 -04:00
udl drm/<drivers>: Drop fbdev info flags 2017-07-26 13:22:40 +02:00
vc4 drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
vgem drm/vgem: add compat_ioctl support 2017-07-17 21:08:31 +02:00
via drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
virtio drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
vmwgfx drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
zte drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
Kconfig
Makefile Merge tag 'drm-misc-next-2017-06-15' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-06-16 09:33:43 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm: rename, adjust and export drm_atomic_replace_property_blob 2017-07-14 15:53:06 +02:00
drm_atomic_helper.c drm: Don't update property values for atomic drivers 2017-08-08 14:11:53 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c drm: Introduce drm_bridge_mode_valid() 2017-05-30 08:37:50 +02:00
drm_bufs.c switch compat_drm_mapbufs() to drm_ioctl_kernel() 2017-07-04 13:16:26 -04:00
drm_cache.c
drm_color_mgmt.c drm: More links for gamma support helpers 2017-06-20 12:13:11 +02:00
drm_connector.c drm: Don't update property values for atomic drivers 2017-08-08 14:11:53 +02:00
drm_context.c
drm_crtc.c drm: Don't update property values for atomic drivers 2017-08-08 14:11:53 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h drm: Add drm_{crtc/encoder/connector}_mode_valid() 2017-05-30 08:37:24 +02:00
drm_crtc_internal.h
drm_debugfs.c
drm_debugfs_crc.c drm/crc: Only open CRC on atomic drivers when the CRTC is active. 2017-07-17 16:34:51 +02:00
drm_dma.c
drm_dp_aux_dev.c drm_dp_aux_dev: switch to read_iter/write_iter 2017-07-08 20:51:46 -04:00
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm/dp: start a DPCD based DP sink/branch device quirk database 2017-05-29 13:43:26 +03:00
drm_dp_mst_topology.c Linux 4.13-rc2 2017-07-27 08:15:43 +10:00
drm_drv.c drm: inhibit drm drivers register to uninitialized drm core 2017-07-11 12:03:11 +02:00
drm_dumb_buffers.c drm/dumb-buffers: Add defaults for .dumb_map_offset and .dumb_destroy 2017-07-29 13:51:44 +02:00
drm_edid.c drm/edid: parse ycbcr 420 deep color information 2017-07-14 21:23:54 +03:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c drm: Convert CMA fbdev console suspend helpers to use bool 2017-06-20 16:23:40 +02:00
drm_fb_helper.c drm/fb-helper: pass physical dimensions to fbdev 2017-08-07 17:01:15 +02:00
drm_file.c Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2017-06-27 09:18:17 -04:00
drm_flip_work.c
drm_fourcc.c
drm_framebuffer.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_gem.c drm/gem: Add drm_gem_dumb_map_offset() 2017-07-29 13:49:55 +02:00
drm_gem_cma_helper.c drm: Update docs around gem_free_object 2017-07-26 13:22:39 +02:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_ioc32.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_ioctl.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_irq.c drm/doc: Polish irq helper documentation 2017-06-01 08:02:14 +02:00
drm_kms_helper_common.c
drm_legacy.h switch compat_drm_mapbufs() to drm_ioctl_kernel() 2017-07-04 13:16:26 -04:00
drm_lock.c
drm_memory.c
drm_mipi_dsi.c drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
drm_mm.c
drm_mode_config.c drm: Create a format/modifier blob 2017-08-01 17:50:06 +01:00
drm_mode_object.c drm: Don't update property values for atomic drivers 2017-08-08 14:11:53 +02:00
drm_modes.c drm/modes: Fix drm_mode_is_420_only() comment 2017-07-31 14:23:30 +02:00
drm_modeset_helper.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
drm_modeset_lock.c drm: Improve kerneldoc for drm_modeset_lock 2017-07-26 13:45:08 +02:00
drm_of.c drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
drm_panel.c
drm_pci.c drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
drm_plane.c drm: Don't update property values for atomic drivers 2017-08-08 14:11:53 +02:00
drm_plane_helper.c
drm_prime.c
drm_print.c
drm_probe_helper.c drm: add helper to validate YCBCR420 modes 2017-07-14 21:23:54 +03:00
drm_property.c drm: rename, adjust and export drm_atomic_replace_property_blob 2017-07-14 15:53:06 +02:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c drm: Fix warning when building docs for scdc_helper 2017-07-31 14:24:14 +02:00
drm_simple_kms_helper.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
drm_syncobj.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c Merge airlied/drm-next into drm-misc-next 2017-07-26 13:43:33 +02:00
drm_vm.c
drm_vma_manager.c