linux/drivers/gpu/drm/i915
Davidlohr Bueso f808c13fd3 lib/interval_tree: fast overlap detection
Allow interval trees to quickly check for overlaps to avoid unnecesary
tree lookups in interval_tree_iter_first().

As of this patch, all interval tree flavors will require using a
'rb_root_cached' such that we can have the leftmost node easily
available.  While most users will make use of this feature, those with
special functions (in addition to the generic insert, delete, search
calls) will avoid using the cached option as they can do funky things
with insertions -- for example, vma_interval_tree_insert_after().

[jglisse@redhat.com: fix deadlock from typo vm_lock_anon_vma()]
  Link: http://lkml.kernel.org/r/20170808225719.20723-1-jglisse@redhat.com
Link: http://lkml.kernel.org/r/20170719014603.19029-12-dave@stgolabs.net
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Doug Ledford <dledford@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-09-08 18:26:49 -07:00
..
gvt Merge tag 'drm-intel-next-fixes-2017-09-07' of git://anongit.freedesktop.org/git/drm-intel 2017-09-07 14:37:25 -07:00
selftests drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
dvo_ch7xxx.c drm/i915/dvo: fix debug logging on unknown DID 2017-06-01 15:53:03 +03:00
dvo_ch7017.c drm/i915/lvds: Remove magic from PLL programming 2017-05-10 13:47:55 +03:00
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Recreate vmapping even when the object is pinned 2017-08-30 12:08:11 -07:00
i915_debugfs.c drm/i915: wire up shrinkctl->nr_scanned 2017-09-06 17:27:25 -07:00
i915_drv.c drm/i915: Re-enable GTT following a device reset 2017-09-06 10:18:38 -07:00
i915_drv.h Merge tag 'drm-intel-next-fixes-2017-09-07' of git://anongit.freedesktop.org/git/drm-intel 2017-09-07 14:37:25 -07:00
i915_gem_batch_pool.c drm/i915: Reinstate reservation_object zapping for batch_pool objects 2017-06-14 14:06:22 +01:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_clflush.h drm/i915: Force CPU synchronisation even if userspace requests ASYNC 2017-07-27 22:07:24 +02:00
i915_gem_context.c drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_context.h drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_dmabuf.c drm/i915: Implement dma_buf_ops->kmap 2017-05-03 23:15:02 +01:00
i915_gem_evict.c drm/i915: Convert execbuf to use struct-of-array packing for critical fields 2017-08-18 11:57:36 +01:00
i915_gem_execbuffer.c drm/i915: Annotate user relocs with __user 2017-09-06 10:18:33 -07:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c Merge tag 'drm-intel-next-fixes-2017-09-07' of git://anongit.freedesktop.org/git/drm-intel 2017-09-07 14:37:25 -07:00
i915_gem_gtt.h drm/i915: pass the vma to insert_entries 2017-06-22 16:48:50 +01:00
i915_gem_internal.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_object.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_object.h drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_render_state.c drm/i915: Perform an invalidate prior to executing golden renderstate 2017-08-14 19:28:06 +03:00
i915_gem_render_state.h
i915_gem_request.c drm/i915: Mark the GT as busy before idling the previous request 2017-08-18 12:01:41 +01:00
i915_gem_request.h Merge tag 'drm-intel-next-2017-07-17' of git://anongit.freedesktop.org/git/drm-intel into drm-next 2017-07-20 11:31:43 +10:00
i915_gem_shrinker.c drm/i915: wire up shrinkctl->nr_scanned 2017-09-06 17:27:25 -07:00
i915_gem_stolen.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_tiling.c drm/i915: Fix logical inversion for gen4 quirking 2017-06-07 16:31:34 +03:00
i915_gem_timeline.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gem_timeline.h drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[] 2017-05-03 11:08:52 +01:00
i915_gem_userptr.c lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
i915_gem.c Merge tag 'drm-intel-next-fixes-2017-09-07' of git://anongit.freedesktop.org/git/drm-intel 2017-09-07 14:37:25 -07:00
i915_gem.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gpu_error.c drm/i915: Make i915_gem_context_mark_guilty() safe for unlocked updates 2017-07-27 09:38:47 +02:00
i915_guc_reg.h
i915_guc_submission.c drm/i915: Differentiate between sw write location into ring and last hw read 2017-06-19 10:52:34 +03:00
i915_ioc32.c
i915_irq.c drm/i915: More surgically unbreak the modeset vs reset deadlock 2017-08-14 17:03:36 +02:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bdw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_bxt.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bxt.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_chv.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_chv.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_glk.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_glk.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_hsw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_hsw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt4.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt4.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_params.c drm/i915/opregion: let user specify override VBT via firmware load 2017-08-17 16:34:54 +03:00
i915_params.h drm/i915/opregion: let user specify override VBT via firmware load 2017-08-17 16:34:54 +03:00
i915_pci.c drm/i915: Disable per-engine reset for Broxton 2017-07-27 09:38:48 +02:00
i915_perf.c Linux 4.13-rc5 2017-08-15 16:16:58 +10:00
i915_pvinfo.h drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_reg.h drm/i915/cnl: Setup PAT Index. 2017-08-15 16:57:24 -07:00
i915_selftest.h drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs 2017-08-18 11:55:02 +01:00
i915_suspend.c
i915_sw_fence.c main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_sw_fence.h main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_syncmap.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_syncmap.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_sysfs.c drm/i915: add const to bin_attribute 2017-08-03 12:20:09 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Fix enum pipe vs. enum transcoder for the PCH transcoder 2017-09-01 10:30:43 -07:00
i915_utils.h drm/i915: Store a direct lookup from object handle to vma 2017-06-16 16:54:04 +01:00
i915_vgpu.c drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vgpu.h drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vma.c drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_vma.h drm/i915: Ignore duplicate VMA stored within the per-object handle LUT 2017-08-30 12:17:22 -07:00
intel_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
intel_atomic_plane.c drm/i915/skl+: Check for supported plane configuration in Interlace mode 2017-07-04 16:52:30 +03:00
intel_atomic.c drm/i915/cnl: Fix Cannonlake scaler mode programing. 2017-06-12 09:45:55 -07:00
intel_audio.c drm/i915: Reorganize intel_lpe_audio_notify() arguments 2017-05-03 16:20:48 +03:00
intel_bios.c drm/i915/vbt: ignore extraneous child devices for a port 2017-08-16 18:02:08 +03:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Skip adding the request to the signal tree is complete 2017-06-08 12:33:08 +01:00
intel_cdclk.c drm/i915: reintroduce VLV/CHV PFI programming power domain workaround 2017-07-03 16:12:44 +03:00
intel_color.c drm/i915: Make i9xx_load_ycbcr_conversion_matrix() static 2017-09-01 10:30:37 -07:00
intel_crt.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
intel_csr.c drm/i915: Use HAS_CSR instead of gen number on DMC load. 2017-06-12 09:45:30 -07:00
intel_ddi.c Linux 4.13-rc5 2017-08-15 16:16:58 +10:00
intel_device_info.c drm/i915: Use HAS_PCH_CPT() everywhere 2017-06-22 19:08:34 +03:00
intel_display.c drm/i915: Skip fence alignemnt check for the CCS plane 2017-08-30 12:08:20 -07:00
intel_dp_aux_backlight.c Revert "drm/i915: Add heuristic to determine better way to adjust brightness" 2017-07-21 09:32:48 +03:00
intel_dp_link_training.c drm/i915: Explicit the connector name for DP link training result 2017-07-19 08:32:42 +02:00
intel_dp_mst.c drm/i915: Avoid null dereference if mst_port is unset. 2017-08-10 13:59:26 -07:00
intel_dp.c drm/i915/edp: Increase T12 panel delay to 900 ms to fix DP AUX CH timeouts 2017-09-01 10:30:34 -07:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915/cnl: Dump the right pll registers when dumping pipe config. 2017-08-11 11:41:45 -07:00
intel_dpll_mgr.h drm/i915/cnl: Initialize PLLs 2017-06-12 09:42:18 -07:00
intel_drv.h drm/i915/edp: Allow alternate fixed mode for eDP if available. 2017-08-15 16:43:33 -07:00
intel_dsi_dcs_backlight.c drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.c 2017-08-16 18:02:00 +03:00
intel_dsi_pll.c
intel_dsi_vbt.c drm/i915/bxt: use NULL for GPIO connection ID 2017-08-21 11:52:29 +03:00
intel_dsi.c drm/i915/edp: Allow alternate fixed mode for eDP if available. 2017-08-15 16:43:33 -07:00
intel_dsi.h
intel_dvo.c drm/i915/edp: Allow alternate fixed mode for eDP if available. 2017-08-15 16:43:33 -07:00
intel_engine_cs.c drm/i915: Move idle checks before intel_engine_init_global_seqno() 2017-07-27 09:38:46 +02:00
intel_fbc.c drm/i915: Quietly cancel FBC activation if CRTC is turned off before worker 2017-08-30 12:08:07 -07:00
intel_fbdev.c Merge airlied/drm-next into drm-intel-next-queued 2017-08-10 18:12:01 +02:00
intel_fifo_underrun.c drm/i915: Fix enum pipe vs. enum transcoder for the PCH transcoder 2017-09-01 10:30:43 -07:00
intel_frontbuffer.c
intel_frontbuffer.h
intel_guc_ct.c drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_ct.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_fwif.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_loader.c drm/i915/guc: Load GuC on Coffee Lake 2017-06-09 11:56:53 -07:00
intel_guc_log.c drm/i915: Treat WC a separate cache domain 2017-04-12 12:35:17 +01:00
intel_gvt.c drm/i915/gvt: Extend KBL platform support in GVT-g 2017-07-25 12:39:41 +08:00
intel_gvt.h drm/i915/gvt: Add gvt options sanitize function 2017-05-30 15:59:47 +03:00
intel_hangcheck.c drm/i915: Check execlist/ring status during hangcheck 2017-07-27 09:38:45 +02:00
intel_hdmi.c drm/i915: Split pin mapping into per platform functions 2017-08-17 18:01:39 -03:00
intel_hotplug.c drm/i915: Introduce intel_hpd_pin function. 2017-08-11 11:53:47 -07:00
intel_huc.c drm/i915/huc: Load HuC on Coffee Lake 2017-06-09 11:57:16 -07:00
intel_i2c.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_lpe_audio.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
intel_lrc.c main drm pull request for 4.14 merge window 2017-09-03 17:02:26 -07:00
intel_lrc.h drm/i915: remove unused function declaration 2017-08-14 19:27:59 +03:00
intel_lspcon.c drm/i915/cnl: Fix LSPCON support. 2017-08-16 18:02:13 +03:00
intel_lvds.c drm/i915/edp: Allow alternate fixed mode for eDP if available. 2017-08-15 16:43:33 -07:00
intel_mocs.c drm/i915/cnl: Cannonlake has same MOCS table than Skylake. 2017-06-07 07:29:51 -07:00
intel_mocs.h
intel_modes.c
intel_opregion.c drm/i915/opregion: let user specify override VBT via firmware load 2017-08-17 16:34:54 +03:00
intel_overlay.c drm/i915: More surgically unbreak the modeset vs reset deadlock 2017-08-14 17:03:36 +02:00
intel_panel.c drm/i915/edp: Allow alternate fixed mode for eDP if available. 2017-08-15 16:43:33 -07:00
intel_pipe_crc.c drm/i915: use memdup_user_nul 2017-05-08 09:28:39 +02:00
intel_pm.c drm/i915/gen10: implement gen 10 watermarks calculations 2017-08-16 07:42:36 -07:00
intel_psr.c drm/i915/psr: Preserve SRD_CTL bit 29 on PSR init 2017-08-09 10:48:36 -07:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c drm/i915/gen9: Send all components in VF state 2017-08-14 12:15:49 +03:00
intel_renderstate.h
intel_ringbuffer.c drm/i915: Enforce that CS packets are qword aligned 2017-07-27 09:38:57 +02:00
intel_ringbuffer.h drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs 2017-08-18 11:55:02 +01:00
intel_runtime_pm.c drm/i915/hsw+: Add support for multiple power well regs 2017-08-15 15:28:10 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_sideband.c
intel_sprite.c drm/i915: make structure intel_sprite_plane_funcs static 2017-08-11 18:06:19 +02:00
intel_tv.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
intel_uc.c drm/i915/guc: Rename GuC irq trigger function 2017-08-12 18:56:47 +01:00
intel_uc.h Linux 4.12-rc5 2017-06-16 13:58:27 +10:00
intel_uncore.c drm/i915: Stop touching forcewake following a gen6+ engine reset 2017-08-18 10:05:59 +01:00
intel_uncore.h drm/i915: Keep the forcewake timer alive for 1ms past the most recent use 2017-05-26 15:58:21 +01:00
intel_vbt_defs.h
Kconfig drm/i915: select CRC32 2017-06-21 11:13:27 +02:00
Kconfig.debug drm/i915: Add SW_SYNC to our recommend testing Kconfig 2017-08-12 10:30:42 +01:00
Makefile drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00