linux_dsm_epyc7002/drivers/gpu/drm/i915
Nick Hoath 1b39a917a9 drm/i915: fix context/engine cleanup order
Swap the order of context & engine cleanup, so that contexts are cleaned
up first, and *then* engines. This is a more sensible order anyway, but
in particular has become necessary since the 'intel_ring_initialized()
must be simple and inline' patch, which now uses ring->dev as an
'initialised' flag, so it can now be NULL after engine teardown. This
in turn can cause a problem in the context code, which (used to) check
the ring->dev->struct_mutex -- causing a fault if ring->dev was NULL.

Also rename the cleanup function to reflect what it actually does
(cleanup engines, not a ringbuffer), and fix an annoying whitespace issue.

v2: Also make the fix in i915_load_modeset_init, not just in
    i915_driver_unload (Chris Wilson)
v3: Had extra stuff in it.
v4: Reverted extra stuff (so we're back to v2).
    Rebased and updated commentary above (Dave Gordon).

Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
Signed-off-by: David Gordon <david.s.gordon@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1453504211-7982-2-git-send-email-david.s.gordon@intel.com
2016-02-10 08:40:18 +01:00
..
dvo_ch7xxx.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_ch7017.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_ivch.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_ns2501.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_sil164.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo_tfp410.c drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
dvo.h drm/i915: constify intel_dvo_dev_ops structures 2015-12-09 08:21:10 +01:00
i915_cmd_parser.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_debugfs.c drm/i915: Add PSR main link standby support back 2016-02-01 12:03:36 -08:00
i915_dma.c drm/i915: fix context/engine cleanup order 2016-02-10 08:40:18 +01:00
i915_drv.c drm/i915: refine qemu south bridge detection 2016-01-29 08:56:26 +02:00
i915_drv.h drm/i915: fix context/engine cleanup order 2016-02-10 08:40:18 +01:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Fix premature LRC unpin in GuC mode 2016-01-28 17:23:15 +00:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: Add soft-pinning API for execbuffer 2015-12-09 10:20:17 +00:00
i915_gem_execbuffer.c Fix pointer tests in error-handling paths 2016-01-28 17:42:14 +00:00
i915_gem_fence.c Linux 4.4-rc4 2015-12-08 11:04:26 +10:00
i915_gem_gtt.c drm/i915: implement WaIncreaseDefaultTLBEntries 2016-02-04 14:22:31 +00:00
i915_gem_gtt.h drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 2016-02-05 23:35:43 +02:00
i915_gem_render_state.c drm/i915: mark GEM object pages dirty when mapped & written by the CPU 2015-12-11 18:11:53 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Sanitize GEM shrinker init and clean-up 2016-01-27 17:43:14 +02:00
i915_gem_stolen.c drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 2016-02-05 23:35:43 +02:00
i915_gem_tiling.c drm/i915: get runtime PM reference around GEM set_tiling IOCTL 2015-11-17 18:43:30 +02:00
i915_gem_userptr.c drm/i915: Allow i915_gem_object_get_page() on userptr as well 2016-02-03 10:21:24 -08:00
i915_gem.c drm/i915: fix context/engine cleanup order 2016-02-10 08:40:18 +01:00
i915_gpu_error.c drm/i915: abolish separate per-ring default_context pointers 2016-01-21 09:21:29 +01:00
i915_guc_reg.h drm/i915/guc: Add GuC ADS (Addition Data Structure) - allocation 2016-01-05 11:33:34 +01:00
i915_guc_submission.c drm/i915/guc: Decouple GuC engine id from ring id 2016-01-25 10:56:30 +00:00
i915_ioc32.c
i915_irq.c drm/i915/gen8: Factor out display interrupt handling 2016-01-13 10:01:53 +00:00
i915_params.c drm/i915: Instrument PSR parameter for debuging with link standby x link off. 2016-02-01 12:03:36 -08:00
i915_params.h drm/i915: Reorder i915_params struct. 2015-12-21 14:35:12 +01:00
i915_reg.h drm/i915: Handle PipeC fused off on IVB/HSW/BDW 2016-02-10 08:29:34 +01:00
i915_suspend.c drm/i915/bxt: Don't save/restore eDP panel power during suspend (v3) 2016-02-02 20:12:05 +02:00
i915_sysfs.c drm/i915: use kobj_to_dev() 2016-01-13 16:40:50 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
i915_vgpu.c drm/i915: Turn __raw_i915_read8() & co. in to inline functions 2015-10-26 16:28:04 +02:00
i915_vgpu.h drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_acpi.c drm/i915: Drop unnecessary #include <linux/vga_switcheroo.h> 2015-10-13 10:18:38 +02:00
intel_atomic_plane.c drm/i915: Remove commit_plane function pointer. 2016-01-07 13:52:04 +01:00
intel_atomic.c Revert "drm/i915: Add two-stage ILK-style watermark programming (v10)" 2016-01-20 10:07:22 +01:00
intel_audio.c Add get_eld audio component for i915/HD-audio 2015-12-11 19:28:27 +01:00
intel_bios.c drm/i915/bios: Fix the sequence size calculations for MIPI seq v3 2016-01-15 11:38:11 +02:00
intel_bios.h drm/i915/bios: add defines for v3 sequence block 2016-01-11 19:16:19 +02:00
intel_crt.c Merge tag 'drm-intel-next-2015-12-18' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-12-23 14:22:09 +10:00
intel_csr.c drm/i915/skl: Fix DMC load on Skylake J0 and K0 2016-02-01 08:58:22 -08:00
intel_ddi.c drm/i915/skl: Explicitly check for eDP in skl_ddi_pll_select() 2016-02-09 10:34:48 +01:00
intel_display.c drm/i915: Skip DDI PLL selection for DSI 2016-02-09 17:32:21 +02:00
intel_dp_link_training.c drm/i915/dp: reduce missing TPS3 support errors to debug logging 2016-02-05 14:46:27 +02:00
intel_dp_mst.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued 2016-01-18 08:18:16 +01:00
intel_dp.c drm/i915: Sanity check DP AUX message buffer and size 2016-02-02 18:28:20 +02:00
intel_drv.h drm/i915: Remove atomic.pre_disable_primary. 2016-02-08 14:21:46 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: skip gpio element execution when not supported 2016-02-04 20:34:06 +02:00
intel_dsi_pll.c drm/i915/dsi: remove unused dsi_rr_formula() 2016-01-08 13:30:55 +02:00
intel_dsi.c drm/i915/dsi: Configure DSI after enabling DSI pll 2016-02-04 11:07:35 +02:00
intel_dsi.h drm/i915/dsi: abstract get pclk platform differences 2016-01-08 13:25:12 +02:00
intel_dvo.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_fbc.c drm/i915/fbc: set fbc->active from the new activation functions 2016-02-04 14:18:22 -02:00
intel_fbdev.c drm/i915: Remove obsolete code from intelfb_alloc() 2015-12-21 17:03:25 +01:00
intel_fifo_underrun.c drm/i915: Introduce bdw_{update,enable,disable}_pipe_irq() 2015-11-26 18:55:39 +02:00
intel_frontbuffer.c
intel_guc_fwif.h drm/i915/guc: Decouple GuC engine id from ring id 2016-01-25 10:56:30 +00:00
intel_guc_loader.c drm/i915/guc: Fix a memory leak where guc->execbuf_client is not freed 2016-01-18 09:58:49 +00:00
intel_guc.h drm/i915/guc: Decouple GuC engine id from ring id 2016-01-25 10:56:30 +00:00
intel_hdmi.c drm/i915: Fix file permissions 2016-01-29 10:16:24 +02:00
intel_hotplug.c drm/i915: intel_hpd_init(): Fix suspend/resume reprobing 2016-01-13 10:49:42 +02:00
intel_i2c.c drm/i915: Separate cherryview from valleyview 2015-12-10 11:07:24 +01:00
intel_lrc.c drm/i915: Fix premature LRC unpin in GuC mode 2016-01-28 17:23:15 +00:00
intel_lrc.h drm/i915: Make LRC (un)pinning work on context and engine 2016-01-28 17:23:15 +00:00
intel_lvds.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_mocs.c drm/i915: Type safe register read/write 2015-11-18 15:39:11 +02:00
intel_mocs.h
intel_modes.c drm/i915: Add HDMI aspect ratio property for SDVO 2015-09-30 10:20:12 +02:00
intel_opregion.c drm/i915/opregion: handle VBT sizes bigger than 6 KB 2015-12-17 11:40:57 +02:00
intel_overlay.c drm/i915: simplify allocation of driver-internal requests 2016-01-21 09:21:29 +01:00
intel_panel.c drm/i915/backlight: prefer dev_priv over dev pointer 2015-12-18 11:37:44 +02:00
intel_pm.c drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 2016-02-05 23:35:43 +02:00
intel_psr.c drm/i915: Instrument PSR parameter for debuging with link standby x link off. 2016-02-01 12:03:36 -08:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915/gen9: Add WaOCLCoherentLineFlush 2016-01-25 16:49:15 +01:00
intel_ringbuffer.h drm/i915/guc: Decouple GuC engine id from ring id 2016-01-25 10:56:30 +00:00
intel_runtime_pm.c drm/i915: Kill intel_prepare_ddi() 2016-01-12 16:05:12 +02:00
intel_sdvo_regs.h drm/i915/sdvo: revert bogus kernel-doc comments to normal comments 2016-01-20 10:21:34 +02:00
intel_sdvo.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
intel_sideband.c drm/i915: Extend gpio read/write to other cores 2016-02-04 19:11:17 +02:00
intel_sprite.c drm/i915: Standardize on 'cpp' for bytes per pixel 2016-01-28 20:56:57 +02:00
intel_tv.c drm/i915: Properly terminate KMS mode name string during tv init 2016-02-02 18:28:32 +02:00
intel_uncore.c drm/i915/bxt: Check BIOS RC6 setup before enabling RC6 2016-02-05 23:35:43 +02:00
Kconfig drm/i915: Remove select to deleted STOP_MACHINE from Kconfig 2016-01-25 16:38:39 +01:00
Makefile drm/i915: Move generic link training code to a separate file 2015-11-05 15:14:56 +02:00