linux_dsm_epyc7002/drivers/gpu/drm/i915
José Roberto de Souza 0b551f1e0f drm/i915/fbdev: Enable late fbdev initial configuration
If the initial fbdev configuration (intel_fbdev_initial_config()) runs
and there still no sink connected it will cause
drm_fb_helper_initial_config() to return 0 as no error happened (but
internally the return is -EAGAIN).  Because no framebuffer was
allocated, when a sink is connected intel_fbdev_output_poll_changed()
will not execute drm_fb_helper_hotplug_event() that would trigger
another try to do the initial fbdev configuration.

So here allowing drm_fb_helper_hotplug_event() to be executed when there
is no framebuffer allocated and fbdev was not set up yet.

This issue also happens when a MST DP sink is connected since boot, as
the MST topology is discovered in parallel if
intel_fbdev_initial_config() is executed before the first sink MST is
discovered it will cause this same issue.

This is a follow-up patch of
https://patchwork.freedesktop.org/patch/196089/

Changes from v1:
- not creating a dump framebuffer anymore, instead just allowing
  drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: stable@vger.kernel.org # v4.15+
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
Tested-by: frederik <frederik.schwan@linux.com> # 4.15.17
Tested-by: Ian Pilcher <arequipeno@gmail.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180418234158.9388-1-jose.souza@intel.com
(cherry picked from commit df9e652174)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2018-04-25 09:50:35 +03:00
..
gvt Merge tag 'gvt-fixes-2018-04-03' of https://github.com/intel/gvt-linux into drm-intel-next-fixes 2018-04-04 13:46:40 +03:00
selftests Merge branch 'sched-wait-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-04-02 16:50:39 -07: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/debugfs: add rcs topology entry 2018-03-08 10:06:21 +00:00
i915_drv.c exynos, i915, vc4, amdgpu fixes 2018-04-22 17:14:29 -07:00
i915_drv.h drm/i915: Fix hibernation with ACPI S0 target state 2018-03-27 11:20:06 +03:00
i915_gem_batch_pool.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
i915_gem_batch_pool.h
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/icl: new context descriptor support 2018-03-07 15:07:20 +02:00
i915_gem_context.h drm/i915: Update missing parts after the rename to i915_request 2018-02-23 16:34:32 +00: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: Do no use kfree() to free a kmem_cache_alloc() return value 2018-04-18 14:16:56 +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: move read_domains and write_domain into i915 2018-02-16 14:12:48 +00:00
i915_gem_tiling.c
i915_gem_timeline.c
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 Linux 4.16-rc7 2018-03-28 14:30:41 +10:00
i915_gem.h drm/i915/icl: Prepare for more rings 2018-03-01 14:13:47 +02:00
i915_gemfs.c
i915_gemfs.h
i915_gpu_error.c drm/i915: add rcs topology to error state 2018-03-08 10:06:21 +00: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: Assert that the request is indeed complete when signaled from irq 2018-03-07 12:57:44 +00: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_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
i915_pci.c drm/i915/icl: Enhanced execution list support 2018-03-07 15:07:31 +02:00
i915_perf.c drm/i915/perf: fix perf stream opening lock 2018-03-05 16:08:28 -08: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/pmu: Fix sleep under atomic in RC6 readout 2018-02-13 16:56:03 -08: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 Merge tag 'drm-intel-next-2018-03-08' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2018-03-14 14:53:01 +10:00
i915_request.c drm/i915: Wrap engine->schedule in RCU locks for set-wedge protection 2018-03-16 14:35:31 +02:00
i915_request.h drm/i915/breadcrumbs: Reduce signaler rbtree to a sorted list 2018-03-06 12:12:45 +00: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_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
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 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_audio.c drm/i915/audio: Fix audio detection issue on GLK 2018-04-18 14:26:15 +03:00
intel_bios.c drm/i915/bios: filter out invalid DDC pins from VBT child devices 2018-04-18 14:17:13 +03:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Flush waiters on seqno wraparound 2018-03-06 17:25:56 +00:00
intel_cdclk.c drm/i915/audio: set minimum CD clock to twice the BCLK 2018-04-23 12:25:45 +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
intel_ddi.c Linux 4.16-rc7 2018-03-28 14:30:41 +10:00
intel_device_info.c drm/i915/debugfs: add rcs topology entry 2018-03-08 10:06:21 +00:00
intel_device_info.h drm/i915/debugfs: add rcs topology entry 2018-03-08 10:06:21 +00:00
intel_display.c Merge airlied/drm-next into drm-misc-next 2018-03-21 09:40:55 -04:00
intel_display.h drm/i915/psr: New power domain for AUX IO. 2018-02-27 12:05:43 -08: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
intel_dp.c drm/i915: Enable VBT based BL control for DP 2018-03-12 11:23:47 -07:00
intel_dpio_phy.c drm: intel_dpio_phy: fix kernel-doc comments at nested struct 2018-02-19 12:19:04 +02:00
intel_dpll_mgr.c
intel_dpll_mgr.h
intel_drv.h drm/i915: Use ktime on wait_for 2018-04-25 09:50:29 +03:00
intel_dsi_dcs_backlight.c
intel_dsi_pll.c
intel_dsi_vbt.c
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/icl: new context descriptor support 2018-03-07 15:07:20 +02:00
intel_fbc.c drm/i915: Handle changing enable_fbc parameter at runtime better. 2018-03-07 10:15:44 +01:00
intel_fbdev.c drm/i915/fbdev: Enable late fbdev initial configuration 2018-04-25 09:50:35 +03:00
intel_fifo_underrun.c
intel_frontbuffer.c drm/i915/frontbuffer: Mark frontbuffer flush and invalidate with might_sleep() 2018-02-27 12:06:07 -08:00
intel_frontbuffer.h
intel_guc_ads.c
intel_guc_ads.h
intel_guc_ct.c
intel_guc_ct.h
intel_guc_fw.c drm/i915/uc: Make GuC/HuC fw fetch and loading functions/file structure symmetric 2018-03-02 09:04:45 +00:00
intel_guc_fw.h
intel_guc_fwif.h
intel_guc_log.c drm/i915/guc: work around gcc-4.4.4 union initializer issue 2018-03-08 11:55:48 +02:00
intel_guc_log.h
intel_guc_reg.h
intel_guc_submission.c drm/i915/guc: Fill preempt context once at init time 2018-02-27 10:30:12 +00:00
intel_guc_submission.h
intel_guc.c drm/i915/uc: Introduce intel_uc_suspend|resume 2018-03-02 23:11:12 +00:00
intel_guc.h drm/i915/uc: Introduce intel_uc_suspend|resume 2018-03-02 23:11:12 +00:00
intel_gvt.c
intel_gvt.h
intel_hangcheck.c Linux 4.16-rc7 2018-03-28 14:30:41 +10:00
intel_hdcp.c drm/i915: Reauthenticate HDCP on failure 2018-02-05 12:59:23 -05:00
intel_hdmi.c drm/i915: Reinitialize sink scrambling/TMDS clock ratio on HPD 2018-03-06 17:57:24 -05:00
intel_hotplug.c drm/i915: Reinitialize sink scrambling/TMDS clock ratio on HPD 2018-03-06 17:57:24 -05:00
intel_huc_fw.c drm/i915/uc: Make GuC/HuC fw fetch and loading functions/file structure symmetric 2018-03-02 09:04:45 +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: Mark firmware as failed on auth failure 2018-03-02 23:11:13 +00:00
intel_huc.h drm/i915/uc: Make GuC/HuC fw fetch and loading functions/file structure symmetric 2018-03-02 09:04:45 +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: Clear user-active flag on preemption completion 2018-04-04 16:45:32 +03: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
intel_opregion.c
intel_opregion.h
intel_overlay.c drm/i915: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00: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
intel_pm.c drm/i915/cnl: Add Wa_2201832410 2018-03-07 15:54:31 -08:00
intel_psr.c drm/i915/psr: Update PSR2 resolution check for Cannonlake 2018-03-06 14:35:45 -08: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: Rename drm_i915_gem_request to i915_request 2018-02-21 20:57:22 +00:00
intel_ringbuffer.h drm/i915: store all subslice masks 2018-03-08 10:06:20 +00:00
intel_runtime_pm.c drm/i915: Enable display WA#1183 from its correct spot 2018-04-23 12:25:50 +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-misc-next for 4.17: 2018-03-14 10:59:16 +10: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: Fixup kerneldoc for intel_uc_fw_upload() 2018-02-14 13:28:41 +00:00
intel_uc_fw.h
intel_uc.c drm/i915/uc: Introduce intel_uc_suspend|resume 2018-03-02 23:11:12 +00:00
intel_uc.h drm/i915/uc: Introduce intel_uc_suspend|resume 2018-03-02 23:11:12 +00:00
intel_uncore.c drm/i915/icl: Gen11 forcewake support 2018-03-07 15:07:45 +02:00
intel_uncore.h drm/i915/icl: Gen11 forcewake support 2018-03-07 15:07:45 +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
Kconfig
Kconfig.debug
Makefile drm/i915: add query uAPI 2018-03-08 10:07:18 +00:00