1
0
Fork 0
alistair23-linux/drivers/gpu/drm/i915
Daniel Vetter ff42e093e9 Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers"
This reverts commit 3f678c96ab.

We've been a bit too optimistic with this one here :(

The trouble is that internally we're still using these plane
update/disable hooks. Which was totally ok pre-atomic since the drm
core did all the book-keeping updating and these just mostly updated
hw state. But with atomic there's lots more going on, and it causes
heaps of trouble with the load detect code.

This one specifically cause a deadlock since both the load detect code
and the nested plane atomic helper functions tried to grab the same
locks. It only blows up because of the evil tricks though we play with
the implicit ww acquire context.

Applying this revert unearths the NULL deref on already freed
framebuffer objects reported as a regression in 4.0 by various people.

Fixing this will be fairly invasive, hence revert even for the
4.1-next queue.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul Bolle <pebolle@tiscali.nl>
Acked-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-03-17 22:29:51 +01:00
..
Kconfig drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
Makefile drm/i915: Remove regfile code&data for UMS suspend/resume 2015-02-27 18:10:39 +01:00
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: Trim the command parser allocations 2015-02-23 17:07:40 +01:00
i915_debugfs.c drm/i915: Make for_each_plane() take dev_priv as argument 2015-03-17 22:29:49 +01:00
i915_dma.c drm/i915: Remove DRIVER_MODESET checks in load/unload/close code 2015-02-27 14:57:39 +01:00
i915_drv.c drm/i915: Remove irq-related FIXME in reset code 2015-03-17 22:29:49 +01:00
i915_drv.h drm/i915: Make for_each_sprite() take dev_priv as argument 2015-03-17 22:29:50 +01:00
i915_gem.c Linux 4.0-rc3 2015-03-09 19:58:30 +10:00
i915_gem_batch_pool.c drm/i915: Mark shadow batch buffers as purgeable 2014-12-16 10:39:09 +01:00
i915_gem_context.c drm/i915: Reset logical ring contexts' head and tail during GPU reset 2015-02-24 00:19:37 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: Add some extra guards in evict_vm 2015-01-06 09:07:59 +01:00
i915_gem_execbuffer.c drm/i915: Fix trivial typos in comments and warning message 2015-03-17 22:29:48 +01:00
i915_gem_gtt.c Linux 4.0-rc3 2015-03-09 19:58:30 +10:00
i915_gem_gtt.h drm/i915: Create page table allocators 2015-02-25 16:53:43 +01:00
i915_gem_render_state.c drm/i915: Remove obsolete seqno parameter from 'i915_add_request' 2014-12-03 09:35:19 +01:00
i915_gem_render_state.h
i915_gem_stolen.c Linux 4.0-rc3 2015-03-09 19:58:30 +10:00
i915_gem_tiling.c drm/i915: Check obj->vma_list under the struct_mutex 2015-02-24 15:30:42 +02:00
i915_gem_userptr.c drm/i915: Prevent use-after-free in invalidate_range_start callback 2015-02-05 16:31:30 +02:00
i915_gpu_error.c drm/i915: Add process identifier to requests 2015-02-13 23:28:37 +01:00
i915_ioc32.c
i915_irq.c Linux 4.0-rc3 2015-03-09 19:58:30 +10:00
i915_params.c drm/i915: Add i915.nuclear_pageflip command line param to force atomic (v4) 2015-01-27 09:57:34 +01:00
i915_reg.h drm/i915: Fix trivial typos in comments and warning message 2015-03-17 22:29:48 +01:00
i915_suspend.c drm/i915: Remove regfile code&data for UMS suspend/resume 2015-02-27 18:10:39 +01:00
i915_sysfs.c drm/i915: Add media rc6 residency file to sysfs 2015-02-26 17:48:00 +01:00
i915_trace.h drm/i915/trace: Fix offsets for 64b 2015-02-13 23:28:11 +01:00
i915_trace_points.c
i915_vgpu.c drm/i915: Adds graphic address space ballooning logic 2015-02-13 23:28:23 +01:00
i915_vgpu.h drm/i915: Add the display switch logic for vGPU in i915 driver 2015-02-13 23:28:24 +01:00
intel_acpi.c
intel_atomic.c drm/atomic-helper: Rename commmit_post/pre_planes 2015-02-24 01:57:46 +01:00
intel_atomic_plane.c drm/i915: Rotation property is now handled in DRM core 2015-03-10 09:59:33 +01:00
intel_audio.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_bios.c drm/i915/skl: Support for edp low_vswing param in vbt 2015-02-25 16:06:00 +01:00
intel_bios.h drm/i915/skl: Support for edp low_vswing param in vbt 2015-02-25 16:06:00 +01:00
intel_crt.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_ddi.c drm/i915/skl: Only use the 800mV+2bB HDMI translation entry 2015-03-17 22:29:50 +01:00
intel_display.c Revert "drm/i915: Switch planes from transitional helpers to full atomic helpers" 2015-03-17 22:29:51 +01:00
intel_dp.c Merge tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-03-09 19:41:15 +10:00
intel_dp_mst.c drm/i915: Use pipe_config's cpu_transcoder for reading encoder hw state 2015-01-30 19:38:43 +01:00
intel_drv.h drm/i915: Kill intel_crtc->cursor_{width, height} (v2) 2015-03-17 22:29:47 +01:00
intel_dsi.c Merge tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-03-05 09:41:09 +10:00
intel_dsi.h drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein 2015-01-29 16:57:14 +01:00
intel_dsi_pll.c drm/i915: Use DSI Pll1 for enabling MIPI DSI on Port C 2014-12-10 17:47:21 +01:00
intel_dvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_fbc.c drm/i915: gen5+ can have FBC with multiple pipes 2015-02-23 23:59:57 +01:00
intel_fbdev.c drm/i915: Switch intel_fb_align_height to fb format modifiers 2015-02-13 23:28:18 +01:00
intel_fifo_underrun.c drm/i915: Check for driver readyness before handling an underrun interrupt 2015-03-04 10:04:19 +02:00
intel_frontbuffer.c drm/i915: DRRS calls based on frontbuffer 2015-01-27 09:51:15 +01:00
intel_hdmi.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_i2c.c
intel_lrc.c Linux 4.0-rc3 2015-03-09 19:58:30 +10:00
intel_lrc.h drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading 2015-02-25 22:43:29 +01:00
intel_lvds.c drm/i915: Use enabled value from crtc_state rather than crtc (v2) 2015-02-26 00:14:02 +01:00
intel_modes.c
intel_opregion.c drm/i915: Remove DRIVER_MODESET checks from modeset code 2015-02-27 18:10:53 +01:00
intel_overlay.c drm/i915: Remove DRIVER_MODESET checks from modeset code 2015-02-27 18:10:53 +01:00
intel_panel.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-02-16 15:48:00 -08:00
intel_pm.c drm/i915: Make for_each_plane() take dev_priv as argument 2015-03-17 22:29:49 +01:00
intel_psr.c drm/i915/skl: Enabling PSR on Skylake 2015-01-28 17:22:29 +01:00
intel_renderstate.h
intel_renderstate_gen6.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen7.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen8.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen9.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_ringbuffer.c Merge tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-03-09 19:41:15 +10:00
intel_ringbuffer.h drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading 2015-02-25 22:43:29 +01:00
intel_runtime_pm.c drm/i915/skl: Implementation of SKL display power well support 2015-02-13 23:28:01 +01:00
intel_sdvo.c drm/i915: Fix trivial typos in comments and warning message 2015-03-17 22:29:48 +01:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Correct the IOSF Dev_FN field for IOSF transfers 2015-02-09 14:26:19 +02:00
intel_sprite.c drm/i915/skl: Update watermarks for Y tiling 2015-02-27 18:10:56 +01:00
intel_tv.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_uncore.c Merge tag 'drm-intel-next-2015-02-27' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-03-09 19:41:15 +10:00