linux_dsm_epyc7002/drivers/gpu/drm/i915
Mika Kuoppala 3085982c6b drm/i915: Use ktime on wait_for
We use jiffies to determine when wait expires. However
Imre did find out that jiffies can and will do a >1
increments on certain situations [1]. When this happens
in a wait_for loop, we return timeout errorneously
much earlier than what the real wallclock would say.

We can't afford our waits to timeout prematurely.
Discard jiffies and change to ktime to detect timeouts.

v2: added bugzilla entry (Imre), added stable (Chris)

Reported-by: Imre Deak <imre.deak@intel.com>
References: https://lkml.org/lkml/2018/4/18/798 [1]
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105771
Cc: Imre Deak <imre.deak@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20180423113754.28424-1-mika.kuoppala@linux.intel.com
2018-04-24 15:46:26 +03:00
..
gvt Merge tag 'gvt-next-2018-04-23' of https://github.com/intel/gvt-linux into drm-intel-next-queued 2018-04-23 13:17:27 +03:00
selftests drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c drm/i915/dvo: Remove incorrect kerneldoc markups 2018-02-14 12:04:31 +00:00
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
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/psr: Timestamps for PSR entry and exit interrupts. 2018-04-20 14:28:18 -07:00
i915_drv.c drm/i915: Call i915_perf_fini() on init_hw error unwind 2018-04-14 18:41:28 +01:00
i915_drv.h drm/i915/psr: Timestamps for PSR entry and exit interrupts. 2018-04-20 14:28:18 -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
i915_gem_context.c drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
i915_gem_context.h drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +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: Describe the bottom of stack in processing a batchbuffer 2018-04-06 13:12:23 +03: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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_gtt.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00: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
i915_gem_object.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_render_state.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_stolen.c drm/i915: Do NOT skip the first 4k of stolen memory for pre-allocated buffers v2 2018-04-21 10:05:38 +02:00
i915_gem_tiling.c drm/i915: Refactor common list iteration over GGTT vma 2017-12-07 23:26:55 +00:00
i915_gem_timeline.c drm/i915: properly init lockdep class 2017-12-14 20:10:01 +02:00
i915_gem_timeline.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_userptr.c drm: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00:00
i915_gem.c drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
i915_gem.h drm/i915: Split out parking from the idle worker for reuse 2018-04-06 20:07:13 +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
i915_gpu_error.c drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
i915_gpu_error.h drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01: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/psr: Control PSR interrupts via debugfs 2018-04-20 14:28:16 -07: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
i915_oa_bdw.h
i915_oa_bxt.c
i915_oa_bxt.h
i915_oa_cflgt2.c
i915_oa_cflgt2.h
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
i915_oa_chv.c
i915_oa_chv.h
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
i915_oa_glk.c
i915_oa_glk.h
i915_oa_hsw.c
i915_oa_hsw.h
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
i915_oa_kblgt2.h
i915_oa_kblgt3.c
i915_oa_kblgt3.h
i915_oa_sklgt2.c
i915_oa_sklgt2.h
i915_oa_sklgt3.c
i915_oa_sklgt3.h
i915_oa_sklgt4.c
i915_oa_sklgt4.h
i915_params.c drm/i915: Enable inject_load_failure only in DEBUG config 2018-02-02 14:19:05 +00:00
i915_params.h drm/i915/guc: Default to non-verbose GuC logging 2018-03-19 12:23:02 +00:00
i915_pci.c drm/i915/icl: Enable the extra video decode and enhancement boxes for Icelake 11 2018-03-20 16:26:39 +02:00
i915_perf.c drm/i915/perf: add more debug message on perf open & configs 2018-03-29 13:37:41 +01:00
i915_pmu.c drm/i915/pmu: Inspect runtime PM state more carefully while estimating RC6 2018-04-11 10:01:00 +01:00
i915_pmu.h drm/i915: Make header i915_pmu.h more robust 2018-03-09 22:21:41 +00:00
i915_pvinfo.h
i915_query.c drm/i915: expose rcs topology through query uAPI 2018-03-08 10:07:24 +00:00
i915_query.h drm/i915: add query uAPI 2018-03-08 10:07:18 +00:00
i915_reg.h drm/i915: Enable edp psr error interrupts on bdw+ 2018-04-20 14:28:15 -07:00
i915_request.c drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
i915_request.h drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +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
i915_suspend.c
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_trace_points.c
i915_trace.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_utils.h drm/i915: Reword warning for missing cases 2018-03-27 10:30:04 -07:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_vma.h drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
intel_acpi.c
intel_atomic_plane.c Merge tag 'drm-intel-next-2018-02-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2018-03-01 14:07:22 +10:00
intel_atomic.c drm/i915: Change use get_new_plane_state instead of existing plane state 2018-04-09 15:58:53 +02:00
intel_audio.c drm/i915/audio: Fix audio detection issue on GLK 2018-04-18 11:04:26 +03:00
intel_bios.c drm/i915/bios: reduce the scope of some local variables in parse_ddi_port() 2018-04-12 11:22:46 +03:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Remove the impedance mismatch around intel_engine_enable_signaling 2018-03-12 22:06:19 +00:00
intel_cdclk.c drm/i915/audio: set minimum CD clock to twice the BCLK 2018-04-19 12:01:31 +03: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: Reinitialize sink scrambling/TMDS clock ratio on HPD 2018-03-06 17:57:24 -05:00
intel_csr.c drm/i915/dmc: DMC 1.07 for Cannonlake 2018-01-04 16:29:12 -08:00
intel_ddi.c drm/i915/dp: Send DPCD ON for MST before phy_up 2018-04-07 18:26:15 -04:00
intel_device_info.c drm/i915/gen11: add support for reading the timestamp frequency 2018-03-28 11:14:29 -07: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: Protect PIPE_CONF_CHECK macros with do {} while(0) 2018-04-19 18:17:47 +03:00
intel_display.h drm/i915: Enable edp psr error interrupts on bdw+ 2018-04-20 14:28:15 -07:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915: Track whether the DP link is trained or not 2018-03-06 17:59:08 -05:00
intel_dp_mst.c drm/i915/dp: Send DPCD ON for MST before phy_up 2018-04-07 18:26:15 -04:00
intel_dp.c drm/i915: Kill the remaining CHV HBR2 leftovers 2018-03-16 21:33:56 +02: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: reorder dpll_info members 2018-03-27 10:36:00 -07:00
intel_dpll_mgr.h drm/i915: reorder dpll_info members 2018-03-27 10:36:00 -07:00
intel_drv.h drm/i915: Use ktime on wait_for 2018-04-24 15:46:26 +03:00
intel_dsi_dcs_backlight.c
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: Provide a device level .mode_valid() hook 2018-01-29 21:55:07 +02:00
intel_dsi.h
intel_dvo.c Merge tag 'drm-intel-next-2018-02-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2018-03-01 14:07:22 +10:00
intel_engine_cs.c drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +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/frontbuffer: Pull frontbuffer_flush out of gem_obj_pin_to_display 2018-03-13 13:49:39 -07:00
intel_fifo_underrun.c
intel_frontbuffer.c drm/i915/psr: Use more PSR HW tracking. 2018-03-13 13:50:22 -07: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/guc: Rename guc_ggtt_offset to intel_guc_ggtt_offset 2018-03-14 15:35:31 +02: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: Remove GUC_CTL_DEVICE_INFO parameter 2018-04-13 13:23:02 +01:00
intel_guc_log.c drm/i915/guc: Handle GuC log flush event in dedicated function 2018-03-21 15:09:14 +00:00
intel_guc_log.h drm/i915/guc: Handle GuC log flush event in dedicated function 2018-03-21 15:09:14 +00: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: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +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/guc: Remove GUC_CTL_DEVICE_INFO parameter 2018-04-13 13:23:02 +01:00
intel_guc.h drm/i915/guc: Handle default action received over CT 2018-03-28 20:35:18 +01:00
intel_gvt.c drm/i915/guc: Introduce USES_GUC_xxx helper macros 2017-12-06 14:41:49 +00:00
intel_gvt.h
intel_hangcheck.c Linux 4.16-rc7 2018-03-28 14:30:41 +10: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: Don't spew errors when resetting HDMI scrambling/bit clock ratio fails 2018-03-23 17:16:31 +02: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/huc: Check HuC status in dedicated function 2018-03-21 15:04:28 +00:00
intel_huc.h drm/i915/huc: Check HuC status in dedicated function 2018-03-21 15:04:28 +00:00
intel_i2c.c Add HDCP support to i915 drm driver. 2018-02-16 09:36:04 +10: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: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
intel_lrc.h drm/i915/icl: Enhanced execution list support 2018-03-07 15:07:31 +02:00
intel_lspcon.c drm/i915: For HPD connected port use hpd_pin instead of port. 2018-01-30 10:24:19 -08:00
intel_lvds.c drm/i915/lvds: Fixup commentary 2018-02-14 12:04:33 +00:00
intel_mocs.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00: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: Move opregion definitions to dedicated intel_opregion.h 2017-12-22 09:19:48 +00:00
intel_opregion.h drm/i915: Move opregion definitions to dedicated intel_opregion.h 2017-12-22 09:19:48 +00: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/panel: Split range scaling calculation for readiblity 2018-02-14 12:02:44 +00:00
intel_pipe_crc.c drm/i915: Handle pipe CRC around enabling/disabling pipe. 2018-03-08 19:09:21 +01:00
intel_pm.c drm/i915: Change use get_new_plane_state instead of existing plane state 2018-04-09 15:58:53 +02:00
intel_psr.c drm/i915/psr: Timestamps for PSR entry and exit interrupts. 2018-04-20 14:28:18 -07: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: Check whitelist registers across resets 2018-04-14 18:36:45 +01:00
intel_ringbuffer.h drm/i915: Pack params to engine->schedule() into a struct 2018-04-18 21:09:11 +01:00
intel_runtime_pm.c drm/i915: Remove skl dc6 enable/disable functions 2018-04-20 12:11:32 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Convert intel_hpd_irq_event() into an encoder hotplug hook 2018-03-06 17:56:29 -05:00
intel_sideband.c
intel_sprite.c drm/i915: Upscale scaler max scale for NV12 2018-04-09 13:40:24 +02:00
intel_tv.c drm/i915/tv: Cleanup up obsolete comments 2018-02-14 12:02:39 +00: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: Implement dynamic GuC WOPCM offset and size calculation 2018-03-14 15:35:33 +02:00
intel_uc.c drm/i915/guc: enable guc interrupts unconditionally in uc_resume 2018-03-29 11:29:30 +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/icl: Add reset control register changes 2018-04-06 15:33:04 +03:00
intel_uncore.h drm/i915/icl: Check for fused-off VDBOX and VEBOX instances 2018-03-20 16:26:28 +02:00
intel_vbt_defs.h drm/i915/bios: add DP max link rate to VBT child device struct 2018-02-07 12:32:14 -08: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: Check whitelist registers across resets 2018-04-14 18:36:45 +01:00
intel_workarounds.h drm/i915: Check whitelist registers across resets 2018-04-14 18:36:45 +01:00
Kconfig
Kconfig.debug drm/i915/guc: Trace messages from CT while in debug 2018-03-28 20:38:23 +01:00
Makefile drm/i915: Move a bunch of workaround-related code to its own file 2018-04-11 22:47:01 +01:00