linux-stable/drivers/gpu/drm/i915
Chris Wilson e007b19d7b drm/i915: Use the MRU stack search after evicting
When we evict from the GTT to make room for an object, the hole we
create is put onto the MRU stack inside the drm_mm range manager. On the
next search pass, we can speed up a PIN_HIGH allocation by referencing
that stack for the new hole.

v2: Pull together the 3 identical implements (ahem, a couple were
outdated) into a common routine for allocating a node and evicting as
necessary.
v3: Detect invalid calls to i915_gem_gtt_insert()
v4: kerneldoc

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170111112312.31493-1-chris@chris-wilson.co.uk
2017-01-11 12:25:15 +00:00
..
gvt drm/i915: Use the MRU stack search after evicting 2017-01-11 12:25:15 +00: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: Consolidate checks for memcpy-from-wc support 2017-01-06 16:02:07 +00:00
i915_debugfs.c Merge tag 'drm-misc-next-2016-12-30' of git://anongit.freedesktop.org/git/drm-misc into drm-intel-next-queued 2017-01-04 11:41:10 +01:00
i915_drv.c drm/i915: Include ioctl in set-tiling and get-tiling function names 2017-01-10 15:29:13 +00:00
i915_drv.h drm/i915/psr: program vsc header for psr2 2017-01-10 15:38:42 -08:00
i915_gem.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem.h drm/i915: introduce GEM_WARN_ON 2016-12-16 21:16:36 +00:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
i915_gem_context.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_context.h drm/i915: Simplify testing for am-I-the-kernel-context? 2017-01-06 16:02:12 +00:00
i915_gem_dmabuf.c drm/i915: Make GEM object alloc/free and stolen created take dev_priv 2016-12-01 18:00:15 +00:00
i915_gem_evict.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_execbuffer.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_fence_reg.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_fence_reg.h drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_gtt.c drm/i915: Use the MRU stack search after evicting 2017-01-11 12:25:15 +00:00
i915_gem_gtt.h drm/i915: Use the MRU stack search after evicting 2017-01-11 12:25:15 +00:00
i915_gem_internal.c drm/i915: rename BROADWATER and CRESTLINE to I965G and I965GM, respectively 2016-12-07 15:18:33 +02:00
i915_gem_object.h drm/i915: Split out i915_gem_object_set_tiling() 2017-01-10 15:29:14 +00:00
i915_gem_render_state.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_render_state.h
i915_gem_request.c Linux 4.10-rc2 2017-01-04 11:35:18 +01:00
i915_gem_request.h drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff 2017-01-03 11:41:17 +02:00
i915_gem_shrinker.c Main pull request for drm for 4.10 kernel 2016-12-13 09:35:09 -08:00
i915_gem_stolen.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_tiling.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
i915_gem_timeline.c drm/i915: Assert all timeline requests are gone before fini 2017-01-05 15:34:40 +00:00
i915_gem_timeline.h drm/i915: Rename i915_gem_timeline.next_seqno to .seqno 2016-11-25 07:01:11 +00:00
i915_gem_userptr.c Linux 4.10-rc2 2017-01-04 11:35:18 +01:00
i915_gpu_error.c drm/i915: Consolidate checks for memcpy-from-wc support 2017-01-06 16:02:07 +00:00
i915_guc_reg.h drm/i915/guc: Exclude the upper end of the Global GTT for the GuC 2017-01-05 15:34:46 +00:00
i915_guc_submission.c drm/i915: Consolidate checks for memcpy-from-wc support 2017-01-06 16:02:07 +00:00
i915_ioc32.c
i915_irq.c drm/i915: Put "cooked" vlank counters in frame CRC lines 2017-01-10 17:30:56 +01:00
i915_memcpy.c
i915_mm.c
i915_oa_hsw.c drm/i915: Add more Haswell OA metric sets 2016-11-22 14:40:00 +01:00
i915_oa_hsw.h drm/i915: advertise available metrics via sysfs 2016-11-22 14:38:51 +01:00
i915_params.c drm/i915: Use the precomputed value for whether to enable command parsing 2016-11-24 13:52:34 +00:00
i915_params.h drm/i915: Use the precomputed value for whether to enable command parsing 2016-11-24 13:52:34 +00:00
i915_pci.c drm/i915: actually drive the BDW reserved IDs 2017-01-04 14:40:46 -02:00
i915_perf.c drm/i915: Simplify releasing context reference 2016-12-18 16:18:53 +00:00
i915_pvinfo.h
i915_reg.h drm/i915: Disable L2 cache clock gating on 830 when using the overlay 2016-12-22 21:31:21 +02:00
i915_suspend.c drm/i915: Make i915_save/restore_state and intel_i2c_reset take dev_priv 2016-12-01 18:01:23 +00:00
i915_sw_fence.c drm/i915: Integrate i915_sw_fence with debugobjects 2016-11-25 13:49:26 +00:00
i915_sw_fence.h drm/i915: Hold a reference on the request for its fence chain 2016-12-05 11:00:32 +02:00
i915_sysfs.c drm/i915/glk: Convert a few more IS_BROXTON() to IS_GEN9_LP() 2017-01-10 11:03:57 +02:00
i915_trace.h drm/i915: Fix i915_gem_evict_for_vma (soft-pinning) 2016-12-05 20:49:17 +00:00
i915_trace_points.c
i915_utils.h drm/i915: Move a few more utility macros to i915_utils.h 2017-01-05 21:02:04 +00:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Use the MRU stack search after evicting 2017-01-11 12:25:15 +00:00
i915_vma.h drm/i915: Store required fence size/alignment for GGTT vma 2017-01-10 08:12:21 +00:00
intel_acpi.c
intel_atomic.c drm/i915: Move intel_atomic_get_shared_dpll_state() to intel_dpll_mgr.c 2017-01-02 11:31:53 +02:00
intel_atomic_plane.c drm/i915: Add a cursor hack to allow converting legacy page flip to atomic, v3. 2016-12-19 17:48:52 +01:00
intel_audio.c drm/i915: Check num_pipes before initializing audio component 2016-12-22 12:29:17 +02:00
intel_bios.c drm/i915: Use range_overflows() 2017-01-06 16:02:11 +00:00
intel_bios.h drm/i915/dsi: Fix swapping of MIPI_SEQ_DEASSERT_RESET / MIPI_SEQ_ASSERT_RESET 2016-12-20 16:28:25 +02:00
intel_breadcrumbs.c drm/i915/breadcrumbs: s/container_of/rb_entry/ 2016-12-20 12:30:25 +00:00
intel_color.c drm/i915: Assorted INTEL_INFO(dev) cleanups 2016-11-17 13:56:35 +00:00
intel_crt.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_csr.c drm/i915/DMC/GLK: Load DMC on GLK 2017-01-10 11:03:56 +02:00
intel_ddi.c drm/i915: Rename intel_shared_dpll_config to intel_shared_dpll_state 2016-12-30 09:26:10 +02:00
intel_device_info.c drm/i915/glk: Convert a few more IS_BROXTON() to IS_GEN9_LP() 2017-01-10 11:03:57 +02:00
intel_display.c drm/i915: Use new CRC debugfs API 2017-01-10 17:30:50 +01:00
intel_dp.c drm/i915/psr: program vsc header for psr2 2017-01-10 15:38:42 -08:00
intel_dp_aux_backlight.c
intel_dp_link_training.c
intel_dp_mst.c drm/i915: Validate mode against max. link data rate for DP MST 2016-12-05 16:23:18 +02:00
intel_dpio_phy.c drm/i915: Only poll DW3_A when init DDI PHY for ports B and C. 2016-12-02 12:16:25 -08:00
intel_dpll_mgr.c drm/i915: Move intel_atomic_get_shared_dpll_state() to intel_dpll_mgr.c 2017-01-02 11:31:53 +02:00
intel_dpll_mgr.h drm/i915: Add dpll entrypoint for dumping hw state 2016-12-30 09:32:34 +02:00
intel_drv.h drm/i915: Use new CRC debugfs API 2017-01-10 17:30:50 +01:00
intel_dsi.c Linux 4.10-rc2 2017-01-04 11:35:18 +01:00
intel_dsi.h
intel_dsi_dcs_backlight.c
intel_dsi_panel_vbt.c drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting 2016-12-20 16:28:38 +02:00
intel_dsi_pll.c drm/i915: relax uncritical udelay_range() 2016-12-16 11:22:01 +02:00
intel_dvo.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_engine_cs.c drm/i915: Unify active context tracking between legacy/execlists/guc 2016-12-18 16:18:50 +00:00
intel_fbc.c drm/i915: enable FBC on gen9+ too 2017-01-04 14:44:05 -02:00
intel_fbdev.c Merge tag 'drm-misc-next-2017-01-09' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-01-10 08:06:56 +10:00
intel_fifo_underrun.c drm/i915: Always use intel_get_crtc_for_pipe() 2016-11-01 16:40:38 +02:00
intel_frontbuffer.c
intel_frontbuffer.h drm/i915: Move frontbuffer CS write tracking from ggtt vma to object 2016-11-18 11:15:59 +00:00
intel_guc_fwif.h drm/i915/guc: Drop comment on fwif autogeneration 2016-12-07 07:10:21 +00:00
intel_guc_loader.c drm/i915/glk: Convert a few more IS_BROXTON() to IS_GEN9_LP() 2017-01-10 11:03:57 +02:00
intel_gvt.c
intel_gvt.h
intel_hangcheck.c drm/i915: Disable hangcheck when wedged 2016-11-22 17:42:17 +00:00
intel_hdmi.c drm/i915/glk: Reuse broxton code for geminilake 2016-12-02 16:38:56 +02:00
intel_hotplug.c drm/i915: More assorted dev_priv cleanups 2016-11-11 14:58:26 +00:00
intel_i2c.c drm/i915: add some more "i" in platform names for consistency 2016-12-07 15:19:31 +02:00
intel_lrc.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
intel_lrc.h drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
intel_lspcon.c drm/i915/lspcon: Remove unused force change mode parameter 2016-11-23 13:32:01 +02:00
intel_lvds.c drm/i915: Intel panel detection cleanup 2016-12-13 17:25:26 +02:00
intel_mocs.c drm/i915/glk: Reuse broxton code for geminilake 2016-12-02 16:38:56 +02:00
intel_mocs.h drm/i915: Make various init functions take dev_priv 2016-12-01 18:01:15 +00:00
intel_modes.c
intel_opregion.c drm/i915/opregion: fill in the CADL from connector list, not DIDL 2016-11-17 12:45:59 +02:00
intel_overlay.c Merge tag 'drm-misc-next-2016-12-30' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-01-09 09:55:57 +10:00
intel_panel.c drm/i915: clean up Hz to PWM for i965 2016-12-13 17:28:08 +02:00
intel_pipe_crc.c drm/i915: Use new CRC debugfs API 2017-01-10 17:30:50 +01:00
intel_pm.c Merge tag 'drm-misc-next-2016-12-30' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-01-09 09:55:57 +10:00
intel_psr.c drm/i915/psr: disable psr2 for resolution greater than 32X20 2017-01-10 15:41:44 -08:00
intel_renderstate.h
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915: Replace 4096 with PAGE_SIZE or I915_GTT_PAGE_SIZE 2017-01-10 20:54:32 +00:00
intel_ringbuffer.h drm/i915: request ring to be pinned above GUC_WOPCM_TOP 2016-12-24 10:06:59 +00:00
intel_runtime_pm.c drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating 2016-12-20 16:27:46 +02:00
intel_sdvo.c drm/i915: distinguish G33 and Pineview from each other 2016-12-07 23:28:33 +02:00
intel_sdvo_regs.h
intel_sideband.c
intel_sprite.c Merge tag 'drm-misc-next-2016-12-30' of git://anongit.freedesktop.org/git/drm-misc into drm-intel-next-queued 2017-01-04 11:41:10 +01:00
intel_tv.c drm/i915: Pass dev_priv to intel_setup_outputs() 2016-11-25 16:43:24 +02:00
intel_uc.c drm/i915/guc: Make intel_guc_recv static. 2017-01-03 10:16:12 +00:00
intel_uc.h drm/i915/guc: Exclude the upper end of the Global GTT for the GuC 2017-01-05 15:34:46 +00:00
intel_uncore.c Linux 4.10-rc2 2017-01-04 11:35:18 +01:00
intel_vbt_defs.h drm/915: Parsing the missed out DTD fields from the VBT 2016-12-23 15:13:39 +02:00
Kconfig drm/i915/gvt/kvmgt: add vfio/mdev support to KVMGT 2016-12-16 16:55:26 +08:00
Kconfig.debug drm/i915: Enable swfence debugobject support for i915.ko 2016-12-05 20:49:17 +00:00
Makefile drm/i915/debugfs: Move out pipe CRC code 2016-12-13 09:41:24 +01:00