You are not logged in.

#1 2024-05-23 21:29:03

kriestof
Member
Registered: 2024-05-23
Posts: 4

[SOLVED] AMD Ryzen 7840HS using alt-mode with 2 monitors

Hello,

I've got new Slimbook Excalibour with the AMD Ryzen 7840HS. I want to connect to it 2 identical LG 27UP85NP-W through 2 usb-c ports on that laptop. There are 3 possible configurations: only left monitor, only right monitor, or both of them. I am using Wayland with sway.

Initially everything worked pretty well. At least I was able to setup both o my monitors through DP-1 and DP-2 interfaces.

However, recently I've got more troubles to make it work.  Sometimes when I connect monitor it works as expected, but in many cases it doesn't. I need to reconnect multiple times. Both of them have DP-2 assigned... With 2 monitors I was not successful - even while booting system with 2 monitors.

Frankly, I am not sure how to debug this one and if I can do anything about it.

in /sys/class/drm/card1-DP-X/ I will get the monitor is disconnected. On sway wiki they advise to use

echo detect | sudo tee /sys/class/drm/card1-DP-X/status

But it does not help.

From dmesg I get only:

[  187.387273] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 218 ms

Is there anything I am missing? Maybe some kernel option? As monitor is not correctly detected by drm I guess this should be directly connected to kernel. Below I paste full "dmesg | grep amdgpu".

[    2.104918] [drm] amdgpu kernel modesetting enabled.
[    2.117428] amdgpu: Virtual CRAT table created for CPU
[    2.117449] amdgpu: Topology: Add CPU node
[    2.117536] amdgpu 0000:03:00.0: enabling device (0006 -> 0007)
[    2.124198] amdgpu 0000:03:00.0: amdgpu: Fetched VBIOS from VFCT
[    2.124201] amdgpu: ATOM BIOS: 113-PHXGENERIC-001
[    2.127527] amdgpu 0000:03:00.0: [drm:jpeg_v4_0_early_init [amdgpu]] JPEG decode is enabled in VM mode
[    2.196142] amdgpu 0000:03:00.0: vgaarb: deactivate vga console
[    2.196154] amdgpu 0000:03:00.0: amdgpu: Trusted Memory Zone (TMZ) feature enabled
[    2.196279] amdgpu 0000:03:00.0: amdgpu: VRAM: 512M 0x0000008000000000 - 0x000000801FFFFFFF (512M used)
[    2.196282] amdgpu 0000:03:00.0: amdgpu: GART: 512M 0x00007FFF00000000 - 0x00007FFF1FFFFFFF
[    2.196533] [drm] amdgpu: 512M of VRAM memory ready
[    2.196536] [drm] amdgpu: 15704M of GTT memory ready.
[    2.198108] amdgpu 0000:03:00.0: amdgpu: Will use PSP to load VCN firmware
[    2.223345] amdgpu 0000:03:00.0: amdgpu: reserve 0x4000000 from 0x8018000000 for PSP TMR
[    2.775819] amdgpu 0000:03:00.0: amdgpu: RAS: optional ras ta ucode is not available
[    2.783319] amdgpu 0000:03:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    2.783323] amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    2.816060] amdgpu 0000:03:00.0: amdgpu: SMU is initialized successfully!
[    3.138033] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 216 ms
[    3.148228] WARNING: CPU: 11 PID: 223 at drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_capability.c:1532 dp_retrieve_lttpr_cap+0x121/0x1e0 [amdgpu]
[    3.148639] Modules linked in: hid_generic usbhid amdgpu(+) crct10dif_pclmul dm_mod crc32_pclmul crc32c_intel polyval_clmulni amdxcp polyval_generic i2c_algo_bit gf128mul drm_ttm_helper ghash_clmulni_intel ttm sha512_ssse3 serio_raw drm_exec sha256_ssse3 atkbd gpu_sched sha1_ssse3 libps2 drm_suballoc_helper vivaldi_fmap aesni_intel nvme drm_buddy crypto_simd drm_display_helper cryptd nvme_core xhci_pci i8042 ccp xhci_pci_renesas video cec nvme_auth serio wmi
[    3.148684] RIP: 0010:dp_retrieve_lttpr_cap+0x121/0x1e0 [amdgpu]
[    3.148925]  ? dp_retrieve_lttpr_cap+0x121/0x1e0 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.149157]  ? dp_retrieve_lttpr_cap+0x121/0x1e0 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.149369]  ? dp_retrieve_lttpr_cap+0x121/0x1e0 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.149552]  retrieve_link_cap+0x79/0xd70 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.149732]  detect_link_and_local_sink+0xc08/0x10b0 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.149927]  link_detect+0x37/0x4f0 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.150106]  ? dal_gpio_destroy_irq+0x25/0x40 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.150306]  ? query_hpd_status+0x6e/0xa0 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.150493]  amdgpu_dm_init.isra.0+0xda2/0x1d90 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.150719]  ? __pfx_enable_assr+0x10/0x10 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.150911]  ? __pfx_update_config+0x10/0x10 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.151094]  dm_hw_init+0x12/0x30 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.151273]  amdgpu_device_init.cold+0x1ad3/0x20fb [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.151488]  amdgpu_driver_load_kms+0x19/0x110 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.151652]  amdgpu_pci_probe+0x187/0x400 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.151830]  ? __pfx_amdgpu_init+0x10/0x10 [amdgpu 11785c3085e75bb1d1465c3bd7f7962d53ef457f]
[    3.273506] amdgpu 0000:03:00.0: [drm:jpeg_v4_0_hw_init [amdgpu]] JPEG decode initialized successfully.
[    3.319967] amdgpu: HMM registered 512MB device memory
[    3.320865] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    3.320877] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[    3.321425] amdgpu: Virtual CRAT table created for GPU
[    3.321578] amdgpu: Topology: Add dGPU node [0x15bf:0x1002]
[    3.321580] kfd kfd: amdgpu: added device 1002:15bf
[    3.321594] amdgpu 0000:03:00.0: amdgpu: SE 1, SH per SE 2, CU per SH 6, active_cu_number 12
[    3.321600] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    3.321603] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[    3.321605] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[    3.321606] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[    3.321608] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[    3.321609] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[    3.321610] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[    3.321612] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[    3.321613] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[    3.321614] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[    3.321615] amdgpu 0000:03:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[    3.321617] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[    3.321618] amdgpu 0000:03:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[    3.328666] [drm] Initialized amdgpu 3.57.0 20150101 for 0000:03:00.0 on minor 1
[    3.362456] fbcon: amdgpudrmfb (fb0) is primary device
[    3.374348] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:223
[    3.376757] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:231
[    3.379172] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:239
[    3.381606] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:247
[    3.474362] amdgpu 0000:03:00.0: [drm] fb0: amdgpudrmfb frame buffer device
[   23.447040] snd_hda_intel 0000:03:00.1: bound 0000:03:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[  187.387273] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 218 ms
[  198.437231] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 218 ms
[  506.936948] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 217 ms
[  534.415020] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 216 ms
[  548.855861] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 217 ms
[  694.894970] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 216 ms

