linux_dsm_epyc7002/drivers/gpu/drm/i915
José Roberto de Souza 2f8e7ea974 drm/i915: Check PSR errors instead of retrain while PSR is enabled
When a PSR error happens sink sets the PSR error register and also
set the link status to a error status.
So in the short pulse handling it was returning earlier and doing a
full detection and attempting to retrain but it fails as PSR HW is
in change of the main-link.

Just call intel_psr_short_pulse() before
intel_dp_needs_link_retrain() is not the right fix as
intel_dp_needs_link_retrain() would return true and trigger a full
detection while PSR HW is still in change of main-link.

Check for PSR active is also not safe as it could be inactive due a
frontbuffer invalidate and still doing the PSR exit sequence.

v3: added comment in intel_dp_needs_link_retrain()

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181121225441.18785-2-jose.souza@intel.com
2018-11-22 13:51:16 -08:00
..
gvt Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
selftests drm/i915/selftests: Hold task reference to reset worker 2018-11-20 14:32:16 +00: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
i915_debugfs.c drm/i915: Synchronize hpd work in i915_hpd_storm_ctl_show() 2018-11-22 12:28:07 -05:00
i915_drv.c drm/i915: Keep overlay functions naming consistent 2018-11-08 17:09:18 -08:00
i915_drv.h drm/i915: Update DRIVER_DATE to 20181122 2018-11-22 16:49:47 +02:00
i915_fixed.h drm/i915/fixed: cosmetic cleanup 2018-11-20 12:49:24 +02:00
i915_gem_batch_pool.c
i915_gem_batch_pool.h
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.c drm/i915: Add ppgtt to GVT GEM context 2018-10-19 12:23:45 +01:00
i915_gem_context.h drm/i915/execlists: Flush the CS events before unpinning 2018-10-03 14:27:16 +01:00
i915_gem_dmabuf.c dma-buf: remove kmap_atomic interface 2018-06-20 15:59:34 +02:00
i915_gem_evict.c drm/i915: Provide a timeout to i915_gem_wait_for_idle() 2018-07-09 13:55:41 +01:00
i915_gem_execbuffer.c Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
i915_gem_fence_reg.c
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture 2018-11-19 17:16:44 +00:00
i915_gem_gtt.h drm/i915: Mark pin flags as u64 2018-11-06 17:17:50 +02:00
i915_gem_internal.c
i915_gem_object.c
i915_gem_object.h drm/i915: Mark up object tiling-and-stride getters as const 2018-07-26 12:31:02 +01:00
i915_gem_render_state.c drm/i915: Start returning an error from i915_vma_move_to_active() 2018-07-06 18:22:37 +01:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Introduce i915_address_space.mutex 2018-07-11 13:56:16 +01:00
i915_gem_stolen.c drm/i915: pass dev_priv to i915_gem_cleanup_stolen 2018-09-20 16:43:17 +01:00
i915_gem_tiling.c
i915_gem_userptr.c mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
i915_gem.c Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
i915_gem.h drm/i915: GEM_WARN_ON considered harmful 2018-10-18 10:10:12 +01:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: avoid rebuilding i915_gpu_error.o on version string updates 2018-11-22 11:46:57 +02:00
i915_gpu_error.h drm/i915: Prevent machine hang from Broxton's vtd w/a and error capture 2018-11-19 17:16:44 +00:00
i915_ioc32.c
i915_irq.c drm/i915/icl: Reset PSR interruptions 2018-11-09 10:49:39 -08: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: Hide enable_gvt modparam when not compiled in 2018-11-19 13:19:04 +02:00
i915_params.h drm/i915: Remove i915.enable_ppgtt override 2018-09-27 12:05:31 +01:00
i915_pci.c drm/i915: Make pipe/transcoder offsets not depend on enum values 2018-11-21 13:37:59 +02:00
i915_perf.c Revert "drm/i915/perf: Fix warning in documentation" 2018-11-19 13:08:48 +02:00
i915_pmu.c drm pull for 4.19-rc1 2018-08-15 17:39:07 -07: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: fix subslice length 2018-11-09 11:42:00 -08:00
i915_query.h
i915_reg.h drm/i915: Make CHICKEN_TRANS reg not depend on enum value 2018-11-21 13:45:33 +02:00
i915_request.c drm/i915: Park signaling thread while wrapping the seqno 2018-10-26 12:37:13 +01:00
i915_request.h drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_scheduler.c drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_scheduler.h drm/i915: Priority boost for waiting clients 2018-10-01 20:34:24 +01:00
i915_selftest.h drm/i915/selftests: Downgrade igt_timeout message 2018-07-16 11:23:45 +01:00
i915_suspend.c
i915_sw_fence.c drm/i915: Include fence-hint for timeout warning 2018-09-14 14:28:32 +01:00
i915_sw_fence.h
i915_syncmap.c drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +01:00
i915_syncmap.h
i915_sysfs.c
i915_timeline.c
i915_timeline.h drm/i915/selftests: Workaround an issue with unused lockdep subclass 2018-11-16 08:38:21 +00:00
i915_trace_points.c
i915_trace.h drm/i915/ringbuffer: Fix context restore upon reset 2018-06-11 14:03:47 +01:00
i915_utils.h drm/i915: Convert to BITS_PER_TYPE 2018-09-26 13:32:03 +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 Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
i915_vma.h drm/i915: Fix gtt_view asserts 2018-08-28 18:49:33 +03:00
icl_dsi.c drm/i915/icl: Find DSI presence for ICL 2018-11-01 12:23:40 +02: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: Fix plane allocation/free functions 2018-11-15 12:16:33 +01:00
intel_atomic.c drm/i915: Prefer IS_GEN<n> check with bitmask. 2018-10-29 10:44:11 -07:00
intel_audio.c drm/i915/hdmi: Reorder structure to match specification 2018-11-15 16:02:47 +02:00
intel_bios.c drm/i915/bios: rename intel_aux_ch() to intel_bios_port_aux_ch() 2018-11-15 16:21:58 +02:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
intel_cdclk.c drm/i915: add ICP support to cnp_rawclk() and kill icp_rawclk() 2018-11-13 16:37:16 -08:00
intel_color.c drm/i915: Add CRTC output format YCBCR 4:4:4 2018-10-15 16:01:50 +03:00
intel_combo_phy.c drm/i915/icl: reverse uninit order 2018-11-15 16:36:58 -08:00
intel_connector.c drm/i915: rename and move intel_get_pipe_from_connector() 2018-10-17 09:36:43 +03:00
intel_crt.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_csr.c drm/i915: Downgrade unknown CSR firmware warnings 2018-11-20 14:14:18 -08:00
intel_ddi.c drm/i915: Make CHICKEN_TRANS reg not depend on enum value 2018-11-21 13:45:33 +02:00
intel_device_info.c drm/i915: fix broadwell EU computation 2018-11-14 13:17:33 +02:00
intel_device_info.h drm/i915: fix subslice mask array size 2018-11-09 11:41:43 -08:00
intel_display.c drm/i915: Eliminate the horrendous format check code 2018-11-22 18:58:20 +02:00
intel_display.h drm/i915: Add code comment on assumption of pipe==transcoder 2018-11-21 13:38:27 +02: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: Link train Fallback on eDP only if fallback link BW can fit panel's native mode 2018-10-17 18:23:59 -07:00
intel_dp_mst.c drm/i915: Fix possible race in intel_dp_add_mst_connector() 2018-11-12 17:07:12 +02:00
intel_dp.c drm/i915: Check PSR errors instead of retrain while PSR is enabled 2018-11-22 13:51:16 -08:00
intel_dpio_phy.c drm/i915: Get rid of crtc->config in chv_data_lane_soft_reset 2018-10-05 15:19:08 +02:00
intel_dpll_mgr.c drm/i915/icl: Fix crash when getting DPLL of a MST encoder in TC ports 2018-10-31 15:25:05 -07:00
intel_dpll_mgr.h drm/i915/icl: Refactor icl pll functions 2018-10-16 09:00:58 -07:00
intel_drv.h drm/i915: Check PSR errors instead of retrain while PSR is enabled 2018-11-22 13:51:16 -08:00
intel_dsi_dcs_backlight.c
intel_dsi_vbt.c drm/i915/icl: Don't wait for empty FIFO 2018-11-01 12:24:56 +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: Determine DSI panel orientation from VBT 2018-11-13 17:20:32 +02:00
intel_dvo.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_engine_cs.c drm/i915: Show waiter's status on engine dump 2018-11-21 15:57:46 +00:00
intel_fbc.c drm/i915: Prefer IS_GEN<n> check with bitmask. 2018-10-29 10:44:11 -07:00
intel_fbdev.c drm/i915: Use crtc->state in intel_fbdev_init_bios 2018-10-05 15:18:38 +02:00
intel_fifo_underrun.c
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
intel_guc_ads.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_ads.h
intel_guc_ct.c drm/i915: Pull unpin map into vma release 2018-07-24 09:55:12 +01:00
intel_guc_ct.h
intel_guc_fw.c drm/i915: Downgrade unknown firmware warnings 2018-11-16 15:35:36 +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: Pull unpin map into vma release 2018-07-24 09:55:12 +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: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_submission.c drm/i915/guc: doorbell checking cleanup 2018-10-23 09:42:25 +01:00
intel_guc_submission.h drm/i915/selftests: ring all doorbells in igt_guc_doorbells 2018-08-28 13:41:27 +01:00
intel_guc.c drm/i915/guc: Limit number of scratch registers used for H2G 2018-10-22 12:36:49 +01:00
intel_guc.h drm/i915/guc: init GuC descriptors after GuC load 2018-10-04 07:29:47 +01:00
intel_gvt.c drm/i915: Unwind HW init after GVT setup failure 2018-07-10 16:46:09 +01:00
intel_gvt.h
intel_hangcheck.c drm/i915: Pull seqno started checks together 2018-08-07 12:43:00 +01:00
intel_hdcp.c drm/i915: Reassigning log level for HDCP failures 2018-10-29 16:14:58 +01:00
intel_hdmi.c Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
intel_hotplug.c drm/i915: Fix hpd handling for pins with two encoders 2018-11-12 17:07:12 +02:00
intel_huc_fw.c
intel_huc_fw.h
intel_huc.c drm/i915/huc: Normalize HuC status returned by I915_PARAM_HAS_HUC 2018-10-18 10:20:08 +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: remove confusing GPIO vs PCH_GPIO 2018-08-16 11:52:08 -07:00
intel_lpe_audio.c drm/i915: Don't oops during modeset shutdown after lpe audio deinit 2018-11-06 17:18:01 +02: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/execlists: Force write serialisation into context image vs execution 2018-11-12 17:07:12 +02:00
intel_lrc.h drm/i915: Remove superfluous GEN8_LR_CONTEXT_ALIGN 2018-07-27 11:30:42 +01:00
intel_lspcon.c drm/i915: Switch LSPCON to PCON mode if it's in LS mode 2018-11-13 15:22:27 +02:00
intel_lvds.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_mocs.c drm/i915: Remove useless error return from intel_init_mocs_engine() 2018-08-15 23:25:43 +01:00
intel_mocs.h drm/i915: Remove useless error return from intel_init_mocs_engine() 2018-08-15 23:25:43 +01:00
intel_opregion.c drm/i915: Stop calling intel_opregion unregister/register in suspend/resume 2018-10-30 11:52:54 +00:00
intel_opregion.h drm/i915: Stop calling intel_opregion unregister/register in suspend/resume 2018-10-30 11:52:54 +00:00
intel_overlay.c drm/i915: Keep overlay functions naming consistent 2018-11-08 17:09:18 -08:00
intel_panel.c drm/i915: Use intel_panel_actually_set_backlight() to disable PWM backlight 2018-10-31 23:44:55 +02:00
intel_pipe_crc.c Merge drm/drm-next into drm-misc-next 2018-08-27 10:00:03 -04:00
intel_pm.c drm/i915: Disable LP3 watermarks on all SNB machines 2018-11-16 15:44:09 +02:00
intel_psr.c drm/i915: Check PSR errors instead of retrain while PSR is enabled 2018-11-22 13:51:16 -08: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/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5 2018-11-12 17:07:12 +02:00
intel_ringbuffer.h drm/i915/ringbuffer: change header SPDX identifier to MIT 2018-10-31 11:57:11 +02:00
intel_runtime_pm.c drm/i195: spell out reverse on for_each macros 2018-11-15 16:36:58 -08:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915/sdvo: Utilize intel_panel for fixed_mode 2018-10-23 18:26:15 +03:00
intel_sideband.c
intel_sprite.c drm/i915: Account for scale factor when calculating initial phase 2018-11-15 13:57:20 +02:00
intel_tv.c drm/i915: Introduce CRTC output format 2018-10-15 16:01:49 +03:00
intel_uc_fw.c drm/i915/guc: Move the pin bias value from GuC to GGTT 2018-07-27 16:03:41 +01: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: Fix Gen9 GuC loading workarounds 2018-10-17 09:08:00 +01:00
intel_uc.h
intel_uncore.c drm/i915: uncore_fw_domains_init sort platforms newer-to-older 2018-10-22 14:40:43 -07:00
intel_uncore.h drm/i915: Restore user forcewake domains across suspend 2018-08-15 13:41:05 -07:00
intel_vbt_defs.h drm/i915/bios: make the aux channel macros private to the vbt parser 2018-11-15 16:22:17 +02:00
intel_wopcm.c drm/i915: Add a fault injection point to WOPCM init 2018-07-27 16:07:45 +01:00
intel_wopcm.h
intel_workarounds.c drm/i915: Fix icl workarounds whitespaces 2018-11-14 11:37:41 +02:00
intel_workarounds.h
Kconfig - New Drivers 2018-08-20 15:38:44 -07:00
Kconfig.debug drm/i915: Verify power domains after enabling them 2018-08-20 12:13:09 +03:00
Makefile Merge drm/drm-next into drm-intel-next-queued 2018-11-20 13:14:08 +02:00
vlv_dsi_pll.c drm/i915/dsi: use vlv and bxt prefixes for the global DSI functions 2018-07-06 10:54:05 +03:00
vlv_dsi.c drm/i915: Determine DSI panel orientation from VBT 2018-11-13 17:20:32 +02:00