mirror_ubuntu-kernels/drivers/gpu/drm/i915
Ville Syrjälä 7c95ec3b59 drm/i915: Only check eDP HPD when AUX CH is shared
Apparently Acer Chromebook C740 (BDW-ULT) doesn't have the
eDP HPD line properly connected, and thus fails the new
HPD check during eDP probe. The result is that we lose the
eDP output.

I suspect all such machines would be Chromebooks or other
Linux exclusive systems as the Windows driver likely wouldn't
work either. I did check a few other BDW machines here and
those do have eDP HPD connected, one of them even is a
different Chromebook (Samus).

To account for these funky machines let's skip the HPD check when
it looks like the eDP port is the only one using that specific AUX
channel. In case of multiple ports sharing the same AUX CH (eg. on
Asrock B250M-HDV) we still do the check and thus should correctly
ignore the eDP port in favor of the other DP port (usually a DP->VGA
converter).

v2: Don't oops during list iteration

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9264
Fixes: cfe5bdfb27 ("drm/i915: Check HPD live state during eDP probe")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230908052527.685-1-ville.syrjala@linux.intel.com
Reviewed-by: Luca Coelho <luciano.coelho@intel.com>
(cherry picked from commit 70052100fa)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2023-09-12 08:35:32 -04:00
..
display drm/i915: Only check eDP HPD when AUX CH is shared 2023-09-12 08:35:32 -04:00
gem Merge tag 'drm-intel-gt-next-2023-08-11' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-08-15 11:53:32 +10:00
gt drm/i915: mark requests for GuC virtual engines to avoid use-after-free 2023-08-30 11:32:48 -04:00
gvt ARM: 2023-09-07 13:52:20 -07:00
pxp drm/i915: Make i915_coherent_map_type GT-centric 2023-08-10 14:14:11 +02:00
selftests drm/i915: Make i915_coherent_map_type GT-centric 2023-08-10 14:14:11 +02:00
soc drm/i915/jsl: s/JSL/JASPERLAKE for platform/subplatform defines 2023-08-07 15:37:06 -07:00
.gitignore
i915_active_types.h
i915_active.c drm/i915: Fix premature release of request's reusable memory 2023-08-01 10:56:34 +01:00
i915_active.h drm/i915/active: fix kernel-doc for function parameters 2023-05-04 12:11:56 +03:00
i915_cmd_parser.c drm/i915: Wrap all access to i915_vma.node.start|size 2022-12-06 10:52:42 +01:00
i915_cmd_parser.h
i915_config.c drm/i915: add i915_config.h and move relevant declarations there 2023-01-20 10:13:50 +02:00
i915_config.h drm/i915: add i915_config.h and move relevant declarations there 2023-01-20 10:13:50 +02:00
i915_debugfs_params.c drm/i915/params: use generics for parameter debugfs file creation 2023-01-25 16:25:36 +02:00
i915_debugfs_params.h
i915_debugfs.c drm/i915: separate display info printing from the rest 2023-06-29 16:28:14 +03:00
i915_debugfs.h
i915_deps.c drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
i915_deps.h
i915_driver.c drm for 6.6-rc1 2023-08-30 13:34:34 -07:00
i915_driver.h drm/i915: Move intel_vtd_active and run_as_guest to i915_utils 2022-03-30 12:04:01 +01:00
i915_drm_client.c drm/i915: Use the fdinfo helper 2023-06-06 10:01:06 +01:00
i915_drm_client.h drm/i915: make i915_drm_client_fdinfo() reference conditional again 2023-06-20 08:54:43 +01:00
i915_drv.h drm/i915/adls: s/ADLS_RPLS/RAPTORLAKE_S in platform and subplatform defines 2023-08-07 15:37:13 -07:00
i915_file_private.h drm/i915: Use i915 instead of dev_priv insied the file_priv structure 2023-03-23 01:53:44 +01:00
i915_fixed.h
i915_gem_evict.c drm/i915: improve the catch-all evict to handle lock contention 2022-12-30 03:04:39 -05:00
i915_gem_evict.h drm/i915: improve the catch-all evict to handle lock contention 2022-12-30 03:04:39 -05:00
i915_gem_gtt.c treewide: use get_random_u32() when possible 2022-10-11 17:42:58 -06:00
i915_gem_gtt.h Merge drm/drm-next into drm-intel-next 2023-01-25 11:41:16 +02:00
i915_gem_ww.c
i915_gem_ww.h
i915_gem.c drm/i915: Use the fdinfo helper 2023-06-06 10:01:06 +01:00
i915_gem.h drm/i915: move I915_GEM_GPU_DOMAINS to i915_gem.h 2023-01-20 10:14:31 +02:00
i915_getparam.c drm/i915/mtl/huc: Use the media gt for the HuC getparam 2023-06-05 09:53:51 -07:00
i915_getparam.h
i915_gpu_error.c Merge tag 'drm-intel-gt-next-2023-08-04' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-08-07 13:49:25 +10:00
i915_gpu_error.h drm/i915: separate display info printing from the rest 2023-06-29 16:28:14 +03:00
i915_hwmon.c Merge drm/drm-next into drm-intel-next 2023-05-31 12:01:51 +03:00
i915_hwmon.h drm/i915/guc: Disable PL1 power limit when loading GuC firmware 2023-04-26 18:02:40 -04:00
i915_ioc32.c
i915_ioc32.h
i915_ioctl.c
i915_ioctl.h
i915_iosf_mbi.h
i915_irq.c drm/i915/irq: move all PCH irq postinstall calls to display code 2023-08-10 15:14:58 +03:00
i915_irq.h drm/i915/irq: split out display irq handling 2023-05-16 10:31:27 +03:00
i915_memcpy.c
i915_memcpy.h
i915_mitigations.c
i915_mitigations.h
i915_mm.c
i915_mm.h
i915_module.c Merge tag 'drm-intel-gt-next-2022-02-17' of git://anongit.freedesktop.org/drm/drm-intel into drm-intel-next 2022-02-23 15:03:51 -05:00
i915_params.c drm/i915: Add i915.enable_sagv modparam 2023-03-25 00:16:36 +02:00
i915_params.h drm/i915: Add i915.enable_sagv modparam 2023-03-25 00:16:36 +02:00
i915_pci.c Revert "drm/i915: use localized __diag_ignore_all() instead of per file" 2023-07-17 13:39:04 +01:00
i915_pci.h drm/i915: Sanitycheck PCI BARs 2022-08-10 13:11:17 +03:00
i915_perf_oa_regs.h drm/i915/mtl: Implement Wa_14019141245 2023-04-26 15:56:46 -07:00
i915_perf_types.h i915/perf: Drop the aging_tail logic in perf OA 2023-06-07 12:54:59 -07:00
i915_perf.c drm/i915: use direct alias for i915 in requests 2023-07-24 17:24:35 +02:00
i915_perf.h drm/i915/perf: Pass i915 object to perf revision helper 2023-03-24 08:50:16 -07:00
i915_pmu.c drm/i915: rename I915_PMU_MAX_GTS to I915_PMU_MAX_GT 2023-06-06 09:23:47 -07:00
i915_pmu.h drm/i915: rename I915_PMU_MAX_GTS to I915_PMU_MAX_GT 2023-06-06 09:23:47 -07:00
i915_priolist_types.h
i915_pvinfo.h
i915_query.c drm/i915: Partial abandonment of legacy DRM logging macros 2022-11-10 12:35:46 +00:00
i915_query.h
i915_reg_defs.h drm/i915: Add 16bit register/mask operators 2023-05-19 10:02:34 -07:00
i915_reg.h Merge tag 'drm-intel-gt-next-2023-08-04' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-08-07 13:49:25 +10:00
i915_request.c drm/i915: mark requests for GuC virtual engines to avoid use-after-free 2023-08-30 11:32:48 -04:00
i915_request.h drm/i915/request: drop kernel-doc 2023-05-04 12:11:29 +03:00
i915_scatterlist.c Merge tag 'drm-intel-gt-next-2023-04-06' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-04-06 14:21:00 +02:00
i915_scatterlist.h drm/i915/scatterlist: fix kernel-doc 2023-05-05 11:28:43 +03:00
i915_scheduler_types.h
i915_scheduler.c
i915_scheduler.h drm/i915/tasklet: separate local hacks around struct tasklet_struct 2022-06-07 21:47:19 +03:00
i915_selftest.h drm/i915/guc: Delay disabling guc_id scheduling for better hysteresis 2022-10-26 17:29:43 -07:00
i915_suspend.c drm/i915/fbc: Remove intel_fbc_global_disable() 2022-04-13 17:19:04 +03:00
i915_suspend.h
i915_sw_fence_work.c
i915_sw_fence_work.h
i915_sw_fence.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
i915_sw_fence.h drm/i915: Remove unused function parameter 2022-09-24 00:59:13 -04:00
i915_switcheroo.c drm/i915: Allow switching away via vga-switcheroo if uninitialized 2023-01-18 17:12:23 +01:00
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: remove unnecessary intel_pm.h includes 2023-03-06 18:26:30 +02:00
i915_sysfs.h drm/i915/gt: create per-tile sysfs interface 2022-03-21 08:37:39 +00:00
i915_tasklet.h drm/i915/tasklet: separate local hacks around struct tasklet_struct 2022-06-07 21:47:19 +03:00
i915_trace_points.c
i915_trace.h drm/i915: use direct alias for i915 in requests 2023-07-24 17:24:35 +02:00
i915_ttm_buddy_manager.c drm/i915/ttm: remove the virtualized start hack 2023-02-24 11:39:15 +00:00
i915_ttm_buddy_manager.h drm/i915/uapi: expose the avail tracking 2022-07-01 08:29:59 +01:00
i915_user_extensions.c overflow: Introduce overflows_type() and castable_to_type() 2022-11-02 12:39:27 -07:00
i915_user_extensions.h
i915_utils.c drm/i915: Move intel_vtd_active and run_as_guest to i915_utils 2022-03-30 12:04:01 +01:00
i915_utils.h drm/i915/utils: drop kernel-doc from __wait_for() 2023-05-04 12:11:21 +03:00
i915_vgpu.c
i915_vgpu.h
i915_vma_resource.c drm/i915: Introduce guard pages to i915_vma 2022-12-06 10:52:45 +01:00
i915_vma_resource.h drm/i915/vma: fix struct i915_vma_bindinfo kernel-doc 2023-05-05 11:28:09 +03:00
i915_vma_types.h drm/i915: use pat_index instead of cache_level 2023-05-11 17:38:55 +02:00
i915_vma.c drm/i915: Fix TLB-Invalidation seqno store 2023-08-22 11:21:29 -04:00
i915_vma.h drm/i915/fbc: Moved fence related code away from intel_fbc 2023-08-07 08:28:28 +03:00
intel_clock_gating.c drm/i915/kbl: s/KBL/KABYLAKE for platform/subplatform defines 2023-08-07 15:37:03 -07:00
intel_clock_gating.h drm/i915: rename intel_pm.[ch] to intel_clock_gating.[ch] 2023-04-05 19:54:13 +03:00
intel_device_info.c drm/i915: make device info a const pointer to rodata 2023-06-29 16:28:14 +03:00
intel_device_info.h drm/i915: move display device and runtime info to struct intel_display 2023-06-29 16:28:14 +03:00
intel_gvt_mmio_table.c drm/i915/psr: split out PSR regs to a separate file 2023-04-04 10:05:38 +03:00
intel_gvt.c drm/i915/gvt: Fix the compiling error when CONFIG_DRM_I915_DEBUG_RUNTIME_PM=n 2022-04-28 17:01:17 -04:00
intel_gvt.h drm/i915/gvt: move the gvt code into kvmgt.ko 2022-04-21 07:36:56 -04:00
intel_mchbar_regs.h drm/i915/hwmon: Display clamped PL1 limit 2023-01-06 15:53:59 +05:30
intel_memory_region.c drm/i915: drop cast from DEFINE_RES_MEM() usage 2023-01-18 11:45:23 +02:00
intel_memory_region.h drm/i915: remove intel_memory_region avail 2022-07-01 08:29:59 +01:00
intel_pci_config.h drm/i915: Name our BARs based on the spec 2022-10-20 21:08:42 +03:00
intel_pcode.c drm/i915/pcode: Give the punit time to settle before fatally failing 2023-02-07 18:29:43 +01:00
intel_pcode.h drm/i915/pcode: Add a couple of pcode helpers 2022-05-20 09:11:45 +01:00
intel_region_ttm.c drm/i915/intel_region_ttm: Provide missing description for 'offset' param 2023-04-03 17:48:39 +03:00
intel_region_ttm.h drm/i915/ttm: fix 32b build 2022-07-17 14:53:47 -04:00
intel_runtime_pm.c drm/i915: use pointer to i915 instead of rpm in wakeref 2023-06-10 06:32:58 +03:00
intel_runtime_pm.h drm/i915: Remove i915_drm_suspend_mode 2023-06-02 20:25:00 +03:00
intel_sbi.c
intel_sbi.h
intel_step.c drm/i915/adls: s/ADLS_RPLS/RAPTORLAKE_S in platform and subplatform defines 2023-08-07 15:37:13 -07:00
intel_step.h drm/i915: Parse and set stepping for platforms with GMD 2022-09-23 17:37:23 -07:00
intel_uncore.c drm/i915/uncore: fix race around i915->params.mmio_debug 2023-08-01 19:39:17 +03:00
intel_uncore.h drm/i915/uncore: add intel_uncore_regs() helper 2023-07-04 17:12:48 +03:00
intel_wakeref.c drm/i915: add a dedicated workqueue inside drm_i915_private 2023-06-10 06:33:11 +03:00
intel_wakeref.h drm/i915: use pointer to i915 instead of rpm in wakeref 2023-06-10 06:32:58 +03:00
Kconfig fbdev: Use _IOMEM_ infix for I/O-memory helpers 2023-07-31 20:06:52 +02:00
Kconfig.debug drm/i915/guc: Track all sent actions to GuC 2023-05-30 15:18:21 -07:00
Kconfig.profile drm/i915: Improve long running compute w/a for GuC submission 2022-10-24 12:12:47 -07:00
Makefile Merge tag 'drm-intel-gt-next-2023-08-04' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2023-08-07 13:49:25 +10:00
TODO.txt drm/i915/tasklet: separate local hacks around struct tasklet_struct 2022-06-07 21:47:19 +03:00
vlv_sideband_reg.h
vlv_sideband.c drm/i915/display: add intel_display_limits.h for key enums 2023-01-25 13:59:12 +02:00
vlv_sideband.h
vlv_suspend.c drm/i915: rename intel_pm.[ch] to intel_clock_gating.[ch] 2023-04-05 19:54:13 +03:00
vlv_suspend.h