EDIT: I see there was a massive change for amdgpu in kernel 6.9. I am not the only one to report some kind of issue. Another thread here may be relevant, but in my case I do not experience any kind of crash. https://bbs.archlinux.org/viewtopic.php?id=296107

EDIT2: I do not think it's connected to the above crash issue. Just downgraded to kernel 6.8.9 and the issue persisted there as well.

EDIT3: On HDMI works as expected. Checked out Ubuntu live usb as well, same problem on usb-c. Hence, definitely problem with alt mode.

Last edited by kriestof (2024-05-25 17:36:08)

Offline

#2 2024-05-25 17:35:55

kriestof
Member
Registered: 2024-05-23
Posts: 4

Re: [SOLVED] AMD Ryzen 7840HS using alt-mode with 2 monitors

I am going to mark this subject as solved. After running Slimbook OS on my laptop, where displays worked as expected, I got back to arch and no problems anymore.

Looks like some problem between GPU and OS communication, but I am not sure on which level. Slimbook OS has pretty old Kernel -  6.5. Moreover, it's based on gnome with X11. Hopefully, it's first time, last time I experience this problem.

Offline

#3 2024-10-19 14:48:04

ilf0
Member
Registered: 2012-05-12
Posts: 12

Re: [SOLVED] AMD Ryzen 7840HS using alt-mode with 2 monitors

Looks like the dp_retrieve_lttpr_cap issue was changed in Linux a few days ago, probably hitting 6.12: https://github.com/torvalds/linux/commi … 34d13508c1

Offline

#4 2024-12-11 00:41:30

kriestof
Member
Registered: 2024-05-23
Posts: 4

Re: [SOLVED] AMD Ryzen 7840HS using alt-mode with 2 monitors

Apparently, after half a year working flawlessly, today alt-mode has just died. It does not work. Downgrading kernel or my previous trick with slimbook os as well does not work.
It may be connected to kernel update, which I did today (6.12.1 -> 6.12.4) or just random.

I paste below

dmesg | grep amdgpu
[    2.258640] [drm] amdgpu kernel modesetting enabled.
[    2.268093] amdgpu: Virtual CRAT table created for CPU
[    2.268104] amdgpu: Topology: Add CPU node
[    2.268189] amdgpu 0000:03:00.0: enabling device (0006 -> 0007)
[    2.272456] amdgpu 0000:03:00.0: amdgpu: Fetched VBIOS from VFCT
[    2.272458] amdgpu: ATOM BIOS: 113-PHXGENERIC-001
[    2.392502] amdgpu 0000:03:00.0: vgaarb: deactivate vga console
[    2.392508] amdgpu 0000:03:00.0: amdgpu: Trusted Memory Zone (TMZ) feature enabled
[    2.392583] amdgpu 0000:03:00.0: amdgpu: VRAM: 512M 0x0000008000000000 - 0x000000801FFFFFFF (512M used)
[    2.392591] amdgpu 0000:03:00.0: amdgpu: GART: 512M 0x00007FFF00000000 - 0x00007FFF1FFFFFFF
[    2.392876] [drm] amdgpu: 512M of VRAM memory ready
[    2.392881] [drm] amdgpu: 15703M of GTT memory ready.
[    2.419162] amdgpu 0000:03:00.0: amdgpu: reserve 0x4000000 from 0x8018000000 for PSP TMR
[    2.975407] amdgpu 0000:03:00.0: amdgpu: RAS: optional ras ta ucode is not available
[    2.983551] amdgpu 0000:03:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    2.983555] amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    3.016348] amdgpu 0000:03:00.0: amdgpu: SMU is initialized successfully!
[    3.338538] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 216 ms
[    3.555210] amdgpu 0000:03:00.0: [drm] Alt mode has timed out after 216 ms
[    3.563710] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    3.563723] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[    3.563848] amdgpu: Virtual CRAT table created for GPU
[    3.563967] amdgpu: Topology: Add dGPU node [0x15bf:0x1002]
[    3.563970] kfd kfd: amdgpu: added device 1002:15bf
[    3.563982] amdgpu 0000:03:00.0: amdgpu: SE 1, SH per SE 2, CU per SH 6, active_cu_number 12
[    3.563987] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    3.563989] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[    3.563991] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[    3.563992] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[    3.563993] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[    3.563994] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[    3.563995] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[    3.563997] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[    3.563998] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[    3.563999] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[    3.564000] amdgpu 0000:03:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[    3.564001] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[    3.564003] amdgpu 0000:03:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[    3.572866] amdgpu 0000:03:00.0: amdgpu: Runtime PM not available
[    3.574709] [drm] Initialized amdgpu 3.59.0 for 0000:03:00.0 on minor 1
[    3.600577] fbcon: amdgpudrmfb (fb0) is primary device
[    3.610520] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:225
[    3.612902] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:233
[    3.615283] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:241
[    3.617615] amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 1000 tries - dcn314_dsc_pg_control line:249
[    3.638023] amdgpu 0000:03:00.0: [drm] fb0: amdgpudrmfb frame buffer device
[   13.453402] snd_hda_intel 0000:03:00.1: bound 0000:03:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])

Before I also had

RIP: 0010:dcn31_program_compbuf_size+0xd1/0x230 [amdgpu]

But it's random. After reboot nothing like that.

I have no clue what's going on. HDMI works as expected. Hence, I am probably left for now to 1 HDMI port and waiting for them to fix alt-mode.


EDIT: after bios update + linux-firmware and amd-ucode update one of my usb-c ports can work in alt-mode. The other one still cannot. Moreover, one of my monitors usb-a hub is not working (checked with my phone as well). I am not sure what exactly happened, but for me it looks like some weird issue between drivers, amd gpu and maybe usb4 controller.

Last edited by kriestof (2024-12-11 11:42:00)

Offline

#5 2024-12-12 23:08:01

kriestof
Member
Registered: 2024-05-23
Posts: 4

Re: [SOLVED] AMD Ryzen 7840HS using alt-mode with 2 monitors

I think the mystery is solved. The effect is reproducible in bios when I try to switch my screen. When the screen is working I can switch to that screen in bios as well. When it's not working and I try to change to this screen in bios I got just black screen.

This means the problem is in pre-kernel environment and has nothing to do with linux. May be either bios or hardware. This is really bad for Slimbook. I lost plenty of time on that problem. Plus my usb hub in monitor + usb-c network adapter might got destroyed by same issue.

Last edited by kriestof (2024-12-12 23:08:34)

Offline

Board footer

Powered by FluxBB