linux/drivers/gpu/drm/i915
Chris Wilson ca6e56f654 drm/i915: Disable semaphore busywaits on saturated systems
Asking the GPU to busywait on a memory address, perhaps not unexpectedly
in hindsight for a shared system, leads to bus contention that affects
CPU programs trying to concurrently access memory. This can manifest as
a drop in transcode throughput on highly over-saturated workloads.

The only clue offered by perf, is that the bus-cycles (perf stat -e
bus-cycles) jumped by 50% when enabling semaphores. This corresponds
with extra CPU active cycles being attributed to intel_idle's mwait.

This patch introduces a heuristic to try and detect when more than one
client is submitting to the GPU pushing it into an oversaturated state.
As we already keep track of when the semaphores are signaled, we can
inspect their state on submitting the busywait batch and if we planned
to use a semaphore but were too late, conclude that the GPU is
overloaded and not try to use semaphores in future requests. In
practice, this means we optimistically try to use semaphores for the
first frame of a transcode job split over multiple engines, and fail if
there are multiple clients active and continue not to use semaphores for
the subsequent frames in the sequence. Periodically, we try to
optimistically switch semaphores back on whenever the client waits to
catch up with the transcode results.

With 1 client, on Broxton J3455, with the relative fps normalized by %cpu:

x no semaphores
+ drm-tip
* patched
+------------------------------------------------------------------------+
|                                                    *                   |
|                                                    *+                  |
|                                                    **+                 |
|                                                    **+  x              |
|                                x               *  +**+  x              |
|                                x  x       *    *  +***x xx             |
|                                x  x       *    * *+***x *x             |
|                                x  x*   +  *    * *****x *x x           |
|                         +    x xx+x*   + ***   * ********* x   *       |
|                         +    x xx+x*   * *** +** ********* xx  *       |
|    *   +         ++++*  +    x*x****+*+* ***+*************+x*  *       |
|*+ +** *+ + +* + *++****** *xxx**********x***+*****************+*++    *|
|                                   |__________A_____M_____|             |
|                           |_______________A____M_________|             |
|                                 |____________A___M________|            |
+------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x 120       2.60475       3.50941       3.31123     3.2143953    0.21117399
+ 120        2.3826       3.57077       3.25101     3.1414161    0.28146407
Difference at 95.0% confidence
	-0.0729792 +/- 0.0629585
	-2.27039% +/- 1.95864%
	(Student's t, pooled s = 0.248814)
* 120       2.35536       3.66713        3.2849     3.2059917    0.24618565
No difference proven at 95.0% confidence

With 10 clients over-saturating the pipeline:

x no semaphores
+ drm-tip
* patched
+------------------------------------------------------------------------+
|                     ++                                        **       |
|                     ++                                        **       |
|                     ++                                        **       |
|                     ++                                        **       |
|                     ++                                    xx ***       |
|                     ++                                    xx ***       |
|                     ++                                    xxx***       |
|                     ++                                    xxx***       |
|                    +++                                    xxx***       |
|                    +++                                    xx****       |
|                    +++                                    xx****       |
|                    +++                                    xx****       |
|                    +++                                    xx****       |
|                    ++++                                   xx****       |
|                   +++++                                   xx****       |
|                   +++++                                 x x******      |
|                  ++++++                                 xxx*******     |
|                  ++++++                                 xxx*******     |
|                  ++++++                                 xxx*******     |
|                  ++++++                                 xx********     |
|                  ++++++                               xxxx********     |
|                  ++++++                               xxxx********     |
|                ++++++++                             xxxxx*********     |
|+ +  +        + ++++++++                           xxx*xx**********x*  *|
|                                                         |__A__|        |
|                 |__AM__|                                               |
|                                                            |__A_|      |
+------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x 120       2.47855        2.8972       2.72376     2.7193402   0.074604933
+ 120       1.17367       1.77459       1.71977     1.6966782   0.085850697
Difference at 95.0% confidence
	-1.02266 +/- 0.0203502
	-37.607% +/- 0.748352%
	(Student's t, pooled s = 0.0804246)
* 120       2.57868       3.00821       2.80142     2.7923878   0.058646477
Difference at 95.0% confidence
	0.0730476 +/- 0.0169791
	2.68622% +/- 0.624383%
	(Student's t, pooled s = 0.0671018)

Indicating that we've recovered the regression from enabling semaphores
on this saturated setup, with a hint towards an overall improvement.

Very similar, but of smaller magnitude, results are observed on both
Skylake(gt2) and Kabylake(gt4). This may be due to the reduced impact of
bus-cycles, where we see a 50% hit on Broxton, it is only 10% on the big
core, in this particular test.

One observation to make here is that for a greedy client trying to
maximise its own throughput, using semaphores is the right choice. It is
only the holistic system-wide view that semaphores of one client
impacts another and reduces the overall throughput where we would choose
to disable semaphores.

The most noticeable negactive impact this has is on the no-op
microbenchmarks, which are also very notable for having no cpu bus load.
In particular, this increases the runtime and energy consumption of
gem_exec_whisper.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
Cc: Dmitry Ermilov <dmitry.ermilov@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190504070707.30902-1-chris@chris-wilson.co.uk
2019-05-04 09:18:02 +01:00
..
gt drm/i915: Disable semaphore busywaits on saturated systems 2019-05-04 09:18:02 +01:00
gvt drm/i915: Switch back to an array of logical per-engine HW contexts 2019-04-26 18:32:11 +01:00
selftests drm/i915: Skip unused contexts for context_barrier_task() 2019-04-29 11:12:37 +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: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03:00
dvo_ch7017.c drm/i915/dvo: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03:00
dvo_ivch.c drm/i915/dvo: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03:00
dvo_ns2501.c drm/i915/dvo: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03:00
dvo_sil164.c drm/i915/dvo: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03:00
dvo_tfp410.c drm/i915/dvo: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03: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: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_debugfs.c drm/i915: extract i915_debugfs.h from i915_drv.h 2019-05-03 10:06:40 +03:00
i915_debugfs.h drm/i915: extract i915_debugfs.h from i915_drv.h 2019-05-03 10:06:40 +03:00
i915_drv.c drm/i915/guc: Fix runtime suspend 2019-05-03 08:38:37 +01:00
i915_drv.h drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
i915_fixed.h drm/i915: Use mul_u32_u32() more 2019-05-03 20:09:51 +03: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 drm/i915: Force CPU synchronisation even if userspace requests ASYNC 2017-07-27 22:07:24 +02:00
i915_gem_context_types.h drm/i915: Remove intel_context.active_link 2019-04-26 18:32:17 +01:00
i915_gem_context.c drm/i915: Skip unused contexts for context_barrier_task() 2019-04-29 11:12:37 +01:00
i915_gem_context.h drm/i915: Switch back to an array of logical per-engine HW contexts 2019-04-26 18:32:11 +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: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gem_execbuffer.c drm/i915: Switch back to an array of logical per-engine HW contexts 2019-04-26 18:32:11 +01: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: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_gem_gtt.h drm/i915: Allow multiple user handles to the same VM 2019-04-25 07:33:57 +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_pm.c drm/i915: Leave engine parking to the engines 2019-05-03 11:35:33 +01:00
i915_gem_pm.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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: Start writeback from the shrinker 2019-04-20 15:06:31 +01: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: Move the engine->destroy() vfunc onto the engine 2019-05-01 12:13:57 +01:00
i915_gem.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
i915_gemfs.c drm/i915: Disable THP until we have a GPU read BW W/A 2017-11-30 10:11:49 +02:00
i915_gemfs.h drm/i915: introduce simple gemfs 2017-10-07 10:11:41 +01:00
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/csr: move CSR version macros to intel_csr.h 2019-05-03 10:06:25 +03:00
i915_gpu_error.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +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: extract intel_lpe_audio.h from i915_drv.h 2019-05-03 10:06:32 +03:00
i915_irq.h drm/i915: extract i915_irq.h from intel_drv.h and i915_drv.h 2019-04-30 14:30:05 +03:00
i915_memcpy.c drm/i915: Do not enable movntdqa optimization in hypervisor guest 2017-12-22 11:12:15 +00:00
i915_mm.c drm/i915: Use remap_io_mapping() to prefault all PTE in a single pass 2016-08-19 17:13:36 +01:00
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: Track HAS_RPS alongside HAS_RC6 in the device info 2019-04-19 15:52:26 +01:00
i915_perf.c drm/i915: Switch back to an array of logical per-engine HW contexts 2019-04-26 18:32:11 +01:00
i915_pmu.c drm/i915: move some leftovers to intel_pm.h from i915_drv.h 2019-04-30 15:05:03 +03: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/icl: Factor out combo PHY lane power setup helper 2019-05-02 17:15:09 +03:00
i915_request.c drm/i915: Disable semaphore busywaits on saturated systems 2019-05-04 09:18:02 +01:00
i915_request.h drm/i915: Move i915_request_alloc into selftests/ 2019-04-26 18:32:20 +01:00
i915_scheduler_types.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +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_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +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 drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_sysfs.c drm/i915: move some leftovers to intel_pm.h from i915_drv.h 2019-04-30 15:05:03 +03: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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i915_trace.h drm/i915: extract i915_irq.h from intel_drv.h and i915_drv.h 2019-04-30 14:30:05 +03: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 drm/i915: move more generic utils to i915_utils.h 2019-05-03 10:06:51 +03: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: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
i915_vma.h drm/i915: Use i915_global_register() 2019-03-06 10:00:50 +00:00
icl_dsi.c drm/i915/icl: Factor out combo PHY lane power setup helper 2019-05-02 17:15:09 +03:00
intel_acpi.c drm/i915: extract intel_acpi.h from i915_drv.h 2019-05-03 10:06:37 +03:00
intel_acpi.h drm/i915: extract intel_acpi.h from i915_drv.h 2019-05-03 10:06:37 +03: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_atomic.h from intel_drv.h 2019-04-30 15:04:55 +03:00
intel_atomic.h drm/i915: extract intel_atomic.h from intel_drv.h 2019-04-30 15:04:55 +03:00
intel_audio.c drm/i915: extract intel_lpe_audio.h from i915_drv.h 2019-05-03 10:06:32 +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: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
intel_bios.h drm/i915: extract intel_bios.h functions from i915_drv.h 2019-04-30 15:04:33 +03:00
intel_cdclk.c drm/i915: Corrupt DSI picture fix for GeminiLake 2019-05-02 10:46:55 +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: Clean up cherryview_load_luts() 2019-04-26 18:14:52 +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: add single combo phy init/unit functions 2019-05-03 09:27:13 +03:00
intel_combo_phy.h drm/i915: add single combo phy init/unit functions 2019-05-03 09:27:13 +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_crt.c drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +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/csr: alpha_support doesn't depend on csr or vice versa 2019-05-02 10:56:34 +03:00
intel_csr.h drm/i915/csr: move CSR version macros to intel_csr.h 2019-05-03 10:06:25 +03:00
intel_ddi.c drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +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 GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_display.c drm/i915: Use mul_u32_u32() more 2019-05-03 20:09: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: extract intel_dp_aux_backlight.h from intel_drv.h 2019-04-30 14:30:00 +03:00
intel_dp_aux_backlight.h drm/i915: extract intel_dp_aux_backlight.h from intel_drv.h 2019-04-30 14:30:00 +03:00
intel_dp_link_training.c drm/i915: extract intel_dp_link_training.h from intel_drv.h 2019-04-30 14:29:56 +03:00
intel_dp_link_training.h drm/i915: extract intel_dp_link_training.h from intel_drv.h 2019-04-30 14:29:56 +03:00
intel_dp_mst.c drm/i915: extract intel_dpio_phy.h from i915_drv.h 2019-05-03 10:06:28 +03:00
intel_dp_mst.h drm/i915: extract intel_dp_mst.h from intel_drv.h 2019-04-30 15:04:47 +03:00
intel_dp.c drm/i915: extract i915_debugfs.h from i915_drv.h 2019-05-03 10:06:40 +03: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_dpio_phy.h from i915_drv.h 2019-05-03 10:06:28 +03:00
intel_dpio_phy.h drm/i915: extract intel_dpio_phy.h from i915_drv.h 2019-05-03 10:06:28 +03:00
intel_dpll_mgr.c drm/i915: Use mul_u32_u32() more 2019-05-03 20:09:51 +03:00
intel_dpll_mgr.h drm/i915: make intel_dpll_mgr.h self-contained 2019-04-30 14:29:44 +03:00
intel_drv.h drm/i915: move more generic utils to i915_utils.h 2019-05-03 10:06:51 +03:00
intel_dsi_dcs_backlight.c drm/i915: extract intel_dsi_dcs_backlight.h from intel_drv.h 2019-04-30 15:04:51 +03:00
intel_dsi_dcs_backlight.h drm/i915: extract intel_dsi_dcs_backlight.h from intel_drv.h 2019-04-30 15:04:51 +03:00
intel_dsi_vbt.c drm/i915: Separate sideband declarations to intel_sideband.h 2019-04-26 10:20:39 +01: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/dsi: move operation mode types to intel_dsi.h 2019-05-03 10:06:11 +03:00
intel_dvo_dev.h drm/i915/dvo: rename dvo.h to intel_dvo_dev.h and make self-contained 2019-04-30 14:29:41 +03:00
intel_dvo.c drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
intel_dvo.h drm/i915: extract intel_dvo.h from intel_drv.h 2019-04-08 09:53:25 +03:00
intel_fbc.c drm/i915: extract intel_psr.h from intel_drv.h 2019-04-08 09:52:03 +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_fifo_underrun.h from intel_drv.h 2019-04-30 14:29:51 +03:00
intel_fifo_underrun.h drm/i915: extract intel_fifo_underrun.h from intel_drv.h 2019-04-30 14:29:51 +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_gmbus.c drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
intel_gmbus.h drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03: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 drm/i915/guc : Decoupling ADS and logs from submission 2018-01-03 14:02:10 +00:00
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/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_guc_fw.h drm/i915/guc: Move firmware selection to init_early 2017-12-06 14:41:47 +00:00
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/execlists: Flush the tasklet on parking 2019-05-03 11:35:31 +01:00
intel_guc_submission.h drm/i915: Move GraphicsTechnology files under gt/ 2019-04-24 21:01:46 +01:00
intel_guc.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_guc.h drm/i915/uc: Reserve upper range of GGTT 2019-04-20 08:19:12 +01:00
intel_gvt.c drm/i915: Enable gfx virtualization for Coffeelake platform 2019-01-10 11:38:34 +08:00
intel_gvt.h drm/i915/gvt: Add gvt options sanitize function 2017-05-30 15:59:47 +03:00
intel_hdcp.c drm/i915: Move sandybride pcode access to intel_sideband.c 2019-04-26 10:20:47 +01: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_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +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: extract intel_hotplug.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:19 +03:00
intel_hotplug.h drm/i915: extract intel_hotplug.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:19 +03:00
intel_huc_fw.c drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01: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/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_huc.h drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_lpe_audio.c drm/i915: extract intel_lpe_audio.h from i915_drv.h 2019-05-03 10:06:32 +03:00
intel_lpe_audio.h drm/i915: extract intel_lpe_audio.h from i915_drv.h 2019-05-03 10:06:32 +03: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_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
intel_lvds.h drm/i915: extract intel_lvds.h from intel_drv.h 2019-04-08 09:53:21 +03: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: extract intel_overlay.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:41 +03:00
intel_overlay.h drm/i915: extract intel_overlay.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:41 +03:00
intel_panel.c drm/i915: extract intel_dsi_dcs_backlight.h from intel_drv.h 2019-04-30 15:04:51 +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: extract intel_atomic.h from intel_drv.h 2019-04-30 15:04:55 +03:00
intel_pipe_crc.h drm/i915: extract i915_debugfs.h from i915_drv.h 2019-05-03 10:06:40 +03:00
intel_pm.c drm/i915: Use mul_u32_u32() more 2019-05-03 20:09:51 +03:00
intel_pm.h drm/i915: move some leftovers to intel_pm.h from i915_drv.h 2019-04-30 15:05:03 +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: extract intel_quirks.h from intel_drv.h 2019-04-30 15:04:37 +03:00
intel_quirks.h drm/i915: extract intel_quirks.h from intel_drv.h 2019-04-30 15:04:37 +03: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/gen9: Send all components in VF state 2017-08-14 12:15:49 +03:00
intel_renderstate.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
intel_runtime_pm.c drm/i915: extract intel_dpio_phy.h from i915_drv.h 2019-05-03 10:06:28 +03:00
intel_runtime_pm.h drm/i915: extract intel_runtime_pm.h from intel_drv.h 2019-04-30 15:04:59 +03:00
intel_sdvo_regs.h drm/i915/sdvo: revert bogus kernel-doc comments to normal comments 2016-01-20 10:21:34 +02:00
intel_sdvo.c drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +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: Move sandybride pcode access to intel_sideband.c 2019-04-26 10:20:47 +01:00
intel_sideband.h drm/i915: Move sandybride pcode access to intel_sideband.c 2019-04-26 10:20:47 +01: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: Enable pipe HDR mode on ICL if only HDR planes are used 2019-04-30 22:14:43 +03:00
intel_tv.c drm/i915: extract intel_hotplug.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:19 +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/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_uc_fw.h drm/i915/uc: Place uC firmware in upper range of GGTT 2019-04-20 08:19:32 +01:00
intel_uc.c drm/i915/guc: Fix runtime suspend 2019-05-03 08:38:37 +01:00
intel_uc.h drm/i915/guc: Fix runtime suspend 2019-05-03 08:38:37 +01: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/i915: extract intel_vdsc.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:44 +03:00
intel_vdsc.h drm/i915: extract intel_vdsc.h from intel_drv.h and i915_drv.h 2019-04-30 15:04:44 +03:00
intel_wakeref.c drm/i915: Introduce struct intel_wakeref 2019-04-24 22:25:26 +01:00
intel_wakeref.h drm/i915: Introduce struct intel_wakeref 2019-04-24 22:25:26 +01: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
Kconfig drm/i915: Expose the busyspin durations for i915_wait_request 2019-04-19 20:33:38 +01:00
Kconfig.debug drm/i915: Track all held rpm wakerefs 2019-01-14 16:17:50 +00:00
Kconfig.profile drm/i915: Expose the busyspin durations for i915_wait_request 2019-04-19 20:33:38 +01:00
Makefile drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
Makefile.header-test drm/i915: extract intel_gmbus.h from i915_drv.h and rename intel_i2c.c 2019-05-03 10:06:55 +03:00
vlv_dsi_pll.c drm/i915: Separate sideband declarations to intel_sideband.h 2019-04-26 10:20:39 +01:00
vlv_dsi.c drm/i915: extract intel_atomic.h from intel_drv.h 2019-04-30 15:04:55 +03:00