linux/drivers/gpu/drm
Wayne Lin 62320fb8d9 drm/amd/display: Enable mst when it's detected but yet to be initialized
[Why]
drm_dp_mst_topology_queue_probe() is used under the assumption that
mst is already initialized. If we connect system with SST first
then switch to the mst branch during suspend, we will fail probing
topology by calling the wrong API since the mst manager is yet to
be initialized.

[How]
At dm_resume(), once it's detected as mst branc connected, check if
the mst is initialized already. If not, call
dm_helpers_dp_mst_start_top_mgr() instead to initialize mst

V2: Adjust the commit msg a bit

Fixes: bc068194f5 ("drm/amd/display: Don't write DP_MSTM_CTRL after LT")
Cc: Fangzhi Zuo <jerry.zuo@amd.com>
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2025-11-06 10:01:18 -05:00
..
adp drm: convert many bridge drivers from devm_kzalloc() to devm_drm_bridge_alloc() API 2025-05-23 15:03:47 +02:00
amd drm/amd/display: Enable mst when it's detected but yet to be initialized 2025-11-06 10:01:18 -05:00
arm drm/komeda: Convert logging in komeda_crtc.c to drm_* with drm_device parameter 2025-10-16 16:08:25 +01:00
armada drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
aspeed
ast drm-misc-next for v6.19: 2025-10-24 13:25:20 +02:00
atmel-hlcdc drm: atmel-hlcdc: fix atmel_xlcdc_plane_setup_scaler() 2025-10-14 15:01:00 +05:30
bridge drm-misc-next for v6.19: 2025-10-24 13:25:20 +02:00
ci drm/ci: Uprev igt 2025-07-04 11:06:38 -07:00
clients drm/log: Add free callback 2025-10-24 08:45:37 +02:00
display Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
etnaviv drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
exynos drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
fsl-dcu
gma500 drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
gud drm/gud: rearrange gud_probe() to prepare for function splitting 2025-10-24 19:36:45 +01:00
hisilicon drm/hisilicon/hibmc: fix dp and vga cannot show together 2025-08-17 18:32:31 +03:00
hyperv drm/hypervdrm: Use vblank timer 2025-10-01 08:32:02 +02:00
i915 Merge tag 'drm-intel-gt-next-2025-10-29' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next 2025-10-31 18:57:55 +01:00
imagination drm/imagination: Enable PowerVR driver for RISC-V 2025-09-01 12:11:00 +01:00
imx drm/imx: dc: Sort bits and bitfields in descending order 2025-10-16 11:17:12 +08:00
ingenic drm/ingenic: crtc: Switch to ingenic_drm_get_new_priv_state() 2025-10-06 13:59:22 +02:00
kmb drm/kmb: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:14 +02:00
lib drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
lima drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
logicvc drm/logicvc: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:15 +02:00
loongson drm/loongson: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:15 +02:00
mcde drm/mcde/mcde_clk_div: convert from round_rate() to determine_rate() 2025-09-15 15:08:15 +02:00
mediatek drm/mediatek: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:16 +02:00
meson drm-misc-next for 6.17: 2025-06-18 08:09:35 +10:00
mgag200 drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
msm drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
mxsfb drm/mxsfb: put the bridge returned by drm_bridge_chain_get_first_bridge() 2025-07-22 13:01:28 +02:00
nouveau Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
nova DRM Rust changes for v6.18 2025-09-17 16:13:49 +10:00
omapdrm drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
panel gpu/drm: panel-edp: add AUO B116XAN02.0 panel entry 2025-10-02 14:21:59 -07:00
panfrost drm/panfrost: Rename panfrost_job functions to reflect real role 2025-10-20 16:05:18 +01:00
panthor drm-misc-next for v6.19: 2025-10-24 13:25:20 +02:00
pl111 drm/pl111: convert from round_rate() to determine_rate() 2025-09-15 15:08:43 +02:00
qxl drm/qxl: Use vblank timer 2025-10-15 10:29:59 +02:00
radeon amd-drm-next-6.19-2025-10-29: 2025-10-31 22:08:24 +01:00
renesas drm: renesas: rz-du: Drop ARCH_RZG2L dependency 2025-10-04 12:37:11 +01:00
rockchip Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
scheduler Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
sitronix drm/sitronix/st7571-i2c: remove unneeded semicolon 2025-10-22 09:56:52 +02:00
solomon drm/solomon: Enforce one assignment per line 2025-09-26 15:04:46 +02:00
sprd
sti drm/sti: Remove redundant ternary operators 2025-09-05 13:17:21 +02:00
stm drm/stm/lvds: convert from round_rate() to determine_rate() 2025-09-15 15:08:44 +02:00
sun4i drm/sun4i: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:18 +02:00
sysfb drm/sysfb: Use new CRTC state in begin_fb_access 2025-10-23 10:36:14 +02:00
tegra drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
tests drm/buddy: Add KUnit tests for allocator performance under fragmentation 2025-10-07 19:19:15 +05:30
tidss drm/tidss: crtc: Cleanup reset implementation 2025-09-30 11:57:12 +02:00
tilcdc drm/tilcdc: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:19 +02:00
tiny drm/cirrus-qemu: Use vblank timer 2025-10-15 10:29:49 +02:00
ttm drm/ttm: add pgprot handling for RISC-V 2025-10-28 09:19:46 +01:00
tve200
tyr rust: drm: Introduce the Tyr driver for Arm Mali GPUs 2025-09-11 12:20:03 +00:00
udl drm/gem-shmem: Do not map s/g table by default 2025-07-07 15:23:41 +02:00
v3d drm next fixes for 6.18-rc1 2025-10-10 14:02:14 -07:00
vboxvideo drm/vboxvideo: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:19 +02:00
vc4 drm/vc4: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:20 +02:00
vgem drm/vgem-fence: Fix potential deadlock on release 2025-10-06 15:05:17 +02:00
virtio drm/virtgpu: Use vblank timer 2025-10-09 06:07:21 +03:00
vkms drm/vkms: Allow to configure connector status via configfs 2025-10-22 13:19:26 +02:00
vmwgfx Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
xe Driver Changes: 2025-10-31 18:40:54 +01:00
xen drm/gem: Pass along the format info from .fb_create() to drm_helper_mode_fill_fb_struct() 2025-07-16 20:05:58 +03:00
xlnx drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 17:50:54 +02:00
Kconfig hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
Kconfig.debug drm/format-helper: Move drm_fb_build_fourcc_list() to sysfb helpers 2025-06-18 10:46:03 +02:00
Makefile Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
drm_atomic.c drm/atomic: Change state pointers to a more meaningful name 2025-10-13 11:00:07 +02:00
drm_atomic_helper.c drm/atomic: Change state pointers to a more meaningful name 2025-10-13 11:00:07 +02:00
drm_atomic_state_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_atomic_uapi.c drm: re-allow no-op changes on non-primary planes in async flips 2025-08-22 14:31:21 -03:00
drm_auth.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_blend.c drm/doc: document front-buffer rendering 2025-04-30 23:35:00 +02:00
drm_bridge.c drm/bridge: refcount last_bridge in drm_atomic_bridge_chain_select_bus_fmts() 2025-10-03 09:05:25 +02:00
drm_bridge_helper.c drm/bridge: Include <linux/export.h> 2025-06-16 09:02:25 +02:00
drm_buddy.c drm/buddy: Separate clear and dirty free block trees 2025-10-07 19:18:58 +05:30
drm_cache.c drm/gpu: Remove dead checks on wbinvd_on_all_cpus()'s return value 2025-07-10 13:07:26 +02:00
drm_client.c drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
drm_client_event.c drm/client: Do not free client memory by default 2025-10-24 08:45:37 +02:00
drm_client_modeset.c drm/fb-helper: Synchronize dirty worker with vblank 2025-09-16 12:42:52 +02:00
drm_color_mgmt.c drm/color-mgmt: Prepare for RGB332 palettes 2025-08-26 09:54:18 +02:00
drm_connector.c drm/connector: move HDR sink metadata to display info 2025-06-23 21:44:55 +03:00
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_debugfs.c drm: add debugfs support on per client-id basis 2025-07-04 15:59:06 +02:00
drm_debugfs_crc.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_displayid.c
drm_displayid_internal.h drm/edid: Refactor DisplayID timing block structs 2025-04-16 20:40:51 +03:00
drm_draw.c drm/draw: fix color truncation in drm_draw_fill24 2025-10-14 09:25:10 +02:00
drm_draw_internal.h drm/draw: fix color truncation in drm_draw_fill24 2025-10-14 09:25:10 +02:00
drm_drv.c Merge drm/drm-next into drm-intel-next 2025-09-10 08:01:42 -04:00
drm_dumb_buffers.c drm/dumb-buffers: Provide helper to set pitch and size 2025-09-29 13:57:43 +02:00
drm_edid.c drm-misc-next for 6.17: 2025-06-27 09:58:05 +10:00
drm_edid_load.c
drm_eld.c
drm_encoder.c
drm_exec.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_fb_dma_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_fb_helper.c drm/fb-helper: Synchronize dirty worker with vblank 2025-09-16 12:42:52 +02:00
drm_fbdev_dma.c drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
drm_fbdev_shmem.c drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
drm_fbdev_ttm.c drm/client: Add client free callback to unprepare fb_helper 2025-10-24 08:44:10 +02:00
drm_file.c drm: add debugfs support on per client-id basis 2025-07-04 15:59:06 +02:00
drm_flip_work.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_format_helper.c drm/format-helper: Remove drm_fb_blit() 2025-09-23 15:06:06 +02:00
drm_format_internal.h drm/format-helper: Split off byte swapping from drm_fb_xrgb8888_to_rgb565() 2025-06-27 15:59:23 +02:00
drm_fourcc.c drm: Pass pixel_format+modifier directly to drm_get_format_info() 2025-07-16 20:01:13 +03:00
drm_framebuffer.c drm/framebuffer: Switch to drm_atomic_get_new_crtc_state() 2025-10-06 13:59:21 +02:00
drm_gem.c Merge tag 'drm-misc-next-2025-10-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-10-21 10:16:34 +02:00
drm_gem_atomic_helper.c drm/gem-atomic: Reset plane state to NULL if allocation failed 2025-10-26 17:12:58 +01:00
drm_gem_dma_helper.c drm/gem-dma: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 13:57:44 +02:00
drm_gem_framebuffer_helper.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00
drm_gem_shmem_helper.c drm/gem-shmem: Compute dumb-buffer sizes with drm_mode_size_dumb() 2025-09-29 13:57:45 +02:00
drm_gem_ttm_helper.c drm/gem: Include <linux/export.h> 2025-06-16 09:02:35 +02:00
drm_gem_vram_helper.c drm: Prevent sign extension on hdisplay and vdisplay 2025-10-09 10:42:30 -04:00
drm_gpusvm.c drm/gpusvm, drm/xe: Allow mixed mappings for userptr 2025-10-17 10:25:27 +02:00
drm_gpuvm.c drm next for 6.18-rc1 2025-10-02 12:47:25 -07:00
drm_internal.h Merge drm/drm-next into drm-misc-n 2025-08-11 14:37:45 +02:00
drm_ioc32.c
drm_ioctl.c drm: Add DRM prime interface to reassign GEM handle 2025-07-18 08:59:24 +02:00
drm_kms_helper_common.c
drm_lease.c
drm_managed.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_mipi_dbi.c drm: Prevent sign extension on hdisplay and vdisplay 2025-10-09 10:42:30 -04:00
drm_mipi_dsi.c drm: Add MIPI read_multi func and two write macros 2025-08-14 15:42:26 -07:00
drm_mm.c
drm_mode_config.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c drm/client: Remove holds_console_lock parameter from suspend/resume 2025-10-18 17:35:09 +02:00
drm_modeset_lock.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_of.c drm: of: fix documentation reference 2025-08-21 16:21:08 +02:00
drm_pagemap.c drm/pagemap: Allocate folios when possible 2025-08-06 13:34:58 +02:00
drm_panel.c drm/panel: Allow powering on panel follower after panel is enabled 2025-08-25 09:17:49 -07:00
drm_panel_backlight_quirks.c drm: panel-backlight-quirks: Add Steam Deck brightness quirk 2025-09-03 10:23:03 -05:00
drm_panel_orientation_quirks.c drm/panel: Include <linux/export.h> 2025-06-16 09:02:39 +02:00
drm_panic.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_panic_qr.rs drm/panic: use `core::ffi::CStr` method names 2025-09-16 09:26:59 +02:00
drm_pci.c drm: Do not include <linux/export.h> 2025-06-16 09:00:09 +02:00
drm_plane.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_plane_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_prime.c Merge drm/drm-next into drm-misc-n 2025-08-11 14:37:45 +02:00
drm_print.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_privacy_screen.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_privacy_screen_x86.c
drm_probe_helper.c drm/probe-helper: put the bridge returned by drm_bridge_chain_get_first_bridge() 2025-07-22 13:01:28 +02:00
drm_property.c
drm_rect.c
drm_self_refresh_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_simple_kms_helper.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_suballoc.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_syncobj.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_sysfs.c DRM: Add a new 'boot_display' attribute 2025-09-10 09:35:33 -05:00
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/vblank: Add vblank timer 2025-10-01 08:31:59 +02:00
drm_vblank_helper.c drm/vblank: Add CRTC helpers for simple use cases 2025-10-01 08:32:00 +02:00
drm_vblank_work.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_vma_manager.c drm: Include <linux/export.h> 2025-06-16 09:01:23 +02:00
drm_writeback.c drm for 6.17-rc1 2025-07-30 19:26:49 -07:00