linux-stable/drivers/gpu/drm
Chris Wilson e8fe4f4b2b drm/i915: Track pinned vma in intel_plane_state
With atomic plane states we are able to track an allocation right from
preparation, during use and through to the final free after being
swapped out for a new plane. We can couple the VMA we pin for the
framebuffer (and its rotation) to this lifetime and avoid all the clumsy
lookups in between.

v2: Remove residual vma on plane cleanup (Chris)
v3: Add a description for the vma destruction in
    intel_plane_destroy_state (Maarten)

References: https://bugs.freedesktop.org/show_bug.cgi?id=98829
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170116152131.18089-1-chris@chris-wilson.co.uk
Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
(cherry picked from commit be1e341513)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1485854491-27389-3-git-send-email-maarten.lankhorst@linux.intel.com
2017-02-01 11:45:21 +02:00
..
amd drm/amdgpu: fix unload driver issue for virtual display 2017-01-23 16:47:18 -05:00
arc Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2016-12-06 10:26:48 +01:00
arm Linux 4.9-rc8 2016-12-05 17:11:48 +10:00
armada mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
ast drm/ast: Fixed system hanged if disable P2A 2017-01-27 10:40:03 +10:00
atmel-hlcdc drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
bochs drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
bridge drm/bridge: analogix dp: Fix runtime PM state on driver bind 2017-01-09 13:30:37 +05:30
cirrus drm: flip cirrus driver status to "obsolete". 2017-01-10 14:00:40 +01:00
etnaviv drm/etnaviv: trick drm_mm into giving out a low IOVA 2017-01-11 10:38:45 +01:00
exynos drm/exynos/decon5433: set STANDALONE_UPDATE_F on output enablement 2017-01-20 16:17:12 +09:00
fsl-dcu Merge tag 'drm-fsl-dcu-for-next' of http://git.agner.ch/git/linux-drm-fsl-dcu into drm-next 2016-12-09 12:43:17 +10:00
gma500 mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
hisilicon drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
i2c drm/i2c: tda998x: fix spelling mistake 2016-11-18 00:00:40 +00:00
i810 drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
i915 drm/i915: Track pinned vma in intel_plane_state 2017-02-01 11:45:21 +02:00
imx Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2016-12-06 10:26:48 +01:00
mediatek Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2016-12-06 10:26:48 +01:00
meson drm/meson: Fix CVBS VDAC disable 2017-01-04 12:09:30 +01:00
mga
mgag200 drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
msm drm/msm: fix potential null ptr issue in non-iommu case 2017-01-13 10:23:00 -05:00
mxsfb drm: mxsfb: Select DRM_PANEL 2016-12-08 10:25:37 +10:00
nouveau drm/nouveau: Handle fbcon suspend/resume in seperate worker 2017-01-27 10:50:35 +10:00
omapdrm mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
panel drm/panel: simple: Add support for AUO G185HAN01 2016-12-06 17:06:32 +01:00
qxl Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2016-12-06 10:26:48 +01:00
r128
radeon Revert "drm/radeon: always apply pci shutdown callbacks" 2017-01-25 16:54:50 -05:00
rcar-du drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
rockchip drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
savage drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
shmobile drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
sis drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
sti drm: Make the connector .detect() callback optional 2016-12-01 10:05:53 -05:00
sun4i Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2016-12-06 10:26:48 +01:00
tdfx drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
tegra mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
tilcdc tilcdc fixes for v4.10. 2017-01-09 09:13:06 +10:00
ttm mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
udl mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
vc4 drm/vc4: Return -EINVAL on the overflow checks failing. 2017-01-17 22:06:01 +11:00
vgem mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
via drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
virtio drm/virtio: fix framebuffer sparse warning 2017-01-10 13:58:20 +01:00
vmwgfx drm/vmwgfx: Switch to mode_cmd2 2016-12-02 17:15:20 +01:00
zte drm: zte: checking for NULL instead of IS_ERR() 2016-11-15 11:00:42 +01:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm/fence: fix memory overwrite when setting out_fence fd 2017-01-16 20:00:54 -02:00
drm_atomic_helper.c drm/atomic: Unconditionally call prepare_fb. 2017-02-01 11:44:39 +02:00
drm_auth.c
drm_blend.c drm: RIP mode_config->rotation_property 2016-10-22 10:42:11 +02:00
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_color_mgmt.c drm/color: document NULL values and default settings better 2016-11-15 22:39:48 +01:00
drm_connector.c drm: document standard connector properties 2016-11-18 09:45:07 +01:00
drm_context.c
drm_crtc.c drm/fence: add drm_crtc_create_fence() 2016-12-07 11:16:55 -02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/fence: add drm_crtc_create_fence() 2016-12-07 11:16:55 -02:00
drm_debugfs.c drm/atomic: cleanup debugfs entries on un-registering the driver. 2016-11-21 13:22:08 -05:00
drm_debugfs_crc.c
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c drm: Print some debug/error info during DP dual mode detect 2016-10-26 15:57:11 -04:00
drm_dp_helper.c
drm_dp_mst_topology.c drm/dp/mst: Check peer device type before attempting EDID read 2016-10-26 18:53:44 +02:00
drm_drv.c drm: Add fake controlD* symlinks for backwards compat 2016-12-10 22:46:19 +01:00
drm_dumb_buffers.c drm: Consolidate dumb buffer docs 2016-11-15 12:51:49 +01:00
drm_edid.c Merge tag 'drm-misc-next-2016-11-29' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2016-11-30 14:28:20 +10:00
drm_edid_load.c
drm_encoder.c drm: Fix locking cargo-cult in encoder/plane init/cleanup 2016-11-29 23:34:36 +01:00
drm_encoder_slave.c
drm_fb_cma_helper.c drm/fb_cma_helper: Add drm_fb_cma_prepare_fb() helper 2016-11-14 12:43:58 +01:00
drm_fb_helper.c drm: Protect fb_helper list manipulation with a mutex 2016-11-29 15:52:32 -05:00
drm_flip_work.c
drm_fops.c drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n and reduce #ifdefs 2016-11-02 11:33:47 -04:00
drm_fourcc.c drm: move allocation out of drm_get_format_name() 2016-11-12 14:19:38 +01:00
drm_framebuffer.c drm: Nuke modifier[1-3] 2016-11-17 11:58:09 +01:00
drm_gem.c
drm_gem_cma_helper.c
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h drm: drm_irq.h header cleanup 2016-11-15 23:33:48 +01:00
drm_ioc32.c
drm_ioctl.c drm: Allow CAP_PRIME on !MODESET 2016-12-08 10:00:15 +01:00
drm_irq.c drm/irq: Unexport drm_vblank_on/off 2016-11-15 23:33:48 +01:00
drm_kms_helper_common.c
drm_legacy.h
drm_lock.c drm: Avoid NULL dereference for DRM_LEGACY debug message 2016-11-28 08:39:41 +01:00
drm_memory.c
drm_mipi_dsi.c
drm_mm.c drm: Initialise drm_mm.head_node.allocated 2016-12-01 10:35:45 +01:00
drm_mode_config.c drm/fence: add out-fences support 2016-11-16 14:36:27 +01:00
drm_mode_object.c
drm_modes.c drm: Fix broken VT switch with video=1366x768 option 2017-01-11 18:46:07 +02:00
drm_modeset_helper.c drm: also move DSI panels to the front of the connector list 2016-11-17 11:59:26 +01:00
drm_modeset_lock.c drm/doc: Fix indenting in drm_modeset_lock.c comment 2016-11-29 23:34:36 +01:00
drm_of.c drm: convert DT component matching to component_match_add_release() 2016-10-25 11:52:38 -04:00
drm_panel.c
drm_pci.c
drm_plane.c Merge tag 'drm-misc-next-2016-12-08' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2016-12-09 12:29:10 +10:00
drm_plane_helper.c drm: add helpers to go from plane state to drm_rect 2016-11-08 16:38:03 -05:00
drm_platform.c
drm_prime.c drm: Take ownership of the dmabuf->obj when exporting 2016-12-08 10:29:22 +01:00
drm_print.c drm/print: Move kerneldoc next to definition 2016-11-15 12:55:24 +01:00
drm_probe_helper.c Revert "drm/probe-helpers: Drop locking from poll_enable" 2017-01-26 06:44:03 +10:00
drm_property.c drm: Use u64_to_user_ptr() helper for blob ioctls 2016-11-28 08:12:18 +01:00
drm_rect.c drm: helper macros to print composite types 2016-11-08 16:38:03 -05:00
drm_scatter.c
drm_simple_kms_helper.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vm.c mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
drm_vma_manager.c
Kconfig Add support for the Amlogic Meson Video Processing Unit 2016-12-08 10:35:52 +10:00
Makefile Add support for the Amlogic Meson Video Processing Unit 2016-12-08 10:35:52 +10:00