2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/gpu/drm
Imre Deak 9cb1547891 drm/i915/dp_mst: Work around Thunderbolt sink disconnect after SINK_COUNT_ESI read
Due to a problem in the iTBT DP-in adapter's firmware the sink on a TBT
link may get disconnected inadvertently if the SINK_COUNT_ESI and the
DP_LINK_SERVICE_IRQ_VECTOR_ESI0 registers are read in a single AUX
transaction. Work around the issue by reading these registers in
separate transactions.

The issue affects MTL+ platforms and will be fixed in the DP-in adapter
firmware, however releasing that firmware fix may take some time and is
not guaranteed to be available for all systems. Based on this apply the
workaround on affected platforms.

See HSD #13013007775.

v2: Cc'ing Mika Westerberg.

Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13760
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14147
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://lore.kernel.org/r/20250519133417.1469181-1-imre.deak@intel.com
(cherry picked from commit c3a48363cf)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2025-05-22 09:25:57 +03:00
..
adp Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
amd drm/amdgpu/jpeg: sriov support for jpeg_v5_0_1 2025-05-16 13:39:14 -04:00
arm Merge drm/drm-next into drm-misc-next 2025-02-18 07:43:43 +01:00
armada drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
aspeed drm/aspeed: move to devm_platform_ioremap_resource() usage 2025-02-26 15:27:06 +01:00
ast drm/ast: Validate display modes against framebuffer and format limits 2025-04-07 15:08:48 +02:00
atmel-hlcdc drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
bridge drm/bridge: anx7625: change the gpiod_set_value API 2025-05-05 17:23:34 +03:00
ci drm/ci: uprev mesa 2025-05-04 09:20:28 -07:00
clients printk: Rename console_start to console_resume 2025-03-11 12:51:21 +01:00
display drm/dp: add option to disable zero sized address only transactions. 2025-05-19 07:14:45 +10:00
etnaviv drm/etnaviv: Use dma_buf from GEM object instance 2025-04-14 10:53:11 +02:00
exynos Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
fsl-dcu drm/fsl-dcu: move to devm_platform_ioremap_resource() usage 2025-03-06 12:37:33 -05:00
gma500 Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
gud Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
hisilicon drm/hisilicon/hibmc: Add vga connector detect functions 2025-04-11 14:42:13 +03:00
hyperv drm/hyperv: Fix address space leak when Hyper-V DRM device is removed 2025-03-09 23:46:56 +00:00
i915 drm/i915/dp_mst: Work around Thunderbolt sink disconnect after SINK_COUNT_ESI read 2025-05-22 09:25:57 +03:00
imagination drm/imagination: Add reset controller support for GPU initialization 2025-04-24 11:08:48 +01:00
imx drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
ingenic drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
kmb drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
lib
lima Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
logicvc drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
loongson drm/atomic: Let drivers decide which planes to async flip 2025-02-14 00:54:29 +02:00
mcde drm/mcde: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:23 +02:00
mediatek Mediatek DRM Next - 20250515 2025-05-16 07:29:38 +10:00
meson Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
mgag200 drm/mgag200: Fix value in <VBLKSTR> register 2025-04-17 09:56:28 +02:00
msm drm/msm/dp: Introduce link training per-segment for LTTPRs 2025-05-12 19:18:49 +03:00
mxsfb drm/mxsfb: Remove generic DRM drivers in probe function 2025-03-12 09:14:29 +01:00
nouveau drm/nouveau/kms: add support for GB20x 2025-05-19 07:14:45 +10:00
nova gpu: drm: nova: select AUXILIARY_BUS instead of depending on it 2025-05-15 20:59:32 +02:00
omapdrm Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
panel drm/panel: Add Novatek NT37801 panel driver 2025-05-08 17:57:13 +02:00
panfrost drm/panfrost: reorder pd/clk/rst sequence 2025-04-28 10:24:04 +01:00
panthor drm/panthor: Fix build warning when DEBUG_FS is disabled 2025-04-29 18:12:23 +02:00
pl111 drm: pl111: fix inconsistent indenting warning 2025-03-07 10:25:10 +01:00
qxl drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
radeon drm/radeon/cik: Clean up doorbells 2025-05-16 13:37:21 -04:00
renesas drm: Remove unused function rcar_cmm_write 2025-05-02 11:52:46 +03:00
rockchip drm/rockchip: inno-hdmi: Fix video timing HSYNC/VSYNC polarity setting for rk3036 2025-05-04 12:40:53 +02:00
scheduler Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
sitronix drm/sitronix: move tiny Sitronix drivers to their own subdir 2025-05-12 10:26:40 +02:00
solomon drm/ssd130x: ensure ssd132x pitch is correct 2025-01-16 10:48:47 +01:00
sprd drm/sprd: move to devm_platform_ioremap_resource() usage 2025-03-10 16:25:01 -04:00
sti Merge tag 'drm-misc-next-2025-04-09' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-04-14 15:29:49 +10:00
stm drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
sun4i drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
sysfb drm/sysfb: Share helpers for screen_info validation 2025-04-14 10:16:14 +02:00
tegra drm/tegra: Fix a possible null pointer dereference 2025-05-07 18:07:27 +02:00
tests Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
tidss drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
tilcdc drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
tiny drm/sitronix: move tiny Sitronix drivers to their own subdir 2025-05-12 10:26:40 +02:00
ttm Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
tve200 drm-misc-next for 6.14: 2024-12-13 08:48:09 +10:00
udl drm/udl: Set error code in udl_init() 2025-04-17 10:21:40 +02:00
v3d Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
vboxvideo drm/vboxvideo: Remove unused hgsmi_cursor_position 2025-02-28 09:05:10 +01:00
vc4 drm/vc4: convert to devm_drm_bridge_alloc() API 2025-04-29 11:21:25 +02:00
vgem Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
virtio Linux 6.15-rc5 2025-05-06 16:39:25 +10:00
vkms drm/vkms: Adjust vkms_state->active_planes allocation type 2025-05-06 10:17:00 +02:00
vmwgfx drm/vmwgfx: Use dma_buf from GEM object instance 2025-04-14 10:53:11 +02:00
xe Non-display related: 2025-05-10 06:12:18 +10:00
xen drm: remove driver date from struct drm_driver and all drivers 2024-12-05 12:35:42 +02:00
xlnx gpu: drm: xlnx: zynqmp_dp: Use dev_err_probe() 2025-04-16 15:03:22 +03:00
drm_atomic_helper.c drm/bridge: Add helper to reset bridge pipeline 2025-03-20 14:45:48 +01:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm for 6.15-rc1 2025-03-28 17:44:52 -07:00
drm_atomic.c drm/atomic: Introduce helper to lookup connector by encoder 2025-03-20 14:45:46 +01:00
drm_auth.c
drm_blend.c drm/doc: document front-buffer rendering 2025-04-30 23:35:00 +02:00
drm_bridge_helper.c drm/bridge: Add helper to reset bridge pipeline 2025-03-20 14:45:48 +01:00
drm_bridge.c drm/bridge: make devm_drm_bridge_alloc() mandatory for bridge allocation 2025-04-07 11:38:05 +02:00
drm_buddy.c drm/buddy: Add a testcase to verify the multiroot fini 2025-01-14 20:43:19 +05:30
drm_cache.c
drm_client_event.c drm/client: Send pending hotplug events after resume 2025-03-05 21:48:49 +01:00
drm_client_modeset.c drm/client: s/unsigned int i/int i/ 2025-03-13 18:33:57 +02:00
drm_client.c drm/gem: Change locked/unlocked postfix of drm_gem_v/unmap() function names 2025-03-26 22:59:56 +03:00
drm_color_mgmt.c
drm_connector.c drm/atomic: Filter out redundant DPMS calls 2025-03-10 18:18:37 +02:00
drm_crtc_helper_internal.h drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
drm_crtc_helper.c drm: Remove redundant statement in drm_crtc_helper_set_mode() 2025-03-27 14:02:57 +02:00
drm_crtc_internal.h
drm_crtc.c drm: add clone mode check for CRTC 2025-01-08 01:39:58 +02:00
drm_damage_helper.c drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() 2025-03-03 14:45:40 +02:00
drm_debugfs_crc.c
drm_debugfs.c drm/bridge: move bridges_show logic from drm_debugfs.c 2025-03-12 10:50:32 +01:00
drm_displayid_internal.h drm/edid: Refactor DisplayID timing block structs 2025-04-16 20:40:51 +03:00
drm_displayid.c
drm_draw_internal.h drm/panic: Move drawing functions to drm_draw 2024-12-10 14:36:41 +01:00
drm_draw.c Merge drm/drm-next into drm-misc-next 2025-04-07 14:35:48 +02:00
drm_drv.c Nova changes for v6.16 2025-05-21 05:49:31 +10:00
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm/edid: Refactor DisplayID timing block structs 2025-04-16 20:40:51 +03:00
drm_eld.c
drm_encoder.c
drm_exec.c
drm_fb_dma_helper.c drm/fb-dma-helper: Test for imported buffers with drm_gem_is_imported() 2025-03-06 08:59:17 +01:00
drm_fb_helper.c drm/fb-helper: Remove struct drm_fb_helper.fb_probe 2025-03-05 21:48:50 +01:00
drm_fbdev_dma.c drm/fbdev-dma: Add shadow buffering for deferred I/O 2025-02-27 09:37:55 +01:00
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c amd-drm-next-6.16-2025-05-09: 2025-05-12 07:14:34 +10:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: fix build 2025-04-07 08:45:31 +02:00
drm_format_internal.h drm/format-helper: Add generic conversion to 8-bit formats 2025-04-01 15:35:22 +02:00
drm_fourcc.c
drm_framebuffer.c - The series "resource: A couple of cleanups" from Andy Shevchenko 2024-11-25 16:09:48 -08:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c drm/gem-dma: Use dma_buf from GEM object instance 2025-03-06 08:59:01 +01:00
drm_gem_framebuffer_helper.c drm/gem: Change locked/unlocked postfix of drm_gem_v/unmap() function names 2025-03-26 22:59:56 +03:00
drm_gem_shmem_helper.c drm/shmem-helper: Fix unsetting shmem vaddr while vmap refcount > 0 2025-04-04 15:56:44 +03:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gem.c drm/gem: Add _locked postfix to functions that have unlocked counterpart 2025-03-26 23:00:02 +03:00
drm_gpusvm.c Merge drm/drm-next into drm-misc-next 2025-05-06 09:09:49 +02:00
drm_gpuvm.c
drm_internal.h drm/gem: Change locked/unlocked postfix of drm_gem_v/unmap() function names 2025-03-26 22:59:56 +03:00
drm_ioc32.c
drm_ioctl.c
drm_kms_helper_common.c
drm_lease.c
drm_managed.c drm/managed: Add DRM-managed alloc_ordered_workqueue 2025-01-21 10:32:31 +01:00
drm_mipi_dbi.c drm/mipi-dbi: Fix blanking for non-16 bit formats 2025-04-29 17:29:49 +02:00
drm_mipi_dsi.c drm/mipi-dsi: Add helper to find input format 2025-03-30 19:47:12 +03:00
drm_mm.c
drm_mode_config.c drm/plane: Add new plane property IN_FORMATS_ASYNC 2025-05-09 15:29:40 +05:30
drm_mode_object.c
drm_modes.c Linux 6.13-rc6 2025-01-10 14:24:17 +10:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c drm: of: drm_of_find_panel_or_bridge: move misplaced comment 2025-02-17 14:17:55 +01:00
drm_panel_backlight_quirks.c drm: panel-backlight-quirks: Add Framework 13 glossy and 2.8k panels 2024-11-21 09:28:15 -06:00
drm_panel_orientation_quirks.c drm: panel-orientation-quirks: Add ZOTAC Gaming Zone 2025-03-15 20:49:38 +02:00
drm_panel.c drm/panel: make prepare/enable and disable/unprepare calls return void 2025-04-22 16:49:11 +03:00
drm_panic_qr.rs drm/panic: Use a decimal fifo to avoid u64 by u64 divide 2025-05-02 12:58:00 +02:00
drm_panic.c drm/panic: Add support to scanout buffer as array of pages 2025-04-10 10:50:58 +02:00
drm_pci.c
drm_plane_helper.c
drm_plane.c drm/plane: modify create_in_formats to acommodate async 2025-05-09 15:30:28 +05:30
drm_prime.c drm/gem: Change locked/unlocked postfix of drm_gem_v/unmap() function names 2025-03-26 22:59:56 +03:00
drm_print.c drm/print: add drm_print_hex_dump() 2024-12-10 14:08:40 +02:00
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c drm/probe-helper: Do not fail from drmm_kms_helper_poll_init() 2025-03-24 09:31:03 +01:00
drm_property.c
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c drm/syncobj: Extend EXPORT_SYNC_FILE for timeline syncobjs 2025-04-01 18:30:25 +02:00
drm_sysfs.c drm/sysfs: Constify 'struct bin_attribute' 2025-02-21 09:20:31 +01:00
drm_trace_points.c
drm_trace.h
drm_vblank_work.c treewide: Introduce kthread_run_worker[_on_cpu]() 2025-01-08 18:15:03 +01:00
drm_vblank.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
drm_vma_manager.c
drm_writeback.c drm: writeback: Fix kernel doc name 2025-02-20 15:02:09 +01:00
Kconfig Nova changes for v6.16 2025-05-21 05:49:31 +10:00
Kconfig.debug drm: Mark CONFIG_DRM_HEADER_TEST as BROKEN 2025-04-10 14:06:06 +02:00
Makefile Nova changes for v6.16 2025-05-21 05:49:31 +10:00