Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • A amd
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 483
    • Issues 483
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Admin message

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • drm
  • amd
  • Issues
  • #2297

external monitor not working since Linux-6.1 (amdgpu: update_mst_stream_alloc_table, regression from Linux-6.0))

Brief summary of the problem:

Moved from here: https://bugzilla.kernel.org/show_bug.cgi?id=216805

Since Linux-6.1 my external monitor isn't working anymore. It was working fine with Linux-6.0, incl. 6.0.12. (-> regression) For 6.1 there's a suspicious stacktrace in dmesg which wasn't there in 6.0. (see attachment and below)

I connect two monitors via a USB-C/DisplayPort docking station. Then I power on the notebook. The other monitor is working.

Hardware description:

Connections:

  • Notebook
    • USB-C/DisplayPort: docking station
      • HDMI: external monitor (not working)
      • DisplayPort: VGA-Adapter: external monitor (working)

 

Notebook:
Model: HP EliteBook 845 G8 (notebook)
CPU+GPU: Ryzen 5650U incl. Radeon GPU

System information:

  • Distro name and Version: openSUSE-15.4
  • Kernel version: Linux-6.1

Log files (for system lockups / game freezes / crashes)

  • Dmesg log (full log)
    • I attached a dmesg from a broken 6.1 kernel and a dmesg from a working 6.0.12 kernel:
      • ext_monitor_-6.1_not_working-6.0_working-_amdgpu_update_mst_stream_alloc_table.txt
In the Linux-6.1 dmesg there's a suspicious stacktrace.
------------[ cut here ]------------
WARNING: CPU: 7 PID: 133 at /home/myuser/opt/linux-kernel/build.backup-exclude-m461c/build_bisect/worktree/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link.c:3534 update_mst_stream_alloc_table+0x170/0x180 [amdgpu]
Modules linked in: hid_generic(E) usbhid(E) amdgpu(E+) crc32_pclmul(E) crc32c_intel(E) drm_ttm_helper(E) ttm(E) mfd_core(E) iommu_v2(E) gpu_sched(E) i2c_algo_bit(E) drm_buddy(E) ghash_clmulni_intel(E) drm_display_helper(E) drm_kms_helper(E) xhci_pci(E) syscopyarea(E) xhci_pci_renesas(E) sysfillrect(E) sysimgblt(E) aesni_intel(E) nvme(E) fb_sys_fops(E) crypto_simd(E) xhci_hcd(E) nvme_core(E) cryptd(E) drm(E) t10_pi(E) serio_raw(E) crc64_rocksoft_generic(E) cec(E) usbcore(E) ccp(E) sp5100_tco(E) rc_core(E) crc64_rocksoft(E) crc64(E) video(E) wmi(E) i2c_hid_acpi(E) i2c_hid(E) dm_mirror(E) dm_region_hash(E) dm_log(E) sg(E) dm_multipath(E) dm_mod(E) scsi_dh_rdac(E) scsi_dh_emc(E) scsi_dh_alua(E) scsi_mod(E) scsi_common(E) msr(E) efivarfs(E)
CPU: 7 PID: 133 Comm: kworker/7:1 Tainted: G            E      6.1.0-v6.1-myhost #2
Hardware name: HP HP EliteBook 845 G8 Notebook PC/8895, BIOS T82 Ver. 01.10.00 07/13/2022
Workqueue: events_long drm_dp_mst_link_probe_work [drm_display_helper]
RIP: 0010:update_mst_stream_alloc_table+0x170/0x180 [amdgpu]
Code: 00 00 00 75 cd 48 8b 84 24 90 00 00 00 65 48 33 04 25 28 00 00 00 75 19 48 81 c4 98 00 00 00 5b 5d 41 5c 41 5d c3 cc cc cc cc <0f> 0b e9 da fe ff ff e8 b4 28 8c e4 0f 1f 40 00 0f 1f 44 00 00 55
RSP: 0018:ffffa52180643668 EFLAGS: 00010202
RAX: 0000000000000002 RBX: ffff8c348d5e8c00 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff8c3510e5d420 RDI: 0000000000000000
RBP: ffffa52180643668 R08: 0000000000000001 R09: ffff8c348d5e8c00
R10: ffffa52180643730 R11: 0000000000000030 R12: ffff8c3560f00aa0
R13: 0000000000000002 R14: ffff8c3560f00aa0 R15: ffff8c34879bdb00
FS:  0000000000000000(0000) GS:ffff8c434e9c0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb6d9270000 CR3: 000000010b610000 CR4: 0000000000750ee0
PKRU: 55555554
Call Trace:
 <TASK>
 dc_link_allocate_mst_payload+0x97/0x2a0 [amdgpu]
 core_link_enable_stream+0x692/0xa00 [amdgpu]
 ? optc1_set_drr+0x139/0x1e0 [amdgpu]
 dce110_apply_ctx_to_hw+0x64b/0x6d0 [amdgpu]
 ? dcn10_plane_atomic_power_down+0xcb/0x100 [amdgpu]
 ? __free_pages_ok+0x26d/0x440
 ? dcn10_wait_for_mpcc_disconnect+0x39/0x150 [amdgpu]
 dc_commit_state_no_check+0x3c3/0xc10 [amdgpu]
 dc_commit_state+0x104/0x120 [amdgpu]
 amdgpu_dm_atomic_commit_tail+0x53c/0x2910 [amdgpu]
[...]

git bisect

I did a git bisect.
First bad commit: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4d07b0bc403403438d9cf88450506240c5faf92f
@lyudess Might you have a look at this?

git bisect log
git bisect start
# good: [4fe89d07dcc2804c8b562f6c7896a45643d34b2f] Linux 6.0
git bisect good 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
# bad: [830b3c68c1fb1e9176028d02ef86f3cf76aa2476] Linux 6.1
git bisect bad 830b3c68c1fb1e9176028d02ef86f3cf76aa2476
# bad: [33e591dee915832c618cf68bb1058c8e7d296128] Merge tag 'phy-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
git bisect bad 33e591dee915832c618cf68bb1058c8e7d296128
# good: [a47e60729d9624e931f988709ab76e043e2ee8b9] Merge tag 'backlight-next-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight
git bisect good a47e60729d9624e931f988709ab76e043e2ee8b9
# bad: [ff6862c23d2e83d12d1759bf4337d41248fb4dc8] Merge tag 'arm-drivers-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
git bisect bad ff6862c23d2e83d12d1759bf4337d41248fb4dc8
# bad: [95d8c67187bcfaa519bafcdef9091cd906505454] Merge tag 'drm-msm-next-2022-09-22' of https://gitlab.freedesktop.org/drm/msm into drm-next
git bisect bad 95d8c67187bcfaa519bafcdef9091cd906505454
# bad: [6f3562b3bca078b40aa198db8fdc68439b7b0399] Merge drm/drm-next into drm-intel-next
git bisect bad 6f3562b3bca078b40aa198db8fdc68439b7b0399
# good: [dbaadb3cebaad49c37e3fec937e73e6e41054404] drm/amdgpu/dm/mst: Rename get_payload_table()
git bisect good dbaadb3cebaad49c37e3fec937e73e6e41054404
# good: [9aa320341e9a86c684ccf8c2e75ff07486d9bf46] drm/i915/display: Fix warning callstack for imbalance wakeref
git bisect good 9aa320341e9a86c684ccf8c2e75ff07486d9bf46
# bad: [857dbf2431ba8abcd6f0f1335ea637580ebe5507] drm/vc4: vec: Remove empty mode_fixup
git bisect bad 857dbf2431ba8abcd6f0f1335ea637580ebe5507
# bad: [e6545831a17beaa724f29e79d8a12050b45da243] MAINTAINERS: Add myself as a reviewer for panel-edp.c
git bisect bad e6545831a17beaa724f29e79d8a12050b45da243
# bad: [b3be4520d81e7dc820de5fdab0d7d697231cf517] drm/vc4: hvs: protect drm_print_regset32()
git bisect bad b3be4520d81e7dc820de5fdab0d7d697231cf517
# good: [11d2738940ebeb3fd3abc78d44684d5edb400a6e] drm/nouveau/kms: Cache DP encoders in nouveau_connector
git bisect good 11d2738940ebeb3fd3abc78d44684d5edb400a6e
# good: [01ad1d9c2888d51f2fb5b5ac88af8bd47d76937e] drm/radeon: Drop legacy MST support
git bisect good 01ad1d9c2888d51f2fb5b5ac88af8bd47d76937e
# bad: [227295df4e37de66b61bbb3d1f10436f0acd33cc] drm/vc4: hdmi: unlock mutex when device is unplugged
git bisect bad 227295df4e37de66b61bbb3d1f10436f0acd33cc
# bad: [4d07b0bc403403438d9cf88450506240c5faf92f] drm/display/dp_mst: Move all payload info into the atomic state
git bisect bad 4d07b0bc403403438d9cf88450506240c5faf92f
# first bad commit: [4d07b0bc403403438d9cf88450506240c5faf92f] drm/display/dp_mst: Move all payload info into the atomic state
Edited Dec 17, 2022 by kolAflash
Assignee
Assign to
Time tracking