linux_dsm_epyc7002/drivers/gpu/drm/i915
Jani Nikula d93fa1b47b Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available."
This reverts commit dc911f5bd8.

Per the report, no matter what display mode you select with xrandr, the
i915 driver will always select the alternate fixed mode. For the
reporter this means that the display will always run at 40Hz which is
quite annoying. This may be due to the mode comparison.

But there are some other potential issues. The choice of alt_fixed_mode
seems dubious. It's the first non-preferred mode, but there are no
guarantees that the only difference would be refresh rate. Similarly,
there may be more than one preferred mode in the probed modes list, and
the commit changes the preferred mode selection to choose the last one
on the list instead of the first.

(Note that the probed modes list is the raw, unfiltered, unsorted list
of modes from drm_add_edid_modes(), not the pretty result after a
drm_helper_probe_single_connector_modes() call.)

Finally, we already have eerily similar code in place to find the
downclock mode for DRRS that seems like could be reused here.

Back to the drawing board.

Note: This is a hand-crafted revert due to conflicts. If it fails to
backport, please just try reverting the original commit directly.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105469
Reported-by: Rune Petersen <rune@megahurts.dk>
Reported-by: Mark Spencer <n7u4722r35@ynzlx.anonbox.net>
Fixes: dc911f5bd8 ("drm/i915/edp: Allow alternate fixed mode for eDP if available.")
Cc: Clint Taylor <clinton.a.taylor@intel.com>
Cc: David Weinehall <david.weinehall@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jim Bride <jim.bride@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v4.14+
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180516080110.22770-1-jani.nikula@intel.com
2018-05-22 12:36:05 +03:00
..
gvt drm/i915/gvt: Fix crash after request->hw_context change 2018-05-21 10:55:30 +01:00
selftests drm/i915/selftests: Wait longer for the old active request 2018-05-19 12:50:59 +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: Use intel_fb_obj() everywhere 2018-05-22 09:44:02 +01:00
i915_drv.c drm/i915: Don't request a bug report for unsafe module parameters 2018-05-08 09:20:59 +01:00
i915_drv.h drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01: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: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
i915_gem_context.h drm/i915: Pull the context->pin_count dec into the common intel_context_unpin 2018-05-18 09:35:28 +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: Lazily unbind vma on close 2018-05-04 07:26:56 +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/selftests: scrub 64K 2018-05-13 10:29:18 +01:00
i915_gem_gtt.h drm/i915/selftests: scrub 64K 2018-05-13 10:29:18 +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
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
i915_gem_userptr.c drm/i915/userptr: reject zero user_size 2018-05-08 12:24:39 +01:00
i915_gem.c drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
i915_gem.h drm/i915: Only sync tasklets once for recursive reset preparation 2018-05-16 20:20:33 +01:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +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/icl: Correctly clear lost ctx-switch interrupts across reset for Gen11 2018-04-25 16:12:24 +01:00
i915_memcpy.c
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: 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/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: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
i915_pmu.c drm/i915/pmu: Inspect runtime PM state more carefully while estimating RC6 2018-04-18 14:17:09 +03: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: Clean up DVO pipe select bits 2018-05-17 19:39:01 +03:00
i915_request.c drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
i915_request.h drm/i915: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +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
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
i915_trace.h drm/i915: Move request->ctx aside 2018-05-18 09:35:17 +01:00
i915_utils.h drm/i915: Retire requests along rings 2018-04-30 16:01:18 +01:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Lazily unbind vma on close 2018-05-04 07:26:56 +01:00
i915_vma.h drm/i915: Lazily unbind vma on close 2018-05-04 07:26:56 +01:00
intel_acpi.c
intel_atomic_plane.c drm/i915: Enable display workaround 827 for all planes, v2. 2018-05-11 09:53:22 +02: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 14:26:15 +03:00
intel_bios.c drm/i915/psr: Check if VBT says PSR can be enabled. 2018-05-09 05:34:20 -07:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Allow init_breadcrumbs to be used from irq context 2018-05-19 12:50:58 +01:00
intel_cdclk.c drm/i915: Adjust eDP's logical vco in a reliable place. 2018-05-03 06:33:18 -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: Clean up ADPA pipe select bits 2018-05-17 19:29:49 +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: Use the same vswing->max_preemph mapping on HSW/BDW as on SKL+ 2018-05-18 17:23:40 +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: Move GEM BO inside drm_framebuffer 2018-05-22 09:44:04 +01: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/dp: move link_bw and rate_select debugging where used 2018-04-26 18:21:02 +03: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 Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." 2018-05-22 12:36:05 +03: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: compute the MG PLL registers 2018-05-07 16:49:57 -07:00
intel_dpll_mgr.h drm/i915/icl: add basic support for the ICL clocks 2018-05-07 16:42:47 -07:00
intel_drv.h Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." 2018-05-22 12:36:05 +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 Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." 2018-05-22 12:36:05 +03:00
intel_dsi.h
intel_dvo.c Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." 2018-05-22 12:36:05 +03:00
intel_engine_cs.c drm/i915/execlists: Handle copying default context state for atomic reset 2018-05-19 12:50:58 +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
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: Wrap engine->context_pin() and engine->context_unpin() 2018-04-30 16:01:13 +01:00
intel_guc_ads.h
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
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: Store a pointer to intel_context in i915_request 2018-05-18 09:35:22 +01:00
intel_guc_submission.h
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
intel_gvt.h
intel_hangcheck.c drm/i915: Reset the hangcheck timestamp before repeating a seqno 2018-05-03 10:43:45 +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: Clean up SDVO pipe select bits 2018-05-17 19:33:38 +03: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/execlists: Handle copying default context state for atomic reset 2018-05-19 12:50:58 +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: For HPD connected port use hpd_pin instead of port. 2018-01-30 10:24:19 -08:00
intel_lvds.c Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." 2018-05-22 12:36:05 +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
intel_opregion.h
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 Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." 2018-05-22 12:36:05 +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: Enable Sampler DFR 2018-05-11 15:54:18 +03:00
intel_psr.c drm/i915/psr: Check if VBT says PSR can be enabled. 2018-05-09 05:34:20 -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: Pull the context->pin_count dec into the common intel_context_unpin 2018-05-18 09:35:28 +01:00
intel_ringbuffer.h drm/i915/execlists: Handle copying default context state for atomic reset 2018-05-19 12:50:58 +01:00
intel_runtime_pm.c drm/i915: Add documentation to gen9_set_dc_state() 2018-05-07 17:42:22 +03:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Clean up SDVO pipe select bits 2018-05-17 19:33:38 +03:00
intel_sideband.c
intel_sprite.c drm/i915: Add NV12 as supported format for sprite plane 2018-05-11 10:19:48 +02:00
intel_tv.c drm/i915: Clean up TV pipe select bits 2018-05-17 19:38:12 +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/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: Stop parking the signaler around reset 2018-05-16 20:20:39 +01: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/gen9: Add WaClearHIZ_WM_CHICKEN3 for bxt and glk 2018-05-13 10:29:44 +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/selftests: Refactor common flush_test() 2018-05-08 12:44:31 +01:00