linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson 9512f985c3 drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd)
Back in commit 27af5eea54 ("drm/i915: Move execlists irq handler to a
bottom half"), we came to the conclusion that running our CSB processing
and ELSP submission from inside the irq handler was a bad idea. A really
bad idea as we could impose nearly 1s latency on other users of the
system, on average! Deferring our work to a tasklet allowed us to do the
processing with irqs enabled, reducing the impact to an average of about
50us.

We have since eradicated the use of forcewaked mmio from inside the CSB
processing and ELSP submission, bringing the impact down to around 5us
(on Kabylake); an order of magnitude better than our measurements 2
years ago on Broadwell and only about 2x worse on average than the
gem_syslatency on an unladen system.

In this iteration of the tasklet-vs-direct submission debate, we seek a
compromise where by we submit new requests immediately to the HW but
defer processing the CS interrupt onto a tasklet. We gain the advantage
of low-latency and ksoftirqd avoidance when waking up the HW, while
avoiding the system-wide starvation of our CS irq-storms.

Comparing the impact on the maximum latency observed (that is the time
stolen from an RT process) over a 120s interval, repeated several times
(using gem_syslatency, similar to RT's cyclictest) while the system is
fully laden with i915 nops, we see that direct submission an actually
improve the worse case.

Maximum latency in microseconds of a third party RT thread
(gem_syslatency -t 120 -f 2)
  x Always using tasklets (a couple of >1000us outliers removed)
  + Only using tasklets from CS irq, direct submission of requests
+------------------------------------------------------------------------+
|          +                                                             |
|          +                                                             |
|          +                                                             |
|          +       +                                                     |
|          + +     +                                                     |
|       +  + +     +  x     x     x                                      |
|      +++ + +     +  x  x  x  x  x  x                                   |
|      +++ + ++  + +  *x x  x  x  x  x                                   |
|      +++ + ++  + *  *x x  *  x  x  x                                   |
|    + +++ + ++  * * +*xxx  *  x  x  xx                                  |
|    * +++ + ++++* *x+**xx+ *  x  x xxxx x                               |
|   **x++++*++**+*x*x****x+ * +x xx xxxx x          x                    |
|x* ******+***************++*+***xxxxxx* xx*x     xxx +                x+|
|             |__________MA___________|                                  |
|      |______M__A________|                                              |
+------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x 118            91           186           124     125.28814     16.279137
+ 120            92           187           109     112.00833     13.458617
Difference at 95.0% confidence
	-13.2798 +/- 3.79219
	-10.5994% +/- 3.02677%
	(Student's t, pooled s = 14.9237)

However the mean latency is adversely affected:

Mean latency in microseconds of a third party RT thread
(gem_syslatency -t 120 -f 1)
  x Always using tasklets
  + Only using tasklets from CS irq, direct submission of requests
+------------------------------------------------------------------------+
|           xxxxxx                                        +   ++         |
|           xxxxxx                                        +   ++         |
|           xxxxxx                                      + +++ ++         |
|           xxxxxxx                                     +++++ ++         |
|           xxxxxxx                                     +++++ ++         |
|           xxxxxxx                                     +++++ +++        |
|           xxxxxxx                                   + ++++++++++       |
|           xxxxxxxx                                 ++ ++++++++++       |
|           xxxxxxxx                                 ++ ++++++++++       |
|          xxxxxxxxxx                                +++++++++++++++     |
|         xxxxxxxxxxx    x                           +++++++++++++++     |
|x       xxxxxxxxxxxxx   x           +            + ++++++++++++++++++  +|
|           |__A__|                                                      |
|                                                      |____A___|        |
+------------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x 120         3.506         3.727         3.631     3.6321417    0.02773109
+ 120         3.834         4.149         4.039     4.0375167   0.041221676
Difference at 95.0% confidence
	0.405375 +/- 0.00888913
	11.1608% +/- 0.244735%
	(Student's t, pooled s = 0.03513)

However, since the mean latency corresponds to the amount of irqsoff
processing we have to do for a CS interrupt, we only need to speed that
up to benefit not just system latency but our own throughput.

v2: Remember to defer submissions when under reset.
v4: Only use direct submission for new requests
v5: Be aware that with mixing direct tasklet evaluation and deferred
tasklets, we may end up idling before running the deferred tasklet.
v6: Remove the redudant likely() from tasklet_is_enabled(), restrict the
annotation to reset_in_progress().
v7: Take the full timeline.lock when enabling perf_pmu stats as the
tasklet is no longer a valid guard. A consequence is that the stats are
now only valid for engines also using the timeline.lock to process
state.

Testcase: igt/gem_exec_latency/*rthog*
References: 27af5eea54 ("drm/i915: Move execlists irq handler to a bottom half")
Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
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/20180628201211.13837-9-chris@chris-wilson.co.uk
2018-06-28 22:55:10 +01:00
..
gvt drm/i915/gvt: Add mmio handler for for BXT. 2018-06-13 10:57:29 +08:00
selftests drm/i915: Replace drm_dev_unref with drm_dev_put 2018-06-28 19:09:46 +02: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
i915_cmd_parser.c drm/i915/cmdparser: Do not check past the cmd length. 2018-02-06 11:41:40 -08:00
i915_debugfs.c drm/i915: Keep the ctx workarounds tightly packed 2018-06-15 13:27:04 +01:00
i915_drv.c drm/i915: remove check for aux irq 2018-06-21 18:55:35 +03:00
i915_drv.h drm/i915/psr: Kill useless function pointers. 2018-06-26 10:07:24 -07: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: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00: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: Fix context ban and hang accounting for client 2018-06-15 16:36:21 +03:00
i915_gem_context.h drm/i915: Forward declare struct intel_context 2018-05-25 08:21:19 +01:00
i915_gem_dmabuf.c drm: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00:00
i915_gem_evict.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_execbuffer.c drm/i915: Redefine EINVAL for debugging 2018-06-21 10:32:37 +01:00
i915_gem_fence_reg.c drm/i915: Use INTEL_GEN everywhere 2018-02-09 22:29:02 +00:00
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915/gtt: Reduce a pair of runtime asserts 2018-06-14 20:25:54 +01:00
i915_gem_gtt.h drm/i915/gtt: Reduce a pair of runtime asserts 2018-06-14 20:25:54 +01:00
i915_gem_internal.c drm: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00: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 drm_gem_object_unreference_unlocked with put function 2018-06-28 19:09:39 +02:00
i915_gem_render_state.c drm/i915/gtt: Rename i915_hw_ppgtt base member 2018-06-05 21:11:20 +01: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/gtt: Rename i915_hw_ppgtt base member 2018-06-05 21:11:20 +01:00
i915_gem_stolen.c drm/i915/gtt: Rename i915_hw_ppgtt base member 2018-06-05 21:11:20 +01:00
i915_gem_tiling.c drm/i915: Refactor common list iteration over GGTT vma 2017-12-07 23:26:55 +00:00
i915_gem_userptr.c drm/i915/userptr: reject zero user_size 2018-05-08 12:24:39 +01:00
i915_gem.c drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
i915_gem.h drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd) 2018-06-28 22:55:10 +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_gpu_error.c drm/i915: Prepare for non-object vma 2018-06-07 21:53:10 +01:00
i915_gpu_error.h drm/i915/icl: Read the correct Gen11 interrupt registers 2018-05-17 15:35:08 -07:00
i915_ioc32.c drm/i915: Clean up ancient doc comments for i915_ioc32.c 2018-02-15 16:22:21 +00:00
i915_irq.c drm/i915/execlists: Trust the CSB 2018-06-28 22:55:09 +01: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
i915_oa_bdw.c drm/i915: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00: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: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00:00
i915_oa_bxt.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_cflgt2.c drm/i915: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00:00
i915_oa_cflgt2.h drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_cflgt3.c drm/i915/perf: Fix compiler warning for string truncation 2018-02-12 23:34:50 -08:00
i915_oa_cflgt3.h drm/i915/perf: add support for Coffeelake GT3 2017-11-13 15:59:03 +00:00
i915_oa_chv.c drm/i915: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00:00
i915_oa_chv.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_cnl.c drm/i915/perf: Fix compiler warning for string truncation 2018-02-12 23:34:55 -08:00
i915_oa_cnl.h drm/i915/perf: enable perf support on CNL 2017-11-13 15:59:24 +00:00
i915_oa_glk.c drm/i915: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00: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: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00:00
i915_oa_hsw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_icl.c drm/i915/perf: enable perf support on ICL 2018-03-29 13:25:30 +01:00
i915_oa_icl.h drm/i915/perf: enable perf support on ICL 2018-03-29 13:25:30 +01:00
i915_oa_kblgt2.c drm/i915: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00: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: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00: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: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00: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: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00: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: ensure oa config uuid is null terminated 2017-11-02 14:52:58 +00:00
i915_oa_sklgt4.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_params.c drm/i915: Remove unused enable_cmd_parser modparam 2018-05-17 20:52:39 +01:00
i915_params.h drm/i915: Remove unused enable_cmd_parser modparam 2018-05-17 20:52:39 +01:00
i915_pci.c drm/i915/aml: Introducing Amber Lake platform 2018-06-18 10:49:57 -07:00
i915_perf.c drm/i915/perf: make oa format tables const 2018-06-14 13:47:27 +03:00
i915_pmu.c drm/i915/pmu: Do not assume fixed hrtimer period 2018-06-05 16:45:01 +01:00
i915_pmu.h drm/i915/pmu: Do not assume fixed hrtimer period 2018-06-05 16:45:01 +01:00
i915_pvinfo.h - Ice Lake's display enabling patches (Jose, Mahesh, Dhinakaran, Paulo, Manasi, Anusha, Arkadiusz) 2018-06-07 10:24:50 +08:00
i915_query.c drm/i915/query: nospec expects no more than an unsigned long 2018-05-22 16:55:57 +01:00
i915_query.h drm/i915: add query uAPI 2018-03-08 10:07:18 +00:00
i915_reg.h drm/i915/icp: Add Interrupt Support 2018-06-27 14:28:51 -07:00
i915_request.c drm/i915: Only signal from interrupt when requested 2018-06-28 20:56:35 +01:00
i915_request.h drm/i915: Make closing request flush mandatory 2018-06-14 08:16:12 +01:00
i915_scheduler.h drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
i915_selftest.h drm/i915/selftests: Reduce the volume of the timeout message 2017-11-10 11:31:58 +00:00
i915_suspend.c drm/i915: Move i915_gem_restore_fences to i915_gem_resume 2017-09-29 12:30:17 +01:00
i915_sw_fence.c drm/i915/fence: Separate timeout mechanism for awaiting on dma-fences 2018-01-15 10:29:18 +00:00
i915_sw_fence.h
i915_syncmap.c drm/i915: Fix kerneldoc parameter markup 2018-02-08 15:08:51 +00:00
i915_syncmap.h
i915_sysfs.c drm/i915: Kick the rps worker when changing the boost frequency 2018-03-12 11:24:49 -07:00
i915_timeline.c drm/i915: Split i915_gem_timeline into individual timelines 2018-05-02 23:57:18 +01:00
i915_timeline.h drm/i915: Split i915_gem_timeline into individual timelines 2018-05-02 23:57:18 +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/ringbuffer: Fix context restore upon reset 2018-06-11 14:03:47 +01:00
i915_utils.h drm/i915: Retire requests along rings 2018-04-30 16:01:18 +01:00
i915_vgpu.c drm/i915/gtt: Rename i915_hw_ppgtt base member 2018-06-05 21:11:20 +01:00
i915_vgpu.h drm/i915: Add new vGPU cap info bit VGT_CAPS_HUGE_GTT 2018-06-05 16:57:01 +03:00
i915_vma.c drm/i915: Show vma allocator stack when in doubt 2018-06-28 20:56:35 +01:00
i915_vma.h drm/i915/gtt: Make gen6 page directories evictable 2018-06-12 18:01:51 +01:00
intel_acpi.c drm/i915/dsm: remove unnecessary dsm priv structure 2018-06-14 15:59:09 +03:00
intel_atomic_plane.c drm/i915: Print prop name/id when rejecting it 2018-06-19 17:18:24 +03:00
intel_atomic.c drm/i915: Print prop name/id when rejecting it 2018-06-19 17:18:24 +03:00
intel_audio.c drm/i915/audio: constify ELD pointers 2018-06-19 17:41:44 +03:00
intel_bios.c drm/i915/psr: fix copy-paste error with setting of tp2_wakeup_time_us 2018-06-20 12:00:31 -07:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Move the irq_counter inside the spinlock 2018-06-28 20:56:35 +01:00
intel_cdclk.c drm/i915/icl: implement DVFS for ICL 2018-06-15 15:06:00 -07:00
intel_color.c Merge airlied/drm-next into drm-misc-next 2018-03-21 09:40:55 -04:00
intel_crt.c drm/i915: Enforce max hdisplay/hblank_start limits on HSW/BDW FDI 2018-06-19 17:18:24 +03:00
intel_csr.c drm/i915: add support for specifying DMC firmware override by module param 2018-05-02 13:05:01 +03:00
intel_ddi.c drm/i915/ddi: Get AUX power domain for DP main link too 2018-06-26 13:00:52 +03:00
intel_device_info.c drm/i915: prefer INTEL_GEN() over INTEL_INFO()->gen 2018-04-26 18:14:29 +03:00
intel_device_info.h drm/i915/icl: Added ICL 11 slice, subslice and EU fuse detection 2018-03-21 10:36:33 +02:00
intel_display.c drm/i915: Replace drm_connector_{un/reference} with put,get functions 2018-06-28 19:09:21 +02:00
intel_display.h drm/i915/icl: Add power well support 2018-06-27 16:01:19 +03: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/dp: Add support for HBR3 and TPS4 during link training 2018-06-14 14:58:22 -07:00
intel_dp_mst.c drm/i915: Replace drm_connector_{un/reference} with put,get functions 2018-06-28 19:09:21 +02:00
intel_dp.c drm/i915/psr: Begin to handle PSR/PSR2 errors set by sink 2018-06-26 17:11:35 -07:00
intel_dpio_phy.c drm/i915/gen9_lp: Increase DDI PHY0 power well enabling timeout 2018-04-10 13:12:22 +03:00
intel_dpll_mgr.c drm/i915/icl: Do read-modify-write as needed during MG PLL programming 2018-06-21 19:02:03 +03:00
intel_dpll_mgr.h drm/i915/icl: Fix MG PLL setup when refclk is 38.4MHz 2018-06-21 19:01:40 +03:00
intel_drv.h drm/i915/psr: Begin to handle PSR/PSR2 errors set by sink 2018-06-26 17:11:35 -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/dsi: improve dphy param limits logging 2018-04-19 15:20:10 +03:00
intel_dsi.c drm/i915: Allow DBLSCAN user modes with eDP/LVDS/DSI 2018-06-13 21:08:14 +03:00
intel_dsi.h
intel_dvo.c drm/i915/dvo: switch to kernel unsigned int types 2018-06-18 14:45:58 +03:00
intel_engine_cs.c drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd) 2018-06-28 22:55:10 +01:00
intel_fbc.c drm/i915: Add debugfs file to clear FIFO underruns. 2018-04-10 16:29:24 +02:00
intel_fbdev.c drm/i915: Use intel_fb_obj() everywhere 2018-05-22 09:44:02 +01:00
intel_fifo_underrun.c drm/i915: Don't rmw PIPESTAT enable bits 2017-09-25 16:54:09 +03:00
intel_frontbuffer.c drm/i915/psr: Nuke PSR support for VLV and CHV 2018-05-24 16:05:19 +03:00
intel_frontbuffer.h
intel_gpu_commands.h drm/i915: Split GPU commands definitions into separate header 2018-03-15 10:00:03 +00:00
intel_guc_ads.c drm/i915: Wrap engine->context_pin() and engine->context_unpin() 2018-04-30 16:01:13 +01: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: Replace %phn with %ph 2018-04-10 17:15:29 +01:00
intel_guc_ct.h drm/i915/guc: Prepare to process incoming requests from CT 2018-03-28 20:35:17 +01:00
intel_guc_fw.c drm/i915/uc: Fetch uC firmware in init_early 2018-03-23 17:03:24 +00: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: Move defines with size of GuC logs to intel_guc_log.h 2018-06-12 15:44:45 +01:00
intel_guc_log.c drm/i915/guc: Move defines with size of GuC logs to intel_guc_log.h 2018-06-12 15:44:45 +01: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: Check the locking status of GuC WOPCM registers 2018-03-14 15:35:37 +02:00
intel_guc_submission.c drm/i915/gtt: Rename i915_hw_ppgtt base member 2018-06-05 21:11:20 +01:00
intel_guc_submission.h drm/i915/guc: Move GuC workqueue allocations outside of the mutex 2017-12-14 08:06:54 +00:00
intel_guc.c drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
intel_guc.h drm/i915/guc: Use intel_guc_init_misc to hide GuC internals 2018-06-28 22:51:32 +01:00
intel_gvt.c drm/i915: Enable KVMGT for BXT. 2018-06-13 10:57:30 +08:00
intel_gvt.h
intel_hangcheck.c drm/i915: Declare the driver wedged if hangcheck makes no progress 2018-06-14 19:20:33 +01:00
intel_hdcp.c drm/i915: Fix memory leak in intel_hdcp auth 2018-04-06 09:57:31 +03:00
intel_hdmi.c drm/i915/icl: Add 10-bit support for hdmi 2018-06-20 13:54:19 -07:00
intel_hotplug.c drm/i915/icl: HPD pin for port F 2018-03-23 14:59:09 -07:00
intel_huc_fw.c drm/i915/uc: Fetch uC firmware in init_early 2018-03-23 17:03:24 +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/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01: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/icl: fix gmbus gpio pin mapping 2018-06-12 14:12:34 -07:00
intel_lpe_audio.c drm/i915: Avoid leaking lpe audio platdev.data 2018-02-08 17:28:53 +00:00
intel_lrc_reg.h drm/i915/icl: Add Indirect Context Offset for Gen11 2018-03-07 15:07:39 +02:00
intel_lrc.c drm/i915/execlists: Direct submission of new requests (avoid tasklet/ksoftirqd) 2018-06-28 22:55:10 +01:00
intel_lrc.h drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
intel_lspcon.c drm/i915/lspcon: switch to kernel unsigned int types 2018-06-18 14:46:22 +03:00
intel_lvds.c drm/i915: Allow DBLSCAN user modes with eDP/LVDS/DSI 2018-06-13 21:08:14 +03:00
intel_mocs.c drm/i915/icl: Add configuring MOCS in new Icelake engines 2018-05-03 16:41:04 -07:00
intel_mocs.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
intel_modes.c drm/i915: remove redundant ELD connector type update 2018-01-19 11:58:48 +02:00
intel_opregion.c drm/i915/opregion: move acpi notifier to dev_priv 2018-06-14 13:48:10 +03:00
intel_opregion.h drm/i915/opregion: move acpi notifier to dev_priv 2018-06-14 13:48:10 +03:00
intel_overlay.c drm/i915/frontbuffer: Pull frontbuffer_flush out of gem_obj_pin_to_display 2018-03-13 13:49:39 -07:00
intel_panel.c drm/i915/backlight: switch to kernel unsigned int types 2018-06-18 14:46:04 +03:00
intel_pipe_crc.c i915: Convert to use match_string() helper 2018-05-04 10:23:43 +03:00
intel_pm.c drm/i915/icl: Don't update enabled dbuf slices struct until updated in hw 2018-06-04 16:53:55 -07:00
intel_psr.c drm/i915/psr: Enable CRC check in the static frame on the sink side 2018-06-26 17:15:55 -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: Context objects can never be active when freed 2018-06-25 16:28:23 +01:00
intel_ringbuffer.h drm/i915/execlists: Trust the CSB 2018-06-28 22:55:09 +01:00
intel_runtime_pm.c drm/i915/icl: Add power well support 2018-06-27 16:01:19 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Allow DBLSCAN user modes with eDP/LVDS/DSI 2018-06-13 21:08:14 +03:00
intel_sideband.c drm/i915: Move rps.hw_lock to dev_priv and s/hw_lock/pcu_lock 2017-10-11 08:56:56 +01:00
intel_sprite.c drm/i915: Fix sprite destination colorkeying on SKL+ 2018-06-08 21:20:21 +03:00
intel_tv.c drm/i915: Allow DBLSCAN user modes with eDP/LVDS/DSI 2018-06-13 21:08:14 +03:00
intel_uc_fw.c drm/i915/guc: Fix null pointer dereference when GuC FW is not available 2018-03-23 17:03:24 +00:00
intel_uc_fw.h drm/i915/firmware: Correct URL for firmware 2018-05-02 13:40:17 -07:00
intel_uc.c drm/i915/uc: Fetch GuC/HuC firmwares from guc/huc specific init 2018-06-28 22:51:33 +01:00
intel_uc.h drm/i915/uc: Fetch uC firmware in init_early 2018-03-23 17:03:24 +00:00
intel_uncore.c drm/i915: Add WaKBLVECSSemaphoreWaitPoll 2018-06-08 12:16:20 +03:00
intel_uncore.h drm/i915/uncore: switch to kernel unsigned int types 2018-06-18 14:45:51 +03:00
intel_vbt_defs.h drm/i915/vbt: switch to kernel unsigned int types 2018-06-18 14:44:52 +03:00
intel_wopcm.c drm/i915: Use correct reST syntax for WOPCM and GuC kernel-doc diagrams 2018-03-28 14:42:56 +03: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.c drm/i915: Keep the ctx workarounds tightly packed 2018-06-15 13:27:04 +01:00
intel_workarounds.h drm/i915: Check whitelist registers across resets 2018-04-14 18:36:45 +01:00
Kconfig drm/i915/fence: Avoid del_timer_sync() from inside a timer 2017-09-19 13:06:21 +01:00
Kconfig.debug drm/i915/guc: Trace messages from CT while in debug 2018-03-28 20:38:23 +01:00
Makefile drm/i915/selftests: Refactor common flush_test() 2018-05-08 12:44:31 +01:00