linux/include/drm
Maarten Lankhorst 40616a26d1 drm/atomic: Handle encoder stealing from set_config better.
Instead of failing with -EINVAL when conflicting encoders are found,
the legacy set_config will disable other connectors when encoders
conflict.

With the previous commit this becomes a lot easier to implement.
set_config only adds connectors to the state that are modified,
and because of the previous commit that calls add_affected_connectors
only on set->crtc it means any connector not part of the modeset can
be stolen from. We disable the connector in that case, and possibly
the crtc if required.

Atomic modeset itself still doesn't allow encoder stealing, the results
would be too unpredictable.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1456996662-8704-5-git-send-email-maarten.lankhorst@linux.intel.com
2016-03-08 11:04:34 +01:00
..
bridge Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next 2015-08-27 13:01:57 +10:00
i2c drm/i2c: tda998x: add video and audio input configuration 2013-08-19 09:10:32 +10:00
ttm drm/ttm: add ttm_bo_move_to_lru_tail function v2 2016-01-13 12:21:21 -05:00
ati_pcigart.h drm: Move legacy buffer structures to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
drm_agpsupport.h drm: Remove dummy agp ioctl wrappers 2015-09-30 10:49:22 +02:00
drm_atomic_helper.h drm/atomic-helper: Export framebuffer_changed() 2016-01-20 08:55:43 +08:00
drm_atomic.h drm/atomic: Remove drm_atomic_connectors_for_crtc. 2016-01-06 16:37:39 +01:00
drm_cache.h drm: add helper to check for wc memory support 2016-02-02 10:08:43 -05:00
drm_core.h drm: Fix support for PCI domains 2010-08-10 08:20:20 +10:00
drm_crtc_helper.h drm: Drop drm_helper_probe_single_connector_modes_nomerge() 2015-12-11 09:32:53 +01:00
drm_crtc.h drm/atomic: Handle encoder stealing from set_config better. 2016-03-08 11:04:34 +01:00
drm_displayid.h drm/displayid: add displayid defines and edid extension (v2) 2014-12-09 09:56:46 +10:00
drm_dp_aux_dev.h drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers. 2016-02-12 14:22:40 +01:00
drm_dp_helper.h drm/dp: add eDP DPCD backlight control bit definitions 2015-11-24 11:41:51 +01:00
drm_dp_mst_helper.h drm/dp/mst: move GUID storage from mgr, port to only mst branch 2016-02-05 15:23:49 +10:00
drm_edid.h drm: Make drm_av_sync_delay() 'mode' argument const 2015-09-09 14:53:54 +02:00
drm_encoder_slave.h drm: Constify drm_encoder_slave_funcs 2015-12-15 13:41:17 +01:00
drm_fb_cma_helper.h drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create() 2015-11-24 11:47:38 +01:00
drm_fb_helper.h drm/kms_helper: Add a common place to call init and exit functions. 2016-02-12 14:22:18 +01:00
drm_fixed.h drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil 2016-02-05 15:23:48 +10:00
drm_flip_work.h drm: flip-work: change drm_flip_work_init prototype 2014-11-15 09:29:14 +10:00
drm_gem_cma_helper.h drm/cma: Introduce drm_gem_cma_dumb_create_internal() 2014-11-13 13:27:17 +01:00
drm_gem.h drm: Update GEM refcounting docs 2015-11-24 11:41:49 +01:00
drm_global.h drm: move ttm global code to core drm 2010-08-04 09:46:06 +10:00
drm_hashtab.h drm: Add a hash-tab rcu-safe API 2012-11-28 18:36:05 +10:00
drm_legacy.h drm: move drm_mmap to <drm/drm_legacy.h> 2014-09-24 11:43:07 +10:00
drm_mem_util.h drm: use kvfree() in drm_free_large() 2015-06-30 19:44:59 -07:00
drm_mipi_dsi.h drm/dsi: Add Turn On/Shutdown Peripheral command helpers 2015-11-24 10:25:14 +01:00
drm_mm.h drm/mm: use list_next_entry 2015-11-25 16:22:58 +01:00
drm_modes.h drm: Drop drm_helper_probe_single_connector_modes_nomerge() 2015-12-11 09:32:53 +01:00
drm_modeset_helper_vtables.h drm: fixes crct set_mode when encoder mode_fixup is null. 2016-02-11 09:23:54 +01:00
drm_modeset_lock.h drm: Implement drm_modeset_lock_all_ctx() 2015-12-02 23:10:59 +01:00
drm_of.h drm: Introduce generic probe function for component based masters. 2015-10-20 12:01:29 +02:00
drm_os_linux.h drm: Kill DRM_SUSER 2013-12-18 11:35:45 +10:00
drm_panel.h drm/panel: Add display timing support 2015-04-02 19:04:12 +02:00
drm_pciids.h drm/radeon: add new OLAND pci id 2015-08-12 12:24:05 -04:00
drm_plane_helper.h drm: Reorganize helper vtables and their docs 2015-12-08 16:07:52 +01:00
drm_rect.h drm: Add "prefix" parameter to drm_rect_debug_print() 2015-11-24 11:47:46 +01:00
drm_sysfs.h drm: Enable drm drivers to add drm sysfs devices. 2009-08-19 16:08:51 +10:00
drm_vma_manager.h drm/gem: Use kref_get_unless_zero for the weak mmap references 2015-10-19 11:00:44 +02:00
drmP.h drm: Clean up pending events in the core 2016-02-08 09:55:46 +01:00
exynos_drm.h drm/exynos: fimd: replace struct fb_videomode with videomode 2013-09-05 13:43:44 +09:00
gma_drm.h drm/gma500: Remove unused ioctls 2014-03-17 20:11:57 +01:00
i915_component.h drm/i915: Add get_eld audio component 2015-12-10 13:39:27 +01:00
i915_drm.h x86/gpu: Add Intel graphics stolen memory quirk for gen2 platforms 2014-02-09 15:11:30 +01:00
i915_pciids.h drm/i915/skl: Add SKL GT4 PCI IDs 2015-12-04 19:03:50 +00:00
intel-gtt.h drm/i915/gtt: Allow >= 4GB sizes for vm. 2015-06-26 10:41:13 +02:00