linux_dsm_epyc7002/drivers/gpu/drm/i915
Ben Widawsky e20780439b drm/i915: Defer request freeing
With context destruction, we always want to be able to tear down the
underlying address space. This is invoked on the last unreference to the
context which could happen before we've moved all objects to the
inactive list. To enable a clean tear down the address space, make sure
to process the request free lastly.

Without this change, we cannot guarantee to we don't still have active
objects in the VM.

As an example of a failing case:
CTX-A is created, count=1
CTX-A is used during execbuf
	does a context switch count = 2
	and add_request count = 3
CTX B runs, switches, CTX-A count = 2
CTX-A is destroyed, count = 1
retire requests is called
	free_request from CTX-A, count = 0 <--- free context with active object

As mentioned above, by doing the free request after processing the
active list, we can avoid this case.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-12-18 15:52:51 +01:00
..
dvo_ch7xxx.c drm/i915: dvo_ch7xxx: fix vsync polarity setting 2013-07-25 16:10:22 +02:00
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915/ns2501: Rip out the reenable hack 2013-11-04 16:32:31 +01:00
dvo_sil164.c
dvo_tfp410.c
dvo.h drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops 2013-09-05 21:39:59 +02:00
i915_debugfs.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
i915_dma.c drm/i915: Do aliasing PPGTT init with contexts 2013-12-18 15:32:14 +01:00
i915_drv.c drm/i915: Disallow dynamic ppgtt param modification 2013-11-26 10:10:14 +01:00
i915_drv.h drm/i915: Get context early in execbuf 2013-12-18 15:52:42 +01:00
i915_gem_context.c drm/i915: Get context early in execbuf 2013-12-18 15:52:42 +01:00
i915_gem_debug.c drm/i915: Fix #endif comment 2013-08-09 10:45:52 +02:00
i915_gem_dmabuf.c drm/i915: Pin pages whilst mapping the dma-buf 2013-09-03 19:17:58 +02:00
i915_gem_evict.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
i915_gem_execbuffer.c drm/i915: Get context early in execbuf 2013-12-18 15:52:42 +01:00
i915_gem_gtt.c drm/i915: Do aliasing PPGTT init with contexts 2013-12-18 15:32:14 +01:00
i915_gem_stolen.c Linux 3.12-rc2 2013-09-24 09:32:53 +02:00
i915_gem_tiling.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
i915_gem.c drm/i915: Defer request freeing 2013-12-18 15:52:51 +01:00
i915_gpu_error.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Swap primary planes on gen2 for FBC 2013-12-04 12:09:36 +01:00
i915_reg.h drm/i915: Fix bogus FBC1 defines 2013-12-04 12:09:34 +01:00
i915_suspend.c drm/i915: do not save/restore backlight registers in KMS 2013-11-14 12:22:32 +01:00
i915_sysfs.c Merge branch 'backlight-rework' into drm-intel-next-queued 2013-11-15 10:02:39 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Add a tracepoint for using a semaphore 2013-10-01 07:45:24 +02:00
i915_ums.c drm/i915: do not save/restore backlight registers in KMS 2013-11-14 12:22:32 +01:00
intel_acpi.c ACPI: Eliminate the DEVICE_ACPI_HANDLE() macro 2013-11-14 23:17:21 +01:00
intel_bios.c i915: Use 120MHz LVDS SSC clock for gen5/gen6/gen7 2013-11-15 00:38:44 +01:00
intel_bios.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +01:00
intel_crt.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_ddi.c Linux 3.13-rc3 2013-12-09 09:19:14 +01:00
intel_display.c Linux 3.13-rc3 2013-12-09 09:19:14 +01:00
intel_dp.c Linux 3.13-rc3 2013-12-09 09:19:14 +01:00
intel_drv.h drm/i915: add intel_display_power_enabled_sw() for use in atomic ctx 2013-11-28 15:05:06 +01:00
intel_dsi_cmd.c drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
intel_dsi_cmd.h drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
intel_dsi_pll.c drm/i915: Use adjusted_mode in DSI PLL calculations 2013-09-16 23:36:38 +02:00
intel_dsi.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_dsi.h drm/i915: add VLV DSI PLL Calculations 2013-09-04 17:34:48 +02:00
intel_dvo.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_fbdev.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
intel_hdmi.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_i2c.c drm/i915/vlv: split CCK and DDR freq usage 2013-11-05 19:28:47 +01:00
intel_lvds.c drm/i915/lvds: don't restore hw state in the lid notifier for pch platforms 2013-12-02 15:08:41 +01:00
intel_modes.c
intel_opregion.c Linux 3.13-rc3 2013-12-09 09:19:14 +01:00
intel_overlay.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
intel_panel.c Merge branch 'bdw-fixes' into backlight-rework 2013-11-15 09:44:29 +01:00
intel_pm.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
intel_ringbuffer.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
intel_ringbuffer.h drm/i915: Write RING_TAIL once per-request 2013-09-10 15:35:58 +02:00
intel_sdvo_regs.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +01:00
intel_sdvo.c drm/i915: Return a drm_mode_status enum in the mode_valid vfuncs 2013-11-28 16:49:33 +01:00
intel_sideband.c drm/i915/vlv: Make the vlv_dpio_read/vlv_dpio_write more PHY centric 2013-11-11 10:57:45 +01:00
intel_sprite.c drm/i915: Enable pipe gamma for sprites 2013-11-21 09:09:37 +01:00
intel_tv.c drm/i915/tv: add ->get_config callback 2013-11-18 22:24:33 +01:00
intel_uncore.c drm/i915: Get context early in execbuf 2013-12-18 15:52:42 +01:00
Kconfig i915, fbdev: Fix Kconfig typo 2013-11-21 21:59:02 +01:00
Makefile drm/i915: rename intel_fb.c to intel_fbdev.c 2013-10-11 23:37:33 +02:00