linux/drivers/gpu/drm
Chris Wilson 9a6f513014 drm: Don't assign fbs for universal cursor support to files
The internal framebuffers we create to remap legacy cursor ioctls to
plane operations for the universal plane support shouldn't be linke to
the file like normal userspace framebuffers. This bug goes back to the
original universal cursor plane support introduced in

commit 161d0dc1dc
Author: Matt Roper <matthew.d.roper@intel.com>
Date:   Tue Jun 10 08:28:10 2014 -0700

    drm: Support legacy cursor ioctls via universal planes when possible (v4)

The isn't too disastrous since fbs are small, we only create one when the
cursor bo gets changed and ultimately they'll be reaped when the window
server restarts.

Conceptually we'd want to just pass NULL for file_priv when creating it,
but the driver needs the file to lookup the underlying buffer object for
cursor id. Instead let's move the file_priv linking out of
add_framebuffer_internal() into the addfb ioctl implementation, which is
the only place it is needed. And also rename the function for a more
accurate since it only creates the fb, but doesn't add it anywhere.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> (fix & commit msg)
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (provider of lipstick)
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
2015-03-10 11:51:00 +10:00
..
amd drm/amdkfd: don't set get_pipes_num() as inline 2015-02-23 10:48:02 +02:00
armada Merge tag 'topic/core-stuff-2014-12-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-09 09:13:41 +10:00
ast drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
atmel-hlcdc drm: atmel-hlcdc: remove clock polarity from crtc driver 2015-02-26 14:19:13 +01:00
bochs drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
bridge drm/bridge: dw-hdmi: Adapt to bridge API change 2015-01-28 10:01:30 +01:00
cirrus Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-02-16 15:48:00 -08:00
exynos Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next 2015-02-13 13:02:49 +10:00
gma500 drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
i2c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
i810
i915 Merge tag 'drm-intel-fixes-2015-03-05' of git://anongit.freedesktop.org/drm-intel into drm-fixes 2015-03-07 07:40:17 +10:00
imx DRM: i.MX: parallel display: Support probe deferral for finding DRM panel 2015-02-23 17:19:25 +01:00
mga
mgag200 drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
msm drm/msm: kexec fixes 2015-03-04 18:23:41 -05:00
nouveau drm/ttm: device address space != CPU address space 2015-03-05 09:04:39 +10:00
omapdrm drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
panel drm: panel/simple: add backlight dependency 2015-01-31 10:11:45 +10:00
qxl drm/fb-helper: Propagate errors from initial config failure 2015-01-21 14:57:03 +01:00
r128 drm: remove unnecessary sizeof(u8) 2014-11-20 11:30:37 +10:00
radeon drm/radeon: fix interlaced modes on DCE8 2015-03-03 17:28:31 -05:00
rcar-du drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRS 2015-02-03 11:12:37 +10:00
rockchip Revert "drm/rockchip: Flip select/depends in Kconfig" 2015-03-03 21:11:34 +10:00
savage
shmobile drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRS 2015-02-03 11:12:37 +10:00
sis
sti drm: sti: HDMI add audio infoframe 2015-02-05 16:21:19 +01:00
tdfx
tegra drm/tegra: dc: Move more code into ->init() 2015-02-19 14:21:51 +01:00
tilcdc drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRS 2015-02-03 11:12:37 +10:00
ttm drm/ttm: device address space != CPU address space 2015-03-05 09:04:39 +10:00
udl drm/udl: properly set active_16 flag in udl_crtc_page_flip(). (v2) 2015-01-31 10:12:23 +10:00
via
vmwgfx drm/vmwgfx: Replace the hw mutex with a hw spinlock 2015-01-19 03:02:13 -08:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Merge tag 'topic/atomic-core-2015-01-27' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-28 09:34:27 +10:00
drm_atomic.c Merge tag 'topic/atomic-core-2015-01-27' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-28 09:34:27 +10:00
drm_auth.c
drm_bridge.c drm/bridge: make bridge registration independent of drm flow 2015-01-28 08:45:40 +01:00
drm_bufs.c
drm_cache.c drm/cache: Use wbinvd helpers 2014-12-16 08:56:55 +01:00
drm_context.c
drm_crtc_helper.c drm/atomic: Introduce state->obj backpointers 2014-12-17 20:23:23 +01:00
drm_crtc_internal.h drm/atomic: Hide drm.ko internal interfaces 2015-01-05 13:55:30 +01:00
drm_crtc.c drm: Don't assign fbs for universal cursor support to files 2015-03-10 11:51:00 +10:00
drm_debugfs.c
drm_dma.c
drm_dp_helper.c drm/dp: add drm_dp_link_power_down() helper 2015-02-01 15:06:42 -05:00
drm_dp_mst_topology.c drm/tile: expose the tile property to userspace (v3) 2014-12-09 09:56:48 +10:00
drm_drv.c drm: add atomic properties 2015-01-05 13:54:38 +01:00
drm_edid_load.c drm/edid: Deletion of an unnecessary check before the function call "release_firmware" 2014-11-21 12:16:27 +10:00
drm_edid.c Merge tag 'topic/core-stuff-2014-12-10' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-12-11 10:12:57 +10:00
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-02-16 15:48:00 -08:00
drm_flip_work.c drm: flip-work: change drm_flip_work_init prototype 2014-11-15 09:29:14 +10:00
drm_fops.c drm: Make drm_read() more robust against multithreaded races 2015-01-21 14:57:03 +01:00
drm_gem_cma_helper.c drm/cma: Remove call to drm_gem_free_mmap_offset() 2014-11-13 13:27:33 +01:00
drm_gem.c drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input 2014-11-15 09:50:21 +10:00
drm_global.c
drm_hashtab.c
drm_info.c drm/info: Remove unused code 2014-12-16 18:44:34 +01:00
drm_internal.h drm/info: Remove unused code 2014-12-16 18:44:34 +01:00
drm_ioc32.c
drm_ioctl.c drm: Ensure universal_planes is set for atomic 2015-01-05 13:55:30 +01:00
drm_irq.c drm/irq: Don't disable vblank interrupts when already disabled 2015-01-29 12:50:03 +01:00
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c drm/mipi-dsi: Avoid potential NULL pointer dereference 2015-01-28 08:45:37 +01:00
drm_mm.c drm/mm: Support 4 GiB and larger ranges 2015-03-05 09:01:37 +10:00
drm_modes.c drm/modes: Print the mode status in human readable form 2015-02-03 09:09:22 +01:00
drm_modeset_lock.c drm: Per-plane locking 2014-11-12 17:56:12 +10:00
drm_of.c
drm_panel.c
drm_pci.c
drm_plane_helper.c Merge tag 'topic/atomic-core-2015-01-27' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-01-28 09:34:27 +10:00
drm_platform.c
drm_prime.c drm: Miscellaneous fixes for v3.19-rc1 2014-11-15 09:37:20 +10:00
drm_probe_helper.c drm/probe-helper: clamp unknown connector status in the poll work 2015-01-22 06:11:39 +01:00
drm_rect.c
drm_scatter.c
drm_sysfs.c drm: Use static attribute groups for managing connector sysfs entries 2015-02-04 15:02:00 +01:00
drm_trace_points.c
drm_trace.h
drm_vm.c
drm_vma_manager.c mm: remove rest usage of VM_NONLINEAR and pte_file() 2015-02-10 14:30:31 -08:00
Kconfig drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRS 2015-02-03 11:12:37 +10:00
Makefile drm/bridge: make bridge registration independent of drm flow 2015-01-28 08:45:40 +01:00