linux/drivers/gpu/drm/i915
Ben Widawsky 317b4e9036 drm/i915: Extract context switch skip and add pd load logic
In Gen8, PDPs are saved and restored with legacy contexts (legacy contexts
only exist on the render ring). So change the ordering of LRI vs MI_SET_CONTEXT
for the initialization of the context. Also the only cases in which we
need to manually update the PDPs are when MI_RESTORE_INHIBIT has been
set in MI_SET_CONTEXT (i.e. when the context is not yet initialized or
it is the default context).

Legacy submission is not available post GEN8, so it isn't necessary to
add extra checks for newer generations.

v2: Use new functions to replace the logic right away (Daniel)
v3: Add missing pd load logic.
v4: Add warning in case pd_load_pre & pd_load_post are true, and add
missing trace_switch_mm. Cleaned up pd_load conditions. Add more
information about when is pd_load_post needed. (Mika)

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v2+)
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-03-20 11:48:17 +01:00
..
Kconfig drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
Makefile drm/i915: Extract i915_gem_shrinker.c 2015-03-20 11:48:15 +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: Fix vmap_batch page iterator overrun 2015-03-17 22:30:31 +01:00
i915_debugfs.c drm/i915: Relax RPS contraints to allows setting minfreq on idle 2015-03-20 11:48:13 +01:00
i915_dma.c drm/i915: Export total subslice and EU counts 2015-03-17 22:30:31 +01:00
i915_drv.c drm/i915: Remove the preliminary_hw_support shackles from CHV 2015-03-17 22:30:29 +01:00
i915_drv.h drm/i915: Extract i915_gem_shrinker.c 2015-03-20 11:48:15 +01:00
i915_gem.c drm/i915: Extract i915_gem_shrinker.c 2015-03-20 11:48:15 +01: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: Extract context switch skip and add pd load logic 2015-03-20 11:48:17 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: kerneldoc for i915_gem_shrinker.c 2015-03-20 11:48:16 +01:00
i915_gem_execbuffer.c drm/i915: Fallback to using CPU relocations for large batch buffers 2015-03-20 11:48:13 +01:00
i915_gem_gtt.c drm/i915: page table generalizations 2015-03-20 11:48:17 +01:00
i915_gem_gtt.h drm/i915: page table generalizations 2015-03-20 11:48:17 +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_shrinker.c drm/i915: kerneldoc for i915_gem_shrinker.c 2015-03-20 11:48:16 +01:00
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 drm/i915: remove redundant #ifdef CONFIG_COMPAT 2014-10-24 16:34:07 +02:00
i915_irq.c drm/i915: Use down ei for manual Baytrail RPS calculations 2015-03-20 11:48:14 +01:00
i915_params.c drm/i915: Disable the mmio.debug WARN after it fires 2015-03-17 22:30:00 +01:00
i915_reg.h drm/i915: Use down ei for manual Baytrail RPS calculations 2015-03-20 11:48:14 +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/skl: Updated the act_freq_mhz_show sysfs function 2015-03-17 22:30:25 +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 ULL postfix to VGT_MAGIC constant 2015-03-17 22:30:18 +01:00
intel_acpi.c
intel_atomic.c drm/i915: Set crtc backpointer when duplicating crtc state 2015-03-17 22:29:53 +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: Add support for edp 1.4 intermediate frequencies 2015-03-17 22:29:57 +01:00
intel_display.c drm/i915: Improved w/a for rps on Baytrail 2015-03-20 11:48:14 +01:00
intel_dp.c drm/i915: Send out the full AUX address 2015-03-20 11:48:16 +01:00
intel_dp_mst.c drm/i915: Unconfuse DP link rate array names 2015-03-20 11:48:10 +01:00
intel_drv.h drm/i915: Improved w/a for rps on Baytrail 2015-03-20 11:48:14 +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: add frontbuffer tracking to FBC 2015-03-17 22:29:56 +01:00
intel_fbdev.c drm/i915: Make sure we invalidate frontbuffer on fbcon. 2015-03-17 22:30:14 +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: add frontbuffer tracking to FBC 2015-03-17 22:29:56 +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: Use down ei for manual Baytrail RPS calculations 2015-03-20 11:48:14 +01:00
intel_psr.c drm/i915/skl: Enabling PSR on Skylake 2015-01-28 17:22:29 +01:00
intel_renderstate.h drm/i915 Add golden context support for Gen9 2014-11-04 14:04:55 +01:00
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 drm/i915: fix simple_return.cocci warnings 2015-03-17 22:30:00 +01:00
intel_ringbuffer.h drm/i915: add frontbuffer tracking to FBC 2015-03-17 22:29:56 +01:00
intel_runtime_pm.c drm/i915: Spelling s/auxilliary/auxiliary/ 2015-03-17 22:30:12 +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: Use plane->state->fb instead of plane->fb in intel_plane_restore() 2015-03-17 22:30:20 +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 drm/i915: Disable the mmio.debug WARN after it fires 2015-03-17 22:30:00 +01:00