linux/drivers/gpu/drm/i915
Ben Widawsky 2f29579131 drm/i915: Reorder ctx unref on ppgtt cleanup
The comment [which was mine] is wrong. The context object can never be
bound in a PPGTT because it is only capable of living in the Global GTT.
So, remove the comment, and reorder the unref. What's nice about the
latter is it keeps the context object alive past the PPGTT. This makes
the destroy ordering symmetric with the creation ordering.

Create:
1. Create context
2. Create PPGTT

Destroy:
1. Destroy PPGTT
2. Destroy context

As far as I know, this does not fix a bug. The code previously kept the
context data structure, only the object was gone. As the code was,
nothing tried to use the object after this point.

NOTE: If in the future we have cases where the PPGTT can/should outlive
the context (which doesn't occur today, but the code permits it), this
ordering does not matter. Even if this occurs, as it stands now, we do
not expect that to be the normal case, and having this order makes
debugging a bit easier if we're tracking object lifetimes for the
context vs ppgtt

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
[danvet: Resolve conflict with Oscar's execlist prep patches.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-07-23 07:05:39 +02:00
..
dvo_ch7xxx.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ch7017.c
dvo_ivch.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ns2501.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_sil164.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_tfp410.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo.h drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops 2013-09-05 21:39:59 +02:00
i915_cmd_parser.c drm/i915: Add some L3 registers to the parser whitelist 2014-06-18 00:48:35 +02:00
i915_debugfs.c drm/i915: Fix printing proper min/min/rpe values in debugfs 2014-07-23 07:05:38 +02:00
i915_dma.c drm/i915: clear pm._irqs_disabled field after installing IRQs 2014-07-23 07:05:35 +02:00
i915_drv.c drm/i915: BDW can also detect unclaimed registers 2014-07-23 07:05:37 +02:00
i915_drv.h drm/i915: reorganize the unclaimed register detection code 2014-07-23 07:05:36 +02:00
i915_gem_context.c drm/i915: Reorder ctx unref on ppgtt cleanup 2014-07-23 07:05:39 +02:00
i915_gem_debug.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_dmabuf.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gem_evict.c drm/i915: Prevent negative relocation deltas from wrapping 2014-05-27 11:18:40 +03:00
i915_gem_execbuffer.c drm/i915: Extract the actual workload submission mechanism from execbuffer 2014-07-08 12:31:06 +02:00
i915_gem_gtt.c drm/i915: Don't disable PPGTT for CHV based in PCI rev 2014-07-11 15:58:33 +02:00
i915_gem_gtt.h drm/i915: Added write-enable pte bit supportt 2014-06-17 09:21:47 +02:00
i915_gem_render_state.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
i915_gem_stolen.c drm/i915: Try harder to get FBC 2014-07-03 11:27:57 +03:00
i915_gem_tiling.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_userptr.c drm/i915: Initialise userptr mmu_notifier serial to 1 2014-07-23 07:05:29 +02:00
i915_gem.c drm/i915: add helper for checking whether IRQs are enabled 2014-07-23 07:05:34 +02:00
i915_gpu_error.c drm/i915/error: Check the potential ctx obj's vm 2014-07-23 07:05:38 +02:00
i915_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
i915_irq.c drm/i915: set pm._irqs_disabled at IRQ init time 2014-07-23 07:05:34 +02:00
i915_params.c drm/i915: reorganize the unclaimed register detection code 2014-07-23 07:05:36 +02:00
i915_reg.h drm/i915/chv: calculate rc6 residency correctly 2014-07-12 11:13:47 +02:00
i915_suspend.c drm/i915: disable GT power saving early during system suspend 2014-05-22 21:53:27 +02:00
i915_sysfs.c drm/i915/chv: calculate rc6 residency correctly 2014-07-12 11:13:47 +02:00
i915_trace_points.c
i915_trace.h drm/i915: s/intel_ring_buffer/intel_engine_cs 2014-05-22 23:01:05 +02:00
i915_ums.c drm/i915: Only restore backlight combination mode reg for ums 2014-01-24 17:22:45 +01:00
intel_acpi.c Merge branch 'acpi-dsm' 2014-01-12 23:45:52 +01:00
intel_bios.c drm/i915: default to having backlight if VBT not available 2014-06-23 16:08:20 +03:00
intel_bios.h drm/i915: Detect if MIPI panel based on VBT and initialize only if present 2014-06-05 08:52:33 +02:00
intel_crt.c drm/i915: remove useless runtime PM get calls 2014-07-23 07:05:23 +02:00
intel_ddi.c drm/i915: Make the WRPLL names const 2014-07-23 07:05:30 +02:00
intel_display.c drm/i915: mark IRQs as disabled on unload 2014-07-23 07:05:36 +02:00
intel_dp.c drm/i915: remove useless runtime PM get calls 2014-07-23 07:05:23 +02:00
intel_drv.h drm/i915: add helper for checking whether IRQs are enabled 2014-07-23 07:05:34 +02:00
intel_dsi_cmd.c drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_cmd.h drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_panel_vbt.c drm/i915: Fix checkpatch errors 2014-06-11 16:57:33 +02:00
intel_dsi_pll.c drm/i915: Try harder to get best m, n, p values with minimal error 2013-12-11 23:52:18 +01:00
intel_dsi.c drm/i915: Fix memory leak in intel_dsi_init() error path 2014-06-13 22:08:15 +02:00
intel_dsi.h drm/i915: Add support for Generic MIPI panel driver 2014-06-05 08:52:32 +02:00
intel_dvo.c drm/i915: Don't get hw state from DVO chip unless DVO is enabled 2014-06-13 15:17:37 +02:00
intel_fbdev.c drm/i915: replace ALIGN(PAGE_SIZE) by PAGE_ALIGN 2014-07-02 13:31:32 +03:00
intel_hdmi.c drm/i915: Add aspect ratio property for HDMI 2014-07-23 07:05:26 +02:00
intel_i2c.c drm/i915: Kill duplicated cdclk readout code from i2c 2014-07-07 11:27:52 +02:00
intel_lvds.c drm/i915: don't read LVDS regs at compute_config time 2014-07-10 22:17:57 +02:00
intel_modes.c
intel_opregion.c drm: convert crtc and connection_mutex to ww_mutex (v5) 2014-06-05 09:54:33 +10:00
intel_overlay.c drm/i915: Track frontbuffer invalidation/flushing 2014-06-19 18:14:47 +02:00
intel_panel.c drm/i915: set backlight duty cycle after backlight enable for gen4 2014-06-11 11:06:43 +03:00
intel_pm.c drm/i915: add helper for checking whether IRQs are enabled 2014-07-23 07:05:34 +02:00
intel_renderstate_gen6.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen7.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen8.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate.h drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_ringbuffer.c drm/i915: Use genX_ prefix for gt irq enable/disable functions 2014-07-23 07:05:30 +02:00
intel_ringbuffer.h drm/i915: Generalize intel_ring_get_tail to take a ringbuf 2014-07-08 12:31:02 +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: Avoid div-by-zero when pixel_multiplier is zero 2014-06-11 11:06:43 +03:00
intel_sideband.c drm/i915: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c drm/i915: Also give the sprite width for WM computation 2014-07-23 07:05:27 +02:00
intel_tv.c drm: convert crtc and connection_mutex to ww_mutex (v5) 2014-06-05 09:54:33 +10:00
intel_uncore.c drm/i915: BDW can also detect unclaimed registers 2014-07-23 07:05:37 +02:00
Kconfig drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
Makefile drm/i915: Add support for Generic MIPI panel driver 2014-06-05 08:52:32 +02:00