linux/include/drm
Daniel Vetter d059f652e7 drm: Handle legacy per-crtc locking with full acquire ctx
So drivers using the atomic interfaces expect that they can acquire
additional locks internal to the driver as-needed. Examples would be
locks to protect shared state like shared display PLLs.

Unfortunately the legacy ioctls assume that all locking is fully done
by the drm core. Now for those paths which grab all locks we already
have to keep around an acquire context in dev->mode_config. Helper
functions that implement legacy interfaces in terms of atomic support
can therefore grab this acquire contexts and reuse it.

The only interfaces left are the cursor and pageflip ioctls. So add
functions to grab the crtc lock these need using an acquire context
and preserve it for atomic drivers to reuse.

v2:
- Fixup comments&kerneldoc.
- Drop the WARNING from modeset_lock_all_crtcs since that can be used
  in legacy paths with crtc locking.

v3: Fix a type on the kerneldoc Dave spotted.

Cc: Dave Airlie <airlied@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-08-08 17:46:45 +02:00
..
bridge drm/bridge/ptn3460: fix modular build 2014-03-24 09:21:15 +10:00
i2c drm/i2c: tda998x: add video and audio input configuration 2013-08-19 09:10:32 +10:00
ttm drm/ttm: fix handling of TTM_PL_FLAG_TOPDOWN v2 2014-07-08 11:15:58 +10:00
drm_agpsupport.h drm: rip out DRM_AGP_MEM and DRM_AGP_KERN 2013-12-18 11:32:55 +10:00
drm_buffer.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
drm_cache.h
drm_core.h drm: Fix support for PCI domains 2010-08-10 08:20:20 +10:00
drm_crtc_helper.h Merge tag 'topic/core-stuff-2014-05-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-16 11:47:13 +10:00
drm_crtc.h drm: Handle legacy per-crtc locking with full acquire ctx 2014-08-08 17:46:45 +02:00
drm_dp_helper.h drm/dp: add a hw mutex around the transfer functions. (v2) 2014-06-05 09:54:29 +10:00
drm_dp_mst_helper.h drm/helper: add Displayport multi-stream helper (v0.6) 2014-07-08 11:41:22 +10:00
drm_edid.h drm/edid: Parse and handle HDMI deep color modes. 2014-06-02 18:37:34 -04:00
drm_encoder_slave.h drm: i2c encoder helper wrappers 2013-02-17 17:55:42 -05:00
drm_fb_cma_helper.h drm: Make drm_fb_cma_describe() static 2013-08-21 12:47:41 +10:00
drm_fb_helper.h drm: Perform cmdline mode parsing during connector initialisation 2014-08-06 14:50:12 +02:00
drm_fixed.h drm: fix 64 bit drm fixed point helpers 2013-07-30 17:24:13 -04:00
drm_flip_work.h drm: Fixup flip-work kerneldoc 2014-04-29 12:33:35 +02:00
drm_gem_cma_helper.h drm/cma: include <drm/drmP.h> as needed 2014-04-04 10:07:57 +10:00
drm_global.h
drm_hashtab.h drm: Add a hash-tab rcu-safe API 2012-11-28 18:36:05 +10:00
drm_mem_util.h introduce SIZE_MAX 2012-05-31 17:49:26 -07:00
drm_memory.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
drm_mipi_dsi.h drm/dsi: Support device shutdown 2014-06-05 16:42:19 +02:00
drm_mm.h drm: Add support for two-ended allocation, v3 2014-04-04 09:28:14 +10:00
drm_modes.h drm: try harder to avoid regression when merging mode bits 2014-05-01 09:26:53 +10:00
drm_modeset_lock.h drm: Handle legacy per-crtc locking with full acquire ctx 2014-08-08 17:46:45 +02:00
drm_of.h drm: add of_graph endpoint helper to find possible CRTCs 2014-07-11 15:38:28 +01:00
drm_os_linux.h drm: Kill DRM_SUSER 2013-12-18 11:35:45 +10:00
drm_panel.h drm: Add panel support 2013-12-17 18:09:46 +01:00
drm_pciids.h drm/radeon: add pci ids for Mullins 2014-05-06 12:20:06 +02:00
drm_plane_helper.h drm/plane-helper: Add drm_plane_helper_check_update() (v3) 2014-06-05 08:52:43 +02:00
drm_rect.h drm: Add drm_rect rotation functions 2014-07-11 23:44:12 +02:00
drm_sysfs.h
drm_usb.h drm: add usb framework 2011-02-07 13:09:42 +10:00
drm_vma_manager.h drm: init TTM dev_mapping in ttm_bo_device_init() 2014-03-16 12:23:42 +01:00
drmP.h drm: drop unused "struct drm_queue" 2014-08-02 06:43:27 +10: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_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: BDW: Adding Reserved PCI IDs. 2014-06-24 14:56:16 +03:00
i915_powerwell.h drm/i915: provide interface for audio driver to query cdclk 2014-07-04 07:46:09 +02:00
intel-gtt.h drm/i915: Fix gen2 mappable calculations 2013-02-15 10:30:38 +01:00