linux/drivers/gpu/drm/i915
Chris Wilson c36beba6b2 drm/i915: Seal races between async GPU cancellation, retirement and signaling
Currently there is an underlying assumption that i915_request_unsubmit()
is synchronous wrt the GPU -- that is the request is no longer in flight
as we remove it. In the near future that may change, and this may upset
our signaling as we can process an interrupt for that request while it
is no longer in flight.

CPU0					CPU1
intel_engine_breadcrumbs_irq
(queue request completion)
					i915_request_cancel_signaling
...					...
					i915_request_enable_signaling
dma_fence_signal

Hence in the time it took us to drop the lock to signal the request, a
preemption event may have occurred and re-queued the request. In the
process, that request would have seen I915_FENCE_FLAG_SIGNAL clear and
so reused the rq->signal_link that was in use on CPU0, leading to bad
pointer chasing in intel_engine_breadcrumbs_irq.

A related issue was that if someone started listening for a signal on a
completed but no longer in-flight request, we missed the opportunity to
immediately signal that request.

Furthermore, as intel_contexts may be immediately released during
request retirement, in order to be entirely sure that
intel_engine_breadcrumbs_irq may no longer dereference the intel_context
(ce->signals and ce->signal_link), we must wait for irq spinlock.

In order to prevent the race, we use a bit in the fence.flags to signal
the transfer onto the signal list inside intel_engine_breadcrumbs_irq.
For simplicity, we use the DMA_FENCE_FLAG_SIGNALED_BIT as it then
quickly signals to any outside observer that the fence is indeed signaled.

v2: Sketch out potential dma-fence API for manual signaling
v3: And the test_and_set_bit()

Fixes: 52c0fdb25c ("drm/i915: Replace global breadcrumbs with per-context interrupt tracking")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190508112452.18942-1-chris@chris-wilson.co.uk
(cherry picked from commit 0152b3b3f4)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-05-13 13:53:35 +03:00
..
gvt drm/i915/gvt: Add in context mmio 0x20D8 to gen9 mmio list 2019-05-05 17:02:25 +08:00
selftests drm/i915/selftests: Skip live timeline/suspend tests if wedged 2019-04-15 11:58:19 +01:00
.gitignore drm/i915: add Makefile magic for testing headers are self-contained 2019-04-04 19:49:42 +03:00
dvo_ch7xxx.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ch7017.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ivch.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_ns2501.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_sil164.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo_tfp410.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
dvo.h drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
i915_active_types.h drm/i915: Pull i915_gem_active into the i915_active family 2019-02-05 17:20:11 +00:00
i915_active.c drm/i915: Protect i915_active iterators from the shrinker 2019-03-08 09:52:29 -08:00
i915_active.h drm/i915: Remove has-kernel-context 2019-03-08 10:57:12 +00:00
i915_cmd_parser.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_debugfs.c Merge tag 'drm-intel-next-2019-04-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2019-04-24 10:02:20 +10:00
i915_drv.c drm/i915: extract intel_cdclk.h from intel_drv.h 2019-04-08 09:53:35 +03:00
i915_drv.h drm/i915: Update DRIVER_DATE to 20190417 2019-04-17 12:07:47 +03:00
i915_fixed.h drm/i915/fixed: cosmetic cleanup 2018-11-20 12:49:24 +02:00
i915_gem_batch_pool.c drm/i915: Change parameters order in i915_gem_batch_pool_init 2018-03-09 22:21:41 +00:00
i915_gem_batch_pool.h drm/i915: Change parameters order in i915_gem_batch_pool_init 2018-03-09 22:21:41 +00:00
i915_gem_clflush.c drm/i915: Remove unecessary dma_fence_ops 2018-08-17 11:22:15 +02:00
i915_gem_clflush.h
i915_gem_context_types.h drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_gem_context.c drm/i915: Introduce struct class_instance for engines across the uAPI 2019-04-17 07:25:42 +01:00
i915_gem_context.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_gem_dmabuf.c drm/i915: Flush pages on acquisition 2019-03-21 17:28:12 +00:00
i915_gem_evict.c drm/i915: Remove has-kernel-context 2019-03-08 10:57:12 +00:00
i915_gem_execbuffer.c drm/i915: Flush pages on acquisition 2019-03-21 17:28:12 +00:00
i915_gem_fence_reg.c drm/i915: Switch to bitmap_zalloc() 2019-03-20 17:50:35 +00:00
i915_gem_fence_reg.h drm/i915: Remove GPU reset dependence on struct_mutex 2019-01-25 14:27:22 +00:00
i915_gem_gtt.c drm/i915: Disable read only ppgtt support for gen11 2019-04-11 20:48:51 +01:00
i915_gem_gtt.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_gem_internal.c drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
i915_gem_object.c drm/i915: Use i915_global_register() 2019-03-06 10:00:50 +00:00
i915_gem_object.h drm/i915: Check domains for userptr on release 2019-03-31 12:46:52 +01:00
i915_gem_render_state.c drm/i915: Flush pages on acquisition 2019-03-21 17:28:12 +00:00
i915_gem_render_state.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_shrinker.c drm/i915: Pull VM lists under the VM mutex. 2019-01-28 16:24:13 +00:00
i915_gem_stolen.c drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
i915_gem_tiling.c drm/i915: Switch to bitmap_zalloc() 2019-03-20 17:50:35 +00:00
i915_gem_userptr.c drm/i915: Check domains for userptr on release 2019-03-31 12:46:52 +01:00
i915_gem.c drm/i915: Avoid use-after-free in reporting create.size 2019-04-24 09:39:07 +03:00
i915_gem.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_gemfs.c
i915_gemfs.h
i915_globals.c drm/i915: Use static allocation for i915_globals_park() 2019-04-08 17:04:01 +01:00
i915_globals.h drm/i915: Move over to intel_context_lookup() 2019-03-08 13:59:52 +00:00
i915_gpu_error.c drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
i915_gpu_error.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_ioc32.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
i915_irq.c drm/i915: fully convert the IRQ initialization macros to intel_uncore 2019-04-16 14:24:39 -07:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bdw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_bxt.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cflgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_chv.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_cnl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_glk.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_hsw.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_icl.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_kblgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt2.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt3.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.c drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_oa_sklgt4.h drm/i915/perf: update generated files headers 2018-10-23 15:09:16 +01:00
i915_params.c drm/i915: Enable fastboot by default on Skylake and newer 2019-01-29 10:41:58 +01:00
i915_params.h drm/i915: Enable fastboot by default on Skylake and newer 2019-01-29 10:41:58 +01:00
i915_pci.c drm/i915: extract intel_fbdev.h from intel_drv.h 2019-04-08 09:52:49 +03:00
i915_perf.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
i915_pmu.c Merge drm/drm-next into drm-intel-next-queued 2019-03-27 18:23:53 +02:00
i915_pmu.h Merge back earlier PM core material for v5.1. 2019-02-24 21:20:27 +01:00
i915_priolist_types.h drm/i915: Split out i915_priolist_types into its own header 2019-04-02 15:52:09 +01:00
i915_pvinfo.h drm/i915: Mark up vGPU support for full-ppgtt 2019-03-15 09:04:54 +00:00
i915_query.c drm/i915/query: Split out query item checks 2019-02-26 10:32:57 +00:00
i915_query.h drm/i915: add query uAPI 2018-03-08 10:07:18 +00:00
i915_reg.h drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
i915_request.c drm/i915: Seal races between async GPU cancellation, retirement and signaling 2019-05-13 13:53:35 +03:00
i915_request.h drm/i915: Bump ready tasks ahead of busywaits 2019-04-11 07:14:27 +01:00
i915_reset.c drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
i915_reset.h drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
i915_scheduler_types.h drm/i915: Only emit one semaphore per request 2019-04-02 15:52:09 +01:00
i915_scheduler.c drm/i915: Bump ready tasks ahead of busywaits 2019-04-11 07:14:27 +01:00
i915_scheduler.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
i915_selftest.h drm/i915/selftests: Apply a subtest filter 2019-01-29 19:59:57 +00:00
i915_suspend.c drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
i915_sw_fence.c drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_sw_fence.h drm/i915: Allow contexts to share a single timeline across all engines 2019-03-22 13:12:38 +00:00
i915_syncmap.c drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_syncmap.h
i915_sysfs.c drm/i915: Syntatic sugar for using intel_runtime_pm 2019-01-14 16:18:25 +00:00
i915_timeline_types.h drm/i915: Consolidate the timeline->barrier 2019-04-08 17:04:12 +01:00
i915_timeline.c drm/i915: Consolidate the timeline->barrier 2019-04-08 17:04:12 +01:00
i915_timeline.h drm/i915: Consolidate the timeline->barrier 2019-04-08 17:04:12 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Remove i915_request.global_seqno 2019-02-26 09:55:37 +00:00
i915_user_extensions.c drm/i915: Introduce the i915_user_extension_method 2019-03-22 13:12:30 +00:00
i915_user_extensions.h drm/i915: Introduce the i915_user_extension_method 2019-03-22 13:12:30 +00:00
i915_utils.h Merge drm/drm-next into drm-intel-next-queued 2019-03-27 18:23:53 +02:00
i915_vgpu.c drm/i915: rename raw reg access functions 2019-03-26 19:15:15 +00:00
i915_vgpu.h drm/i915: Mark up vGPU support for full-ppgtt 2019-03-15 09:04:54 +00:00
i915_vma.c drm/i915: Use i915_global_register() 2019-03-06 10:00:50 +00:00
i915_vma.h drm/i915: Use i915_global_register() 2019-03-06 10:00:50 +00:00
icl_dsi.c Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
intel_acpi.c drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
intel_atomic_plane.c drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_atomic_plane.h drm/i915: extract intel_atomic_plane.h from intel_drv.h 2019-04-08 09:53:07 +03:00
intel_atomic.c drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_audio.c drm/i915: extract intel_audio.h from intel_drv.h 2019-04-08 09:51:22 +03:00
intel_audio.h drm/i915: extract intel_audio.h from intel_drv.h 2019-04-08 09:51:22 +03:00
intel_bios.c drm/i915/bios: iterate over child devices to initialize ddi_port_info 2019-03-25 15:16:33 +02:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Seal races between async GPU cancellation, retirement and signaling 2019-05-13 13:53:35 +03:00
intel_cdclk.c drm/i915/ehl: inherit icl cdclk init/uninit 2019-04-17 11:50:23 +03:00
intel_cdclk.h drm/i915/cdclk: have only one init/uninit function 2019-04-08 09:53:40 +03:00
intel_color.c drm/i915: Fix ICL output CSC programming 2019-04-29 09:49:21 +03:00
intel_color.h drm/i915: extract intel_color.h from intel_drv.h 2019-04-08 09:52:14 +03:00
intel_combo_phy.c drm/i915: Suppress spurious combo PHY B warning 2019-04-12 16:35:50 +03:00
intel_connector.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_connector.h drm/i915: extract intel_connector.h from intel_drv.h 2019-04-08 09:51:41 +03:00
intel_context_types.h drm/i915: Disable semaphore busywaits on saturated systems 2019-05-07 12:46:19 +03:00
intel_context.c drm/i915: Disable semaphore busywaits on saturated systems 2019-05-07 12:46:19 +03:00
intel_context.h drm/i915: Hold a reference to the active HW context 2019-03-19 08:21:13 +00:00
intel_crt.c drm/i915: extract intel_connector.h from intel_drv.h 2019-04-08 09:51:41 +03:00
intel_crt.h drm/i915: extract intel_crt.h from intel_drv.h 2019-04-08 09:51:29 +03:00
intel_csr.c drm/i915: extract intel_csr.h from intel_drv.h 2019-04-08 09:51:49 +03:00
intel_csr.h drm/i915: extract intel_csr.h from intel_drv.h 2019-04-08 09:51:49 +03:00
intel_ddi.c drm/i915/icl: Fix MG_DP_MODE() register programming 2019-04-24 09:39:11 +03:00
intel_ddi.h drm/i915: extract intel_ddi.h from intel_drv.h 2019-04-08 09:51:36 +03:00
intel_device_info.c drm/i915: Fix uninitialized mask in intel_device_info_subplatform_init 2019-04-03 10:55:43 +01:00
intel_device_info.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
intel_display.c drm/i915: Fix fastset vs. pfit on/off on HSW EDP transcoder 2019-05-13 13:45:51 +03:00
intel_display.h drm next pull request for 5.1 2019-03-08 08:23:15 -08:00
intel_dp_aux_backlight.c drm/i915/backlight: switch to kernel unsigned int types 2018-06-18 14:46:04 +03:00
intel_dp_link_training.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_dp_mst.c drm/i915: Set DP min_bpp to 8*3 for non-RGB output formats 2019-04-11 21:22:40 +03:00
intel_dp.c Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
intel_dp.h drm/i915: Set DP min_bpp to 8*3 for non-RGB output formats 2019-04-11 21:22:40 +03:00
intel_dpio_phy.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_dpll_mgr.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
intel_dpll_mgr.h drm/i915: Nuke icl_calc_dp_combo_pll_link() 2019-03-19 12:57:55 +02:00
intel_drv.h Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c drm/i915: Adjust DSI fixed mode handling 2019-03-22 18:41:39 +02:00
intel_dsi.c drm/i915: Determine DSI panel orientation from VBT 2018-11-13 17:20:32 +02:00
intel_dsi.h drm/i915: Adjust DSI fixed mode handling 2019-03-22 18:41:39 +02:00
intel_dvo.c drm/i915: extract intel_dvo.h from intel_drv.h 2019-04-08 09:53:25 +03:00
intel_dvo.h drm/i915: extract intel_dvo.h from intel_drv.h 2019-04-08 09:53:25 +03:00
intel_engine_cs.c drm/i915: Prepare for larger CSB status FIFO size 2019-04-11 09:20:04 +01:00
intel_engine_types.h drm/i915: Prepare for larger CSB status FIFO size 2019-04-11 09:20:04 +01:00
intel_fbc.c drm/i915/fbc: disable framebuffer compression on GeminiLake 2019-05-13 13:45:46 +03:00
intel_fbc.h drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
intel_fbdev.c drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
intel_fbdev.h drm/i915: extract intel_fbdev.h from intel_drv.h 2019-04-08 09:52:49 +03:00
intel_fifo_underrun.c drm/i915: extract intel_fbc.h from intel_drv.h 2019-04-08 09:51:56 +03:00
intel_frontbuffer.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_frontbuffer.h drm/i915: make intel_frontbuffer.h self-contained 2019-04-08 09:51:18 +03:00
intel_gpu_commands.h drm/i915: Use HW semaphores for inter-engine synchronisation on gen8+ 2019-03-01 17:45:07 +00:00
intel_guc_ads.c drm/i915: Track the pinned kernel contexts on each engine 2019-03-08 14:00:02 +00:00
intel_guc_ads.h
intel_guc_ct.c drm/i915/guc: Support for extended GuC notification messages 2019-03-24 11:31:47 +00:00
intel_guc_ct.h drm/i915/guc: Splitting CT channel open/close functions 2019-02-20 23:53:04 +00:00
intel_guc_fw.c drm/i915: use intel_uncore for all forcewake get/put 2019-03-20 21:12:31 +00:00
intel_guc_fw.h
intel_guc_fwif.h drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_log.c drm/i915/guc: Flush the residual log capture irq on disabling 2019-02-22 11:25:32 +00:00
intel_guc_log.h drm/i915/guc: Add support for define guc_log_size in megabytes. 2018-06-12 15:44:47 +01:00
intel_guc_reg.h drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_submission.c drm/i915: Seal races between async GPU cancellation, retirement and signaling 2019-05-13 13:53:35 +03:00
intel_guc_submission.h drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
intel_guc.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
intel_guc.h drm/i915/guc: Support for extended GuC notification messages 2019-03-24 11:31:47 +00:00
intel_gvt.c drm/i915: Enable gfx virtualization for Coffeelake platform 2019-01-10 11:38:34 +08:00
intel_gvt.h
intel_hangcheck.c drm/i915: Move intel_engine_mask_t around for use by i915_request_types.h 2019-04-02 15:09:08 +01:00
intel_hdcp.c drm/i915: extract intel_hdcp.h from intel_drv.h 2019-04-08 09:52:30 +03:00
intel_hdcp.h drm/i915: extract intel_hdcp.h from intel_drv.h 2019-04-08 09:52:30 +03:00
intel_hdmi.c drm/i915: extract intel_hdmi.h from intel_drv.h 2019-04-08 09:53:01 +03:00
intel_hdmi.h drm/i915: extract intel_hdmi.h from intel_drv.h 2019-04-08 09:53:01 +03:00
intel_hotplug.c drm/i915: Rename HAS_GMCH 2019-02-05 09:43:23 -08:00
intel_huc_fw.c drm/i915: intel_wait_for_register_fw to uncore 2019-03-26 20:16:45 +00:00
intel_huc_fw.h drm/i915/uc: Make GuC/HuC fw fetch and loading functions/file structure symmetric 2018-03-02 09:04:45 +00:00
intel_huc.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
intel_huc.h drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
intel_i2c.c drm/i915: intel_wait_for_register_fw to uncore 2019-03-26 20:16:45 +00:00
intel_lpe_audio.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
intel_lrc_reg.h drm/i915/execlists: Terminate the context image with BB_END 2018-08-01 17:03:31 +01:00
intel_lrc.c drm/i915: Flush the CSB pointer reset 2019-04-12 14:32:11 +01:00
intel_lrc.h drm/i915/guc: Implement reset locally 2019-04-11 20:48:51 +01:00
intel_lspcon.c drm/i915: extract intel_dp.h from intel_drv.h 2019-04-08 09:52:54 +03:00
intel_lspcon.h drm/i915: extract intel_lspcon.h from intel_drv.h 2019-04-08 09:52:21 +03:00
intel_lvds.c drm/i915: extract intel_lvds.h from intel_drv.h 2019-04-08 09:53:21 +03:00
intel_lvds.h drm/i915: extract intel_lvds.h from intel_drv.h 2019-04-08 09:53:21 +03:00
intel_mocs.c drm/i915/gen11+: First assume next platforms will inherit stuff 2019-03-13 13:00:24 -07:00
intel_mocs.h drm/i915: drop all drmP.h includes 2019-01-09 10:26:36 +02:00
intel_opregion.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_opregion.h drm/i915: Fixup stub definitions for intel_opregion_suspend|resume 2018-11-30 09:46:31 +00:00
intel_overlay.c drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
intel_panel.c drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_panel.h drm/i915: extract intel_panel.h from intel_drv.h 2019-04-08 09:52:36 +03:00
intel_pipe_crc.c drm/i915: Fix fastset vs. pfit on/off on HSW EDP transcoder 2019-05-13 13:45:51 +03:00
intel_pipe_crc.h drm/i915: extract intel_pipe_crc.h from intel_drv.h 2019-04-08 09:53:12 +03:00
intel_pm.c drm/i915: Mark up ips for RCU protection 2019-04-16 13:42:27 +01:00
intel_pm.h drm/i915: extract intel_pm.h from intel_drv.h 2019-04-08 09:52:43 +03:00
intel_psr.c drm/i915/psr: Do not enable PSR in interlaced mode for all GENs 2019-04-08 10:39:11 -07:00
intel_psr.h drm/i915: extract intel_psr.h from intel_drv.h 2019-04-08 09:52:03 +03:00
intel_quirks.c drm/i915/quirks: pass dev_priv instead of drm dev to quirk code 2018-10-18 13:40:13 +03:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: add GEN2_ prefix to the I{E, I, M, S}R registers 2019-04-16 14:18:58 -07:00
intel_ringbuffer.h drm/i915: Drop bool return from breadcrumbs signaler 2019-04-16 11:06:00 +01:00
intel_runtime_pm.c drm/i915/ehl: Inherit Ice Lake conditional code 2019-04-12 15:15:01 -07:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: extract intel_hdmi.h from intel_drv.h 2019-04-08 09:53:01 +03:00
intel_sdvo.h drm/i915: extract intel_sdvo.h from intel_drv.h 2019-04-08 09:52:26 +03:00
intel_sideband.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
intel_sprite.c drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_sprite.h drm/i915: extract intel_sprite.h from intel_drv.h 2019-04-08 09:53:30 +03:00
intel_tv.c drm/i915: extract intel_tv.h from intel_drv.h 2019-04-08 09:53:16 +03:00
intel_tv.h drm/i915: extract intel_tv.h from intel_drv.h 2019-04-08 09:53:16 +03:00
intel_uc_fw.c drm/i915: Downgrade scare message for unknown HuC firmware 2019-01-08 22:41:09 +00:00
intel_uc_fw.h drm/i915/guc: init GuC descriptors after GuC load 2018-10-04 07:29:47 +01:00
intel_uc.c drm/i915/guc: Retry GuC load for all load failures 2019-03-30 08:02:07 +00:00
intel_uc.h drm/i915/guc: Calling guc_disable_communication in all suspend paths 2019-02-20 23:53:21 +00:00
intel_uncore.c drm/i915: extract intel_pm.h from intel_drv.h 2019-04-08 09:52:43 +03:00
intel_uncore.h drm/i915: Convert i915_reset.c over to using uncore mmio 2019-04-05 22:03:24 +01:00
intel_vbt_defs.h drm/i915/vbt: Parse and use the new field with PSR2 TP2/3 wakeup time 2019-03-13 14:20:19 -07:00
intel_vdsc.c drm/dsc: Split DSC PPS and SDP header initialisations 2019-03-05 13:24:34 -05:00
intel_wopcm.c drm/i915/uc: add dev_priv parameter to intel_uc_is_using_* functions 2018-12-31 15:27:23 +02:00
intel_wopcm.h drm/i915/guc: Check the locking status of GuC WOPCM registers 2018-03-14 15:35:37 +02:00
intel_workarounds_types.h drm/i915: Split struct intel_context definition to its own header 2019-03-08 13:59:44 +00:00
intel_workarounds.c drm/i915/icl: Whitelist GEN9_SLICE_COMMON_ECO_CHICKEN1 2019-04-30 10:16:18 +03:00
intel_workarounds.h drm/i915: Teach intel_workarounds to use uncore mmio access 2019-04-13 07:46:43 +01:00
Kconfig treewide: surround Kconfig file paths with double quotes 2018-12-22 00:25:54 +09:00
Kconfig.debug drm/i915: Track all held rpm wakerefs 2019-01-14 16:17:50 +00:00
Makefile drm/i915: add Makefile magic for testing headers are self-contained 2019-04-04 19:49:42 +03:00
Makefile.header-test drm/i915: extract intel_cdclk.h from intel_drv.h 2019-04-08 09:53:35 +03:00
vlv_dsi_pll.c drm/i915: switch intel_wait_for_register to uncore 2019-03-26 20:20:24 +00:00
vlv_dsi.c Linux 5.1-rc5 2019-04-15 15:51:49 +10:00