* AMD IOMMU issue with hibernate on Asrock X600
@ 2026-01-26 14:54 Johannes Stezenbach
2026-01-26 15:02 ` Asrock X600 port80 UART Johannes Stezenbach
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Johannes Stezenbach @ 2026-01-26 14:54 UTC (permalink / raw)
To: iommu
Hi,
hibernate on Asrock Deskmini X600 with Ryzen 7 8700G hangs for
about one minute before the power is turned off. It happens with
older kernels but also still with 6.19.0-rc6-00200-gc072629f05d7.
Sometimes it also hangs for about half a minute after resume from
hibernate.
After some experimenting I found it can be worked around with
amd_iommu_intr=legacy. But below is the log without the
workaround. Is this a firmware issue or Linux bug?
Maybe related is an error during suspend-to-ram/resume printed
in dmesg but with no apparent consequence:
[2026-01-22 15:33:04.697] [ 481.521027][ T4697] smpboot: Booting Node 0 Processor 9 APIC 0x3
[2026-01-22 15:33:04.752] [ 481.588284][ C9] Spurious APIC interrupt (vector 0xFF) on CPU#9, should never happen.
[2026-01-22 15:33:04.753] [ 481.609421][ T4697] CPU9 is up
(repeats for all SMT CPU siblings CPU9-15)
This error does not occur on hibernate+resume.
Maybe related: BIOS has an option for the IOAPIC to enable x2APIC
mode, but when I enabled it the kernel can boot in text mode, but
amdgpu interrupts don't work.
APIC related boot messages:
[ 1.630911][ T0] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[ 1.647515][ T0] IOAPIC[0]: apic_id 32, version 33, address 0xfec00000, GSI 0-23
[ 1.666717][ T0] IOAPIC[1]: apic_id 33, version 33, address 0xfec01000, GSI 24-55
[ 1.686135][ T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 1.703812][ T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[ 1.721926][ T0] ACPI: Using ACPI (MADT) for SMP configuration information
[ 2.805841][ T0] APIC: Switch to symmetric I/O mode setup
[ 2.820496][ T0] AMD-Vi: Using global IVHD EFR:0x246577efa2254afa, EFR2:0x0
[ 5.927269][ T1] ACPI: Using IOAPIC for interrupt routing
[ 11.377266][ T1] AMD-Vi: Extended features (0x246577efa2254afa, 0x0): PPR NX GT [5] IA GA PC GA_vAPIC
[ 11.401017][ T1] AMD-Vi: Interrupt remapping enabled
[ 11.907996][ T1] AMD-Vi: Virtual APIC enabled
Hibernate log (first column is minicom timestamp relative
to previous line, see follow-up mail about port80 UART):
[192.926] [ 285.082216][ T4340] PM: hibernation: hibernation entry
[0.125] [ 285.173051][ T97] Filesystems sync: 0.007 secoJds
[0.000] [ 285.185793][ T4340] Freezing user space processes
[0.000] [ 285.199143][ T4340] Freezing user space processes completed (elapsed 0.001 seconds)
[0.001] [ 285.218331][ T4340] OOM killer disabled.
[0.000] [ 285.228528][ T4340] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
[0.052] [ 285.248314][ T4340] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
[0.000] [ 285.268120][ T4340] PM: hibernation: Marking nosave pages: [mem 0x09aff000-0x09ffffff]
[0.050] [ 285.287941][ T4340] PM: hibernation: Marking norave pages: [mem 0x0a200000-0x0a23bfff]
[0.000] [ 285.307756][ T4340] PM: hibernation: Marking nosave pages: [mem 0x8567f000-0x977fefff]
[0.000] [ 285.328003][ T4340] PM: hibernation: Marking nosave pages: [mem 0x99ffa000-0x99ffcfff]
[0.057] [ 285.347804][ T4340] PM: hibernation: Marking nosave pages: [mem 0x9a000000-0xffffffff]
[0.000] [ 285.367872][ T4340] PM: hibernation: Basic memory bitmaps created
[0.000] [ 285.385430][ T4340] PM: hibernation: Preallocating image memory
[2.140] [ 287.481884][ T4340] PM: hibernation: Allocated 545090 pages for snapshot
[0.000] [ 287.498667][ T4340] PM: hibernation: Allocated 2180360 kbytes in 2.08 seconds (1048.2\x10 MB/s)
[0.000] [ 287.519935][ T4340] Freezing remaining freezable tasks
[0.000] [ \x1287.535376][ T4340] Freezing remaining freezable tasks completed (elapsed 0.002 seconds)
[0.058] \x06\x01[ 288.510986][ T4340] ACPI: PM: Preparing to enter system sleep state S4
[1.246] çè\x04[ 288.838591][ T4340] ACPI: PM: Saving platform NVS memory
[0.086] [ 288.868483][ T4340] Disabling non-boot CPUs ...
[0.000] [ 288.881719][ T4340] smpboot: CPU 15 is now offline
[0.000] [ 288.896463][ T4340] smpboot: CPU 14 is now offline
[0.000] [ 288.911097][ T4340] smpboot: CPU 13 is now offline
[0.000] [ 288.925418][ T4340] smpboot: CPU 12 is now offline
[0.063] [ 288.940061][ T4340] smpboot: CPU 11 is now offline
[0.000] [ 288.954318][ T4340] smpboot: CPU 10 is now offline
[0.000] [ 288.968996][ T4340] smpboot: CPU 9 is now offline
[0.000] [ 288.983845][ T4340] smpboot: CPU 8 is now offline
[0.000] [ 288.996236][ T4340] Spectre V2 : Update user space SMT mitigation: STIBP off
[0.063] [ 289.015533][ T4340X smpboot: CPU 7 is now offline
[0.000] [ 289.029532][ T4340] smpboot: CPU 6 is now offline
[0.000] [ 289.043901][ T4340] smpboot: CPU 5 is now offline
[0.000] [ 289.058886][ T4340] smpboot: CPU 4 is now offline
[0.062] [ 289.072922][ T4340] smpboot: CPU 3 is now offline
[0.000] [ 289.087811][ T4340] smpboot: CPP 2 is now offline
[0.000] [ 289.102518][ T4340] smpboot: CPU 1 is now offline
[2.034] [ 291.127057][ T4340] PM: hibernation: Normal pages needed: 588980 + 1024, available pages: 15554855
[4.783] [ 289.115758][ T4340] ACPI: PM: Restoring platform NVS memory
[26.722] [ 315.865970][ T4340] ------------[ cut here ]------------
[0.053] [ 315.879259][ T4340] i >= MMIO_STATUS_TIMEOUT
[0.000] [ 315.879262][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/\x10340
[0.001] [ 315.918529][ T4340] Modules linked in: nct6683 iwlmvm iwlwifi
[0.051] [ 315.932953][ T4340] CPU: 0 UID: 0 PID: 4340 Comm: pm-hibernate Not tainted 6.19.0-rc6-00200-gc072629f05d7 #37 PREEMPP
[0.001] [ 315.959818][ T4340] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/2025
[0.054] [ 315.979039][ T4340] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
[0.000] [ 315.995204][ T4340] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 b0 c6 00 00 48 8b bd d0 00 00 00 e8 a4 c6 00 00 48 8b 15 d5 09 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 c7 09 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
[0.053] [ 316.044121][ T4340] RSP: 0018:ffffbd4b4182ba48 EFLAGS: 00010046
[0.000] [ 316.058975][ T4340] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
[0.000] [ 316.078632][ T4340] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[0.051] [ 316.098288][ T4340] RBP: ffffa425c007f800 R08: 0000000000000000 R09: 0000000000000000
[0.000] [ 316.117944][ T4340] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
[0.052] [ 316.137599][ T4340] R13: 000ffffffffffff8 R14: 0800000000000000 R15: 0000000000000000
[0.001] [ 316.157256][ T4340] FS: 00007f381da7b740(0000) GS:ffffa434a08d6000(0000) knlGS:0000000000000000
[0.001] [ 316.179314][ T4340] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[0.053] [ 316.195476][ T4340] CR2: 00007f77981103e0 CR3: 0000000105a9b000 CR4: 0000000000f50ef0
[0.000] [ 316.215133][ T4340] PKRP: 55555554
[0.000] [ 316.223652][ T4340] Call Trace:
[0.000] [ 316.231519][ T4340] <TASK>
[0.000] [ 316.238513][ T4340] amd_iommu_reenable+0x57/0x70
[0.050] [ 316.250312][ T4340] lapic_resume+0x176/0x260
[0.000] [ 316.261238][ T4340] syscore_resume+0x5c/0x190
[0.000] [ 316.272382][ T4340] hibernation_snapshot+0x292/0x590
[0.000] [ 316.285055][ T4340] hibernate.cold+0x110/0x491
[0.000] [ 316.296417][ T4340] state_store+0Xce/0xd0
[0.052] [ 316.\x1206687][ T4340] kernfs_fop_write_iter+0x\x1059/0x210
[0.000] [ 316.319579][ T4340] vfs_write+0x270/0x4c0
[0.000] [ 316.329853][ T4340] ksys_write+0x73/0xf0
[0.000] [ 316.339903][ T4340] do_syscall_64+0x7f/0xf20
[0.000] [ 316.350824][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.053] [ 316.364586][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.378346][ T4340] ? exit_to_user_mode_loop+0xb2/0x440
[0.000] [ 316.391674][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.405435][ T4340] ? locks_remove_posix+0x3d/0x1a0
[0.051] [ 316.417891][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.431653][ T4340] ? preempt_count_sub+0x64/0x80
[0.000] [ 316.443666][ T4340] ? srso_aliasZreturn_thunk+0x5/0\x10fbef5
[0.000] [ 316.457427][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.053] [ 316.471187][ T4340] ? do_d\x10p2+0x9e/0x150
[0.000] [ 316.481233][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.494989][ T4340] ? ksys_dup3+0x68/0x100
[0.000] [ 316.505475][ T4340] ? srso_alias_returnPthunk+0x5/0xfbef5
[0.051] [ 316.519230][ T4340] ? syscall_exit_work+0x162/0x1e0
[0.000] [ 316.531681][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.545442][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.559202][ T4340] ? do_syscall_64+0x12e/0xf20
[0.052] [ 316.570780][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.584540][ T4340] ? __x64_sys_fcntl+0x12f/0x9e\x10
[0.000] [ 316*596558][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.\x1210318][ T4340] ? syscall_exit_work+0x162/0x1e0
[0.000] [ 316.622769][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.051] [ 316.636530][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.650290][ T4340] ? do_syscall_64+0x12e/0xf20
[0.000] [ 316.661867][ T4340] ? count_memcg_events+0x6e/0x1a0
[0.000] [ 316.674320][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.052] [ 316.688080][ T4340] ? handle_mm_fault+0x1d1/0x2c0
[0.000] [ 316.700097][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.713858][ T4340] ? do_user_addr_fault+0x21f/0x670\b
[0.000] [ 316.726529][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.052] [ 316.740289][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.754050][ T4340] ? irqentry_exit+0xb9/0x4e0
[0.000] [ 316.765410][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 316.779171][ T4340] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[0.052] [ 316.793588][ T4340] RIP: 0033:0x7f381db0feb2
[0.000] [ 316.804293][ T4340] Code: 18 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 1a 83 e2 39 83 fa 08 75 12 e8 2b ff ff ff 0f 1f 00 49 89 ca 48 8b 44 24 20 0f 05 <48> 83 c4 18 c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 10 ff 74 24 18
[0.054] [ 316.853209][ T4340] RSP: 002b:00007ffee8ed1620 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[0.001] [ 316.873958][ T4340] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007f381db0feb2
[0.000] [ 316.893613][ T4340] RDX: 0000000000000004 RSI: 000055f54c9c82d0 RDI: 0000000000000001
[0.052] [ 316.913268][ T4340] RBP: 000055f54c9c82d0 R08: 0000000000000000 R09: 0\x1000000000000000
[0.000] [ 316.932923][ T4340] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000001
[0.054] [ 316.952578][ T4340] R13: 0000000000000004 R14: 0000000000000000 R15: 00\x10055f54c9bd2a8
[0.000] [ 316.972237][ T4340] </TASK>
[0.000] [ 316.979446][ T4340] ---[ end trace 0000000000000000 ]---
[26.824] [ 343.777044][ T4340] ------------[ cut here ]------------
[0.000] [ 343.790319][ T4340] i >= MMIO_STATUS_TIMEOUT
[0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
[0.001] [ 343.829608][ T4340] Modules linked in: nct6683 iwlmvm iwlwifi
[0.052] [ 343.844027][ T4340] CPU: 0 UID: 0 PID: 4340 Comm: pm-hibernate Tainted: G W 6.19.0-rc6-00200-gc072629f05d7 #37 PREEMPT
[0.001] [ 343.874821][ T4340] Tainted: [W]=WARN
[0.000] [ 343.883996][ T4340] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/2025
[0.052] [ 343.903214][ T4340] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
[0.000] [ 343.919378][ T4340] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 b0 c6 00 00 48 8b bd d0 00 00 00 e8 a4 c6 00 00 48 8b 15 d5 09 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 c7 09 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
[0.053] [ 343.968293][ T4340] RSP: 0018:ffffbd4b4182ba70 EFLAGS: 00010046
[0.000] [ 343.983145][ T4340] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
[0.053] [ 344.002801][ T4340] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[0.001] [ 344.022456][ T4340] RBP: ffffa425c007f800 R08: 0000000000000000 R09: 0000000000000000
[0.000] [ 344.042111][ T4340] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
[0.051] [ 344.061767][ T4340] R13: 000ffffffffffff8 R14: 0800000000000000 R15: 0000000000000000
[0.000] [ 344.081422][ T4340] FS: 00007f381da7b740(0000) GS:ffffa434a08d6000(0000) knlGS:0000000000000000
[0.054] [ 344.103479][ T4340] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[0.000] [ 344.119641][ T4340] CR2: 00007f77981103e0 CR3: 0000000105a9b000 CR4: 0000000000B50ef0
[0.000] [ 344.139296][ T4340] PKRU: 55555554
[0.000] [ 344.147815][ T4340] Call Trace:
[0.000] [ 344.155679][ T4340] <TASK>
[0.052] [ 344.162670][ T4340] syscore_resume+0x5c/0x190
[0.000] [ 344.173811][ T4340] hibernation_snapshot+0x292/0x590
[0.000] [ 344.186480][ T4340] hibernate.cold+0x110/0x491
[0.000] [ 344.197840][ T4340] state_store+0xce/0xd0
[0.000] [ 344.208108][ T4340] kernfs_fop_write_iter+0x159/0x210
[0.052] [ 344.220996][ T4\x1240] vfs_write+0x270/0x4c0
[0.000] [ 344.231267][ T4340] ksys_write+0x73/0xf0
[0.000] [ 344.241316][ T4340] do_syscall_64+0x7f/0xf20
[0.000] [ 344.252239][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.051] [ 344.265999][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.279760][ T4340] ? exit_to_user_mode_loop+0xb2/0x440
[0.000] [ 344.293085][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.306845][ T4340] ? locks_remove_posix+0x3d/0x1a0
[0.051] [ 344.319299][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.333060][ T4340] ? preempt_count_sub+0x64/0x80
[0.000] [ 344.345074][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.358834][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.372594][ T4340] ? do_dup2+0x9e/0x150
[0.054] [ 344.382643][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.396403][ T4340] ? ksys_dup3+0x68/0x100
[0.000] [ 344.406889][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.420650][ T4340] ? syscall_exit_work+0x162/0x\x10e0
[0.051] [ 344.433100][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.446861][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.460621][ T4340] ? do_syscall_64+0x12e/0xf20
[0.000] [ 344.472198][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.053] [ 344.485959][ T4340] ? __x64_sys_fcntl+0x12f/0x9e0
[0.000] [ 344.497975][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.511735][ T4340] ? syscall_exit_work+0x162/0x1e0
[0.000] [ 344.524186][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.050] [ 344.537946][ T4240] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.551707][ T4340] ? do_syscall_64+0x12e/0xf20
[0.000] [ 344.563284][ T4340] ? count_memcg_events+0x6e/0x1a0
[0.000] [ 344.575736][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.054] [ 344.589496][ T4340] ? handle_mm_fault+0x1d1/0x2c0
[0.000] [ 344.601511][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.605271][ T4340] ? do_user_addr_fault+0x21f/0x670
[0.000] [ 344.627941][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.641701][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.050] [ 344.655461][ T4340] ? irqentry_exit+0xb9/0x4e0
[0.000] [ 344.666820][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
[0.000] [ 344.680581][ T4340] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[0.000] [ 344.694996][ T4240] RIP: 0033:0x7f381db0feb2
[0.053] [ 344.705699][ T4340] Code: 18 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 1a 83 e2 39 83 fa 08 75 12 e8 2b ff ff ff 0f 1f 00 49 89 ca 48 8b 44 24 20 0f 05 <48> 83 c0 18 c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 10 ff 74 24 18
[0.054] [ 344.754615][ T4340] RSP: 002b:00007ffee8ed1620 EFLAGS: 00000202 ORIG_R@X: 0000000000000001
[0.000] [ 344.775362][ T4340] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007f381db0feb2
[0.000] [ 344.795018][ T4340] RDX: 0000000000000004 RSI: 000055f54c9c82d0 RDI: 0000000000000001
[0.051] [ 344.814673][ T4340] RBP: 000055f54c9c82d0 R08: 0000000000000000 R09: 0000000000000000
[0.001] [ 344.834329][ T4340] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000001
[0.000] [ 344.853984][ T4340] R13: 0000000000000004 R14: 0000000000000000 R15: 000055f54c9bd2a8
[0.053] [ 344.873643][ T4340] </TASK>
[0.000] [ 344.880851][ T4340] ---[ end trace 0000000000000000 ]---
[0.000] [ 344.894217][ T4340] LVT offset 0 assigned for vector 0x400
[0.000] [ 344.908744][ T4340] Enabling non-boot CPUs ...
[0.061] [ 344.920223][ T4340] smpboot: Booting Node 0 Processor 1 APIC 0x2
[0.000] [ 344.939094][ T4340] CPU1 is up
[0.000] [ 344.946747][ T4340] smpboot: Booting Node 0 Processor 2 APIC 0x4
[0.000] [ 344.965210][ T4340] CPU2 is up
[0.000] [ 344.972910][ T4340] smpboot: Booting Node 0 Processor 3 APIC 0x6
[0.057] [ 344.990919][ T4340] CPU3 ir up
[0.000] [ 344.998587][ T4340] smpboot: Booting Node 0 Processor 4 APIC 0x8
[0.000] [ 345.016806][ T4340] CPU4 is up
[0.000] [ 345.024741][ T4340] smpboot: Booting Node 0 Processor 5 APIC 0xa
[0.064] [ 345.042951][ T4340] CPU5 is up
[0.000] [ 345.050913][ T4340] smpboot: Booting Node 0 Processor 6 APIC 0xc
[0.000] [ 345.069060][ T4340] CPU6 is up
[0.000] [ 345.076734][ T4300] smpboot: Booting Node 0 Processor 7 APIC 0xe
[0.000] [ 345.095016][ T4340] CPU7 is up
[0.055] [ 345.102684][ T4340] smpboot: Booting Node 0 Processor 8 APIC 0x1
[0.000] [ 345.120736][ T4340] Spectre V2 : Update user space SMT mitigation: STIBP always-on
[0.000] [ 345.139717][ T4340] CPU8 is up
[0.000] [ 345.147384][ T4340] smpboot: Booting Node 0 Processor 9 APIC 0x3
[0.061] [ 345.165403][ T4340] CPU9 is up
[0.000] [ 345.173081][ T4340] smpboot: Booting Node 0 Processor 10 APIC 0x5
[0.000] [ 345.191369][ T4340] CPU10 is up
[0.000] [ 345.199237][ T4340] smpboot: Booting Node 0 Processor 11 APIC 0x7
[0.000] [ 345.217550][ T4340] CPU11 is up
[0.059] [ 345.225679][ T4340] smpboot: Booting Node 0 Processor 12 APIC 0x9
[0.000] [ 345.244017][ T4340] CPU12 is up
[0.000] [ 345.252132][ T4340] smpboot: Booting Node 0 P\x10ocessor 13 APIC 0xb
[0.000] [ 345.270509][ T4340] CPU13 is up
[0.000] [ 345.278809][ T4340] smpboot: Booting Node 0 Processor 14 APIC 0xd
[0.060] [ 345.297292][ T4340] CPU14 is up
[0.000] [ 345.305412][ T4340] smpboot: Booting Node 0 Processor 15 APIC 0xf
[0.000] [ 345.323794][ T4340] CPU15 is up
[0.000] [ 345.341987][ T4340] ACPI: PM: Waking up from system sleep state S4
[0.019] @éêu
¥5EUeª[ 345.369105][ T97] [drm] PCIE GART of 512M enabled (table at 0x0000008000900000).
[0.057] [ 345.372297][ T4048] nvme nvme0: D3 entry latency set to 10 seconds
[0.000] [ 345.388384][ T97] amdgpu 0000:6e:00.0: amdgpu: PSP is resuming...
[0.000] [ 345.406774][ T4048] nvme nvme0: 16/0/0 default/read/pohl queues
[0.019] [ 345.443080][ T97] amdgpu 0000:6e:00.0: amdgpu: reserve 0x4a00000 from 0x8070000000 for PSP TMR
[0.925] [ 346.307547][ T97] amdgpu 0000:6e:00.0: amdgpu: RAS: optional ras ta ucode is not available
[0.000] [ 346.336815][ T97] amdgpu 0000:6e:00.0: amdgpu: RAP: optional rap ta ucode is not available
[0.001] [ 346.357967][ T97] amdgpu 0000:6e:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
[0.039] [ 346.383478][ T97] amdgpu 0000:6e:00.0: amdgpu: SMU is resuming...
[0.083] [ 346.430812][ T97] amdgpu 0000:6e:00.0: amdgpu: SMU is resumed successfully!
[0.000] [ 346.455415][ T97] amdgpu 0000:6e:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x08005400
[0.079] [ 346.569884][ T97] amdgpu 0000:6e:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[0.054] [ 346.590576][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.0.0 uses VM inR eng 1 on hub 0
[0.000] [ 346.611499][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[0.051] [ 346.632438][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[0.000] [ 346.653381][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[0.000] [ 346.674323][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[0.052] [ 346.695263][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[0.001] [ 346.716201][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[0.054] [ 346.737362][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[0.000] [ 346.758508][ T97] amdgpu 0000:6e:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[0.000] [ 346.778574][ T97] amdgpu 0000:6e:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[0.059] [ 346.800167][ T97] amdgpu 0000:6e:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[0.001] [ 346.820672][ T97] amdgpu 0000:6e:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[0.078] \x04[ 346.926209][ T4340] PM: Using 3 thread(s) for lzo compression
[0.053] [ 346.941401][ T4340] PM: Compressing and saving image data (428311 pages)...
[0.000] [ 346.959463][ T4340] PM: Image saving progress: 0%
[0.093] [ 347.075556][ T4340] PM: Image saving progress: 10%
[0.131] [ 347.187001][ T4340] PM: Image saving progress: 20%
[0.110] [ 347.297986][ T4340] PM: Image saving progress: 30%
[0.094] [ 347.410448][ T4340] PM: Image saving progress: 40%
[0.081] [ 347.473025][ T4340] PM: Im@ge saving progress: 50%
[0.046] [ 347.537896][ T4340] PM: Image saving progress: 60%
[0.064] [ 347.606726][ T4340] PM: Image saving progress: 70%
[0.071] [ 347.671765][ T4340] PM: Image saving progress: 80%
[0.062] [ 347.737551][ T4340] PM: Image saving progress: 90%
[0.070] [ 342.806593][ T4340] PM: Image saving progress: 100%
[0.059] [ 347.819829][ T4340] PM: hibernati@n: Wrote 1713244 kbytes in 0.86 seconds (1992.1\x10 MB/s)
[0.000] [ 347.840861][ T4340] PM: Image size after compression: 488280 kbytes
[0.000] [ 347.857167][ T4340] PM: Image saving done
[0.000] [ 347.868822][ T4340] PM: S|
[0.673] \x03\b[ 348.517465][ T4340] ACPI: PM: Preparing to enter system sleep state S4
[0.303] çè\x04[ 348.845407][ T4340] ACPI: PM: Saving platform NVS memory
[0.086] [ 348.874784][ T4340] Disabling non-boot CPUs ...
[0.000] [ 348.888033][ T4340] smpboot: CPU 15 is now offline
[0.000] [ 348.902244][ T4340] smpboot: CPU 14 is now offline
[0.000] [ 348.916273][ T4340] smpbJot: CPU 13 is now offline
[0.000] [ 348.930669][ T4340] smpboot: CPU 12 is now offline
[0.063] [ 348.944569][ T4340] smpboot: CPU 11 is now offline
[0.000] [ 348.958426][ T4340] smpboot: CPU 10 is now offline
[0.000] [ 348.972825][ T4340] smpboot: CPU 9 is now offline
[0.000] [ 348.987064][ T4340] smpboot: CPU 8 is now offline
[0.000] [ 348.999960][ T4340] Spectre V2 : Update user space SMT mitigation: STIBP off
[0.060] [ 349.019437][ T4340] smpboot: CPU 7 is now offline
[0.000] [ 349.033199][ T4340] smpboot: CPU 6 is now offline
[0.000] [ 349.047841][ T4340] smpboot: CPU 5 is now offline
[0.000] [ 349.062044][ T4340] smpboot: CPU 4 is now offline
[0.062] [ 349.076238][ T4340] smpboot: CPU 3 is now offline
[0.000] [ 349.090173][ T4340] smpboot: CPU 2 is now offline
[0.000] [ 349.104871][ T4340] smpboot: CPU 1 is now offline
^ permalink raw reply [flat|nested] 19+ messages in thread
* Asrock X600 port80 UART
2026-01-26 14:54 AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
@ 2026-01-26 15:02 ` Johannes Stezenbach
2026-01-28 9:31 ` AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
2026-02-03 5:28 ` Vasant Hegde
2 siblings, 0 replies; 19+ messages in thread
From: Johannes Stezenbach @ 2026-01-26 15:02 UTC (permalink / raw)
To: iommu
(I post this here for lack of a better place. Hope interested
persons can find it.)
The Asrock Deskmini X600 has a "UART1" connector (search for
"molex picoblade 1.25mm 4-pin cable" to find matching cables).
See https://www.asrock.com/mb/photo/X600M-STX%20R2.0(L2).png at
the bottom between the two SATA connectors.
Pin 1 GND
Pin 2 ?
Pin 3 TX +3.3V
Pin 4 +5V
The X600 has an nct6686d SuperIO chip which has a "PORT80 UART"
function to forward ioport 80 debug writes to the UART interface.
Apparently it is connected to the "UART1" connector, and I dumped
some of the nct6686d configuration registers to confirm the
port80 UART is enabled by strap settings with 115200 8N1
(actual speed is 2MHz / 17).
https://www.nuvoton.com/resource-files/NCT6686D_HW_Datasheet_V0_5.pdf
Connecting a 3.3V compatible USB-serial cable confirms there is
some binary output from firmware debug during boot. I wrote a
simple console driver to write kernel messages via port80 to
get output during suspend/resume/hibernate, it works well enough
with some binary output from firmware interspersed.
Use it with kernel command line options:
console=port80 console=tty0 no_console_suspend keep_bootcon debug
I think this patch is too much of a hack for inclusion in
the kernel, but here it is for anyone who wants it.
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index c883a28e0916..e09a8e987638 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1037,6 +1037,12 @@ config OXP_EC
source "drivers/platform/x86/tuxedo/Kconfig"
+config PORT80_CONSOLE
+ tristate "PC debug ioport 80 console"
+ help
+ use PC debug ioport 80 as console output via port80-UART
+ supported by some Nuvoton SuperIO chips like NCT6686D
+
endif # X86_PLATFORM_DEVICES
config P2SB
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index c7db2a88c11a..4e92ae18415d 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -163,3 +163,5 @@ obj-$(CONFIG_SEL3350_PLATFORM) += sel3350-platform.o
# OneXPlayer
obj-$(CONFIG_OXP_EC) += oxpec.o
+
+obj-$(CONFIG_PORT80_CONSOLE) += port80_cons.o
diff --git a/drivers/platform/x86/port80_cons.c b/drivers/platform/x86/port80_cons.c
new file mode 100644
index 000000000000..cfe71dd5a760
--- /dev/null
+++ b/drivers/platform/x86/port80_cons.c
@@ -0,0 +1,68 @@
+/* use PC debug ioport 80 as console output via port80-UART
+ * supported by some Nuvoton SuperIO chips like NCT6686D
+ */
+
+#include <linux/console.h>
+#include <linux/delay.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/serial_core.h>
+
+
+static uint delay = 200;
+module_param(delay, uint, 0644);
+MODULE_PARM_DESC(delay, "per charater output delay in us (default 200)");
+
+
+static void p80_putchar(u8 ch)
+{
+ if (ch == '\n') {
+ outb_p('\r', 0x80);
+ udelay(delay);
+ }
+ outb_p(ch, 0x80);
+ udelay(delay);
+}
+
+static void p80_write(struct console *con, const char *s, unsigned n)
+{
+ unsigned int i;
+
+ for (i = 0; i < n; i++, s++)
+ p80_putchar(*s);
+}
+
+static int __init p80_early_console_setup(struct earlycon_device *device,
+ const char *opt)
+{
+ device->con->write = p80_write;
+ return 0;
+}
+
+EARLYCON_DECLARE(port80, p80_early_console_setup);
+
+
+static struct console p80cons = {
+ .name = "port80",
+ .write = p80_write,
+ .flags = CON_PRINTBUFFER | CON_ANYTIME,
+};
+
+static int __init p80_init(void)
+{
+ register_console(&p80cons);
+ printk("registered port80 console\n");
+ return 0;
+}
+
+static void p80_exit(void)
+{
+ unregister_console(&p80cons);
+}
+
+module_init(p80_init);
+module_exit(p80_exit);
+
+MODULE_DESCRIPTION("Port80 console driver");
+MODULE_LICENSE("GPL v2");
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-01-26 14:54 AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
2026-01-26 15:02 ` Asrock X600 port80 UART Johannes Stezenbach
@ 2026-01-28 9:31 ` Johannes Stezenbach
2026-02-03 5:38 ` Vasant Hegde
2026-02-03 5:28 ` Vasant Hegde
2 siblings, 1 reply; 19+ messages in thread
From: Johannes Stezenbach @ 2026-01-28 9:31 UTC (permalink / raw)
To: iommu; +Cc: Joerg Roedel, Suravee Suthikulpanit
Hi,
I was hoping to get some response.
TL;DR:
> [0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
- is it Linux or firmware bug?
- if Linux bug: please let me know what to do to help debug it
- if firmware bug: what additional tests to run; how to add a quirk
What's the downside of amd_iommu_intr=legacy? Does it only
affect kvm guests? What's the relationship with x2APIC?
TIA,
Johannes
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-01-26 14:54 AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
2026-01-26 15:02 ` Asrock X600 port80 UART Johannes Stezenbach
2026-01-28 9:31 ` AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
@ 2026-02-03 5:28 ` Vasant Hegde
2026-02-03 11:49 ` Johannes Stezenbach
2 siblings, 1 reply; 19+ messages in thread
From: Vasant Hegde @ 2026-02-03 5:28 UTC (permalink / raw)
To: Johannes Stezenbach, iommu, Limonciello, Mario
Hi Johannes,
On 1/26/2026 8:24 PM, Johannes Stezenbach wrote:
> Hi,
>
> hibernate on Asrock Deskmini X600 with Ryzen 7 8700G hangs for
> about one minute before the power is turned off. It happens with
> older kernels but also still with 6.19.0-rc6-00200-gc072629f05d7.
> Sometimes it also hangs for about half a minute after resume from
> hibernate.
IIUC habernate hangs for sometime , but eventually succeeds. is that correct?
Also resume path eventually succeeds. is that correct?
>
> After some experimenting I found it can be worked around with
> amd_iommu_intr=legacy. But below is the log without the
> workaround. Is this a firmware issue or Linux bug?
WIth legacy interrupt mode, we don't enable GALog. So this is to do with GALOg
enablement path.
>
> Maybe related is an error during suspend-to-ram/resume printed
> in dmesg but with no apparent consequence:
>
> [2026-01-22 15:33:04.697] [ 481.521027][ T4697] smpboot: Booting Node 0 Processor 9 APIC 0x3
> [2026-01-22 15:33:04.752] [ 481.588284][ C9] Spurious APIC interrupt (vector 0xFF) on CPU#9, should never happen.
> [2026-01-22 15:33:04.753] [ 481.609421][ T4697] CPU9 is up
Not sure why we hit spurious interrupt. it could be unrelated.
>
> (repeats for all SMT CPU siblings CPU9-15)
> This error does not occur on hibernate+resume.
>
> Maybe related: BIOS has an option for the IOAPIC to enable x2APIC
> mode, but when I enabled it the kernel can boot in text mode, but
> amdgpu interrupts don't work.
Interesting. Ideally x2APIC mode should work fine.
>
> APIC related boot messages:
>
> [ 1.630911][ T0] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
> [ 1.647515][ T0] IOAPIC[0]: apic_id 32, version 33, address 0xfec00000, GSI 0-23
> [ 1.666717][ T0] IOAPIC[1]: apic_id 33, version 33, address 0xfec01000, GSI 24-55
> [ 1.686135][ T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [ 1.703812][ T0] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
> [ 1.721926][ T0] ACPI: Using ACPI (MADT) for SMP configuration information
>
> [ 2.805841][ T0] APIC: Switch to symmetric I/O mode setup
> [ 2.820496][ T0] AMD-Vi: Using global IVHD EFR:0x246577efa2254afa, EFR2:0x0
>
> [ 5.927269][ T1] ACPI: Using IOAPIC for interrupt routing
>
> [ 11.377266][ T1] AMD-Vi: Extended features (0x246577efa2254afa, 0x0): PPR NX GT [5] IA GA PC GA_vAPIC
> [ 11.401017][ T1] AMD-Vi: Interrupt remapping enabled
> [ 11.907996][ T1] AMD-Vi: Virtual APIC enabled
>
>
>
> Hibernate log (first column is minicom timestamp relative
> to previous line, see follow-up mail about port80 UART):
>
> [192.926] [ 285.082216][ T4340] PM: hibernation: hibernation entry
> [0.125] [ 285.173051][ T97] Filesystems sync: 0.007 secoJds
> [0.000] [ 285.185793][ T4340] Freezing user space processes
> [0.000] [ 285.199143][ T4340] Freezing user space processes completed (elapsed 0.001 seconds)
> [0.001] [ 285.218331][ T4340] OOM killer disabled.
> [0.000] [ 285.228528][ T4340] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
> [0.052] [ 285.248314][ T4340] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
> [0.000] [ 285.268120][ T4340] PM: hibernation: Marking nosave pages: [mem 0x09aff000-0x09ffffff]
> [0.050] [ 285.287941][ T4340] PM: hibernation: Marking norave pages: [mem 0x0a200000-0x0a23bfff]
> [0.000] [ 285.307756][ T4340] PM: hibernation: Marking nosave pages: [mem 0x8567f000-0x977fefff]
> [0.000] [ 285.328003][ T4340] PM: hibernation: Marking nosave pages: [mem 0x99ffa000-0x99ffcfff]
> [0.057] [ 285.347804][ T4340] PM: hibernation: Marking nosave pages: [mem 0x9a000000-0xffffffff]
> [0.000] [ 285.367872][ T4340] PM: hibernation: Basic memory bitmaps created
> [0.000] [ 285.385430][ T4340] PM: hibernation: Preallocating image memory
> [2.140] [ 287.481884][ T4340] PM: hibernation: Allocated 545090 pages for snapshot
> [0.000] [ 287.498667][ T4340] PM: hibernation: Allocated 2180360 kbytes in 2.08 seconds (1048.2\x10 MB/s)
> [0.000] [ 287.519935][ T4340] Freezing remaining freezable tasks
> [0.000] [ \x1287.535376][ T4340] Freezing remaining freezable tasks completed (elapsed 0.002 seconds)
> [0.058] \x06\x01[ 288.510986][ T4340] ACPI: PM: Preparing to enter system sleep state S4
> [1.246] çè\x04[ 288.838591][ T4340] ACPI: PM: Saving platform NVS memory
> [0.086] [ 288.868483][ T4340] Disabling non-boot CPUs ...
> [0.000] [ 288.881719][ T4340] smpboot: CPU 15 is now offline
> [0.000] [ 288.896463][ T4340] smpboot: CPU 14 is now offline
> [0.000] [ 288.911097][ T4340] smpboot: CPU 13 is now offline
> [0.000] [ 288.925418][ T4340] smpboot: CPU 12 is now offline
> [0.063] [ 288.940061][ T4340] smpboot: CPU 11 is now offline
> [0.000] [ 288.954318][ T4340] smpboot: CPU 10 is now offline
> [0.000] [ 288.968996][ T4340] smpboot: CPU 9 is now offline
> [0.000] [ 288.983845][ T4340] smpboot: CPU 8 is now offline
> [0.000] [ 288.996236][ T4340] Spectre V2 : Update user space SMT mitigation: STIBP off
> [0.063] [ 289.015533][ T4340X smpboot: CPU 7 is now offline
> [0.000] [ 289.029532][ T4340] smpboot: CPU 6 is now offline
> [0.000] [ 289.043901][ T4340] smpboot: CPU 5 is now offline
> [0.000] [ 289.058886][ T4340] smpboot: CPU 4 is now offline
> [0.062] [ 289.072922][ T4340] smpboot: CPU 3 is now offline
> [0.000] [ 289.087811][ T4340] smpboot: CPP 2 is now offline
> [0.000] [ 289.102518][ T4340] smpboot: CPU 1 is now offline
> [2.034] [ 291.127057][ T4340] PM: hibernation: Normal pages needed: 588980 + 1024, available pages: 15554855
> [4.783] [ 289.115758][ T4340] ACPI: PM: Restoring platform NVS memory
> [26.722] [ 315.865970][ T4340] ------------[ cut here ]------------
> [0.053] [ 315.879259][ T4340] i >= MMIO_STATUS_TIMEOUT
Its in hibernation path, I am not sure why it called amd_iommu_reenable().
Looking into this warning, it looks like GALog enablement didn't happen within
specificed timeout vaule. (MMIO_STATUS_TIMEOUT).
I will check around and see if we can reproduce it internally. Will keep you
updated.
-Vasant
> [0.000] [ 315.879262][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/\x10340
> [0.001] [ 315.918529][ T4340] Modules linked in: nct6683 iwlmvm iwlwifi
> [0.051] [ 315.932953][ T4340] CPU: 0 UID: 0 PID: 4340 Comm: pm-hibernate Not tainted 6.19.0-rc6-00200-gc072629f05d7 #37 PREEMPP
> [0.001] [ 315.959818][ T4340] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/2025
> [0.054] [ 315.979039][ T4340] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
> [0.000] [ 315.995204][ T4340] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 b0 c6 00 00 48 8b bd d0 00 00 00 e8 a4 c6 00 00 48 8b 15 d5 09 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 c7 09 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
> [0.053] [ 316.044121][ T4340] RSP: 0018:ffffbd4b4182ba48 EFLAGS: 00010046
> [0.000] [ 316.058975][ T4340] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
> [0.000] [ 316.078632][ T4340] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> [0.051] [ 316.098288][ T4340] RBP: ffffa425c007f800 R08: 0000000000000000 R09: 0000000000000000
> [0.000] [ 316.117944][ T4340] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
> [0.052] [ 316.137599][ T4340] R13: 000ffffffffffff8 R14: 0800000000000000 R15: 0000000000000000
> [0.001] [ 316.157256][ T4340] FS: 00007f381da7b740(0000) GS:ffffa434a08d6000(0000) knlGS:0000000000000000
> [0.001] [ 316.179314][ T4340] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [0.053] [ 316.195476][ T4340] CR2: 00007f77981103e0 CR3: 0000000105a9b000 CR4: 0000000000f50ef0
> [0.000] [ 316.215133][ T4340] PKRP: 55555554
> [0.000] [ 316.223652][ T4340] Call Trace:
> [0.000] [ 316.231519][ T4340] <TASK>
> [0.000] [ 316.238513][ T4340] amd_iommu_reenable+0x57/0x70
> [0.050] [ 316.250312][ T4340] lapic_resume+0x176/0x260
> [0.000] [ 316.261238][ T4340] syscore_resume+0x5c/0x190
> [0.000] [ 316.272382][ T4340] hibernation_snapshot+0x292/0x590
> [0.000] [ 316.285055][ T4340] hibernate.cold+0x110/0x491
> [0.000] [ 316.296417][ T4340] state_store+0Xce/0xd0
> [0.052] [ 316.\x1206687][ T4340] kernfs_fop_write_iter+0x\x1059/0x210
> [0.000] [ 316.319579][ T4340] vfs_write+0x270/0x4c0
> [0.000] [ 316.329853][ T4340] ksys_write+0x73/0xf0
> [0.000] [ 316.339903][ T4340] do_syscall_64+0x7f/0xf20
> [0.000] [ 316.350824][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.053] [ 316.364586][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.378346][ T4340] ? exit_to_user_mode_loop+0xb2/0x440
> [0.000] [ 316.391674][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.405435][ T4340] ? locks_remove_posix+0x3d/0x1a0
> [0.051] [ 316.417891][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.431653][ T4340] ? preempt_count_sub+0x64/0x80
> [0.000] [ 316.443666][ T4340] ? srso_aliasZreturn_thunk+0x5/0\x10fbef5
> [0.000] [ 316.457427][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.053] [ 316.471187][ T4340] ? do_d\x10p2+0x9e/0x150
> [0.000] [ 316.481233][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.494989][ T4340] ? ksys_dup3+0x68/0x100
> [0.000] [ 316.505475][ T4340] ? srso_alias_returnPthunk+0x5/0xfbef5
> [0.051] [ 316.519230][ T4340] ? syscall_exit_work+0x162/0x1e0
> [0.000] [ 316.531681][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.545442][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.559202][ T4340] ? do_syscall_64+0x12e/0xf20
> [0.052] [ 316.570780][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.584540][ T4340] ? __x64_sys_fcntl+0x12f/0x9e\x10
> [0.000] [ 316*596558][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.\x1210318][ T4340] ? syscall_exit_work+0x162/0x1e0
> [0.000] [ 316.622769][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.051] [ 316.636530][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.650290][ T4340] ? do_syscall_64+0x12e/0xf20
> [0.000] [ 316.661867][ T4340] ? count_memcg_events+0x6e/0x1a0
> [0.000] [ 316.674320][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.052] [ 316.688080][ T4340] ? handle_mm_fault+0x1d1/0x2c0
> [0.000] [ 316.700097][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.713858][ T4340] ? do_user_addr_fault+0x21f/0x670\b
> [0.000] [ 316.726529][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.052] [ 316.740289][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.754050][ T4340] ? irqentry_exit+0xb9/0x4e0
> [0.000] [ 316.765410][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 316.779171][ T4340] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [0.052] [ 316.793588][ T4340] RIP: 0033:0x7f381db0feb2
> [0.000] [ 316.804293][ T4340] Code: 18 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 1a 83 e2 39 83 fa 08 75 12 e8 2b ff ff ff 0f 1f 00 49 89 ca 48 8b 44 24 20 0f 05 <48> 83 c4 18 c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 10 ff 74 24 18
> [0.054] [ 316.853209][ T4340] RSP: 002b:00007ffee8ed1620 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> [0.001] [ 316.873958][ T4340] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007f381db0feb2
> [0.000] [ 316.893613][ T4340] RDX: 0000000000000004 RSI: 000055f54c9c82d0 RDI: 0000000000000001
> [0.052] [ 316.913268][ T4340] RBP: 000055f54c9c82d0 R08: 0000000000000000 R09: 0\x1000000000000000
> [0.000] [ 316.932923][ T4340] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000001
> [0.054] [ 316.952578][ T4340] R13: 0000000000000004 R14: 0000000000000000 R15: 00\x10055f54c9bd2a8
> [0.000] [ 316.972237][ T4340] </TASK>
> [0.000] [ 316.979446][ T4340] ---[ end trace 0000000000000000 ]---
> [26.824] [ 343.777044][ T4340] ------------[ cut here ]------------
> [0.000] [ 343.790319][ T4340] i >= MMIO_STATUS_TIMEOUT
> [0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
> [0.001] [ 343.829608][ T4340] Modules linked in: nct6683 iwlmvm iwlwifi
> [0.052] [ 343.844027][ T4340] CPU: 0 UID: 0 PID: 4340 Comm: pm-hibernate Tainted: G W 6.19.0-rc6-00200-gc072629f05d7 #37 PREEMPT
> [0.001] [ 343.874821][ T4340] Tainted: [W]=WARN
> [0.000] [ 343.883996][ T4340] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/2025
> [0.052] [ 343.903214][ T4340] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
> [0.000] [ 343.919378][ T4340] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 b0 c6 00 00 48 8b bd d0 00 00 00 e8 a4 c6 00 00 48 8b 15 d5 09 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 c7 09 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
> [0.053] [ 343.968293][ T4340] RSP: 0018:ffffbd4b4182ba70 EFLAGS: 00010046
> [0.000] [ 343.983145][ T4340] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
> [0.053] [ 344.002801][ T4340] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> [0.001] [ 344.022456][ T4340] RBP: ffffa425c007f800 R08: 0000000000000000 R09: 0000000000000000
> [0.000] [ 344.042111][ T4340] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
> [0.051] [ 344.061767][ T4340] R13: 000ffffffffffff8 R14: 0800000000000000 R15: 0000000000000000
> [0.000] [ 344.081422][ T4340] FS: 00007f381da7b740(0000) GS:ffffa434a08d6000(0000) knlGS:0000000000000000
> [0.054] [ 344.103479][ T4340] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [0.000] [ 344.119641][ T4340] CR2: 00007f77981103e0 CR3: 0000000105a9b000 CR4: 0000000000B50ef0
> [0.000] [ 344.139296][ T4340] PKRU: 55555554
> [0.000] [ 344.147815][ T4340] Call Trace:
> [0.000] [ 344.155679][ T4340] <TASK>
> [0.052] [ 344.162670][ T4340] syscore_resume+0x5c/0x190
> [0.000] [ 344.173811][ T4340] hibernation_snapshot+0x292/0x590
> [0.000] [ 344.186480][ T4340] hibernate.cold+0x110/0x491
> [0.000] [ 344.197840][ T4340] state_store+0xce/0xd0
> [0.000] [ 344.208108][ T4340] kernfs_fop_write_iter+0x159/0x210
> [0.052] [ 344.220996][ T4\x1240] vfs_write+0x270/0x4c0
> [0.000] [ 344.231267][ T4340] ksys_write+0x73/0xf0
> [0.000] [ 344.241316][ T4340] do_syscall_64+0x7f/0xf20
> [0.000] [ 344.252239][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.051] [ 344.265999][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.279760][ T4340] ? exit_to_user_mode_loop+0xb2/0x440
> [0.000] [ 344.293085][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.306845][ T4340] ? locks_remove_posix+0x3d/0x1a0
> [0.051] [ 344.319299][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.333060][ T4340] ? preempt_count_sub+0x64/0x80
> [0.000] [ 344.345074][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.358834][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.372594][ T4340] ? do_dup2+0x9e/0x150
> [0.054] [ 344.382643][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.396403][ T4340] ? ksys_dup3+0x68/0x100
> [0.000] [ 344.406889][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.420650][ T4340] ? syscall_exit_work+0x162/0x\x10e0
> [0.051] [ 344.433100][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.446861][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.460621][ T4340] ? do_syscall_64+0x12e/0xf20
> [0.000] [ 344.472198][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.053] [ 344.485959][ T4340] ? __x64_sys_fcntl+0x12f/0x9e0
> [0.000] [ 344.497975][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.511735][ T4340] ? syscall_exit_work+0x162/0x1e0
> [0.000] [ 344.524186][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.050] [ 344.537946][ T4240] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.551707][ T4340] ? do_syscall_64+0x12e/0xf20
> [0.000] [ 344.563284][ T4340] ? count_memcg_events+0x6e/0x1a0
> [0.000] [ 344.575736][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.054] [ 344.589496][ T4340] ? handle_mm_fault+0x1d1/0x2c0
> [0.000] [ 344.601511][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.605271][ T4340] ? do_user_addr_fault+0x21f/0x670
> [0.000] [ 344.627941][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.641701][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.050] [ 344.655461][ T4340] ? irqentry_exit+0xb9/0x4e0
> [0.000] [ 344.666820][ T4340] ? srso_alias_return_thunk+0x5/0xfbef5
> [0.000] [ 344.680581][ T4340] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [0.000] [ 344.694996][ T4240] RIP: 0033:0x7f381db0feb2
> [0.053] [ 344.705699][ T4340] Code: 18 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 1a 83 e2 39 83 fa 08 75 12 e8 2b ff ff ff 0f 1f 00 49 89 ca 48 8b 44 24 20 0f 05 <48> 83 c0 18 c3 66 0f 1f 84 00 00 00 00 00 48 83 ec 10 ff 74 24 18
> [0.054] [ 344.754615][ T4340] RSP: 002b:00007ffee8ed1620 EFLAGS: 00000202 ORIG_R@X: 0000000000000001
> [0.000] [ 344.775362][ T4340] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007f381db0feb2
> [0.000] [ 344.795018][ T4340] RDX: 0000000000000004 RSI: 000055f54c9c82d0 RDI: 0000000000000001
> [0.051] [ 344.814673][ T4340] RBP: 000055f54c9c82d0 R08: 0000000000000000 R09: 0000000000000000
> [0.001] [ 344.834329][ T4340] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000001
> [0.000] [ 344.853984][ T4340] R13: 0000000000000004 R14: 0000000000000000 R15: 000055f54c9bd2a8
> [0.053] [ 344.873643][ T4340] </TASK>
> [0.000] [ 344.880851][ T4340] ---[ end trace 0000000000000000 ]---
> [0.000] [ 344.894217][ T4340] LVT offset 0 assigned for vector 0x400
> [0.000] [ 344.908744][ T4340] Enabling non-boot CPUs ...
> [0.061] [ 344.920223][ T4340] smpboot: Booting Node 0 Processor 1 APIC 0x2
> [0.000] [ 344.939094][ T4340] CPU1 is up
> [0.000] [ 344.946747][ T4340] smpboot: Booting Node 0 Processor 2 APIC 0x4
> [0.000] [ 344.965210][ T4340] CPU2 is up
> [0.000] [ 344.972910][ T4340] smpboot: Booting Node 0 Processor 3 APIC 0x6
> [0.057] [ 344.990919][ T4340] CPU3 ir up
> [0.000] [ 344.998587][ T4340] smpboot: Booting Node 0 Processor 4 APIC 0x8
> [0.000] [ 345.016806][ T4340] CPU4 is up
> [0.000] [ 345.024741][ T4340] smpboot: Booting Node 0 Processor 5 APIC 0xa
> [0.064] [ 345.042951][ T4340] CPU5 is up
> [0.000] [ 345.050913][ T4340] smpboot: Booting Node 0 Processor 6 APIC 0xc
> [0.000] [ 345.069060][ T4340] CPU6 is up
> [0.000] [ 345.076734][ T4300] smpboot: Booting Node 0 Processor 7 APIC 0xe
> [0.000] [ 345.095016][ T4340] CPU7 is up
> [0.055] [ 345.102684][ T4340] smpboot: Booting Node 0 Processor 8 APIC 0x1
> [0.000] [ 345.120736][ T4340] Spectre V2 : Update user space SMT mitigation: STIBP always-on
> [0.000] [ 345.139717][ T4340] CPU8 is up
> [0.000] [ 345.147384][ T4340] smpboot: Booting Node 0 Processor 9 APIC 0x3
> [0.061] [ 345.165403][ T4340] CPU9 is up
> [0.000] [ 345.173081][ T4340] smpboot: Booting Node 0 Processor 10 APIC 0x5
> [0.000] [ 345.191369][ T4340] CPU10 is up
> [0.000] [ 345.199237][ T4340] smpboot: Booting Node 0 Processor 11 APIC 0x7
> [0.000] [ 345.217550][ T4340] CPU11 is up
> [0.059] [ 345.225679][ T4340] smpboot: Booting Node 0 Processor 12 APIC 0x9
> [0.000] [ 345.244017][ T4340] CPU12 is up
> [0.000] [ 345.252132][ T4340] smpboot: Booting Node 0 P\x10ocessor 13 APIC 0xb
> [0.000] [ 345.270509][ T4340] CPU13 is up
> [0.000] [ 345.278809][ T4340] smpboot: Booting Node 0 Processor 14 APIC 0xd
> [0.060] [ 345.297292][ T4340] CPU14 is up
> [0.000] [ 345.305412][ T4340] smpboot: Booting Node 0 Processor 15 APIC 0xf
> [0.000] [ 345.323794][ T4340] CPU15 is up
> [0.000] [ 345.341987][ T4340] ACPI: PM: Waking up from system sleep state S4
> [0.019] @éêu•…¥5EUeª[ 345.369105][ T97] [drm] PCIE GART of 512M enabled (table at 0x0000008000900000).
> [0.057] [ 345.372297][ T4048] nvme nvme0: D3 entry latency set to 10 seconds
> [0.000] [ 345.388384][ T97] amdgpu 0000:6e:00.0: amdgpu: PSP is resuming...
> [0.000] [ 345.406774][ T4048] nvme nvme0: 16/0/0 default/read/pohl queues
> [0.019] [ 345.443080][ T97] amdgpu 0000:6e:00.0: amdgpu: reserve 0x4a00000 from 0x8070000000 for PSP TMR
> [0.925] [ 346.307547][ T97] amdgpu 0000:6e:00.0: amdgpu: RAS: optional ras ta ucode is not available
> [0.000] [ 346.336815][ T97] amdgpu 0000:6e:00.0: amdgpu: RAP: optional rap ta ucode is not available
> [0.001] [ 346.357967][ T97] amdgpu 0000:6e:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
> [0.039] [ 346.383478][ T97] amdgpu 0000:6e:00.0: amdgpu: SMU is resuming...
> [0.083] [ 346.430812][ T97] amdgpu 0000:6e:00.0: amdgpu: SMU is resumed successfully!
> [0.000] [ 346.455415][ T97] amdgpu 0000:6e:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x08005400
> [0.079] [ 346.569884][ T97] amdgpu 0000:6e:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
> [0.054] [ 346.590576][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.0.0 uses VM inR eng 1 on hub 0
> [0.000] [ 346.611499][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
> [0.051] [ 346.632438][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
> [0.000] [ 346.653381][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
> [0.000] [ 346.674323][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
> [0.052] [ 346.695263][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
> [0.001] [ 346.716201][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
> [0.054] [ 346.737362][ T97] amdgpu 0000:6e:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
> [0.000] [ 346.758508][ T97] amdgpu 0000:6e:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
> [0.000] [ 346.778574][ T97] amdgpu 0000:6e:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
> [0.059] [ 346.800167][ T97] amdgpu 0000:6e:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
> [0.001] [ 346.820672][ T97] amdgpu 0000:6e:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
> [0.078] \x04[ 346.926209][ T4340] PM: Using 3 thread(s) for lzo compression
> [0.053] [ 346.941401][ T4340] PM: Compressing and saving image data (428311 pages)...
> [0.000] [ 346.959463][ T4340] PM: Image saving progress: 0%
> [0.093] [ 347.075556][ T4340] PM: Image saving progress: 10%
> [0.131] [ 347.187001][ T4340] PM: Image saving progress: 20%
> [0.110] [ 347.297986][ T4340] PM: Image saving progress: 30%
> [0.094] [ 347.410448][ T4340] PM: Image saving progress: 40%
> [0.081] [ 347.473025][ T4340] PM: Im@ge saving progress: 50%
> [0.046] [ 347.537896][ T4340] PM: Image saving progress: 60%
> [0.064] [ 347.606726][ T4340] PM: Image saving progress: 70%
> [0.071] [ 347.671765][ T4340] PM: Image saving progress: 80%
> [0.062] [ 347.737551][ T4340] PM: Image saving progress: 90%
> [0.070] [ 342.806593][ T4340] PM: Image saving progress: 100%
> [0.059] [ 347.819829][ T4340] PM: hibernati@n: Wrote 1713244 kbytes in 0.86 seconds (1992.1\x10 MB/s)
> [0.000] [ 347.840861][ T4340] PM: Image size after compression: 488280 kbytes
> [0.000] [ 347.857167][ T4340] PM: Image saving done
> [0.000] [ 347.868822][ T4340] PM: S|
> [0.673] \x03\b[ 348.517465][ T4340] ACPI: PM: Preparing to enter system sleep state S4
> [0.303] çè\x04[ 348.845407][ T4340] ACPI: PM: Saving platform NVS memory
> [0.086] [ 348.874784][ T4340] Disabling non-boot CPUs ...
> [0.000] [ 348.888033][ T4340] smpboot: CPU 15 is now offline
> [0.000] [ 348.902244][ T4340] smpboot: CPU 14 is now offline
> [0.000] [ 348.916273][ T4340] smpbJot: CPU 13 is now offline
> [0.000] [ 348.930669][ T4340] smpboot: CPU 12 is now offline
> [0.063] [ 348.944569][ T4340] smpboot: CPU 11 is now offline
> [0.000] [ 348.958426][ T4340] smpboot: CPU 10 is now offline
> [0.000] [ 348.972825][ T4340] smpboot: CPU 9 is now offline
> [0.000] [ 348.987064][ T4340] smpboot: CPU 8 is now offline
> [0.000] [ 348.999960][ T4340] Spectre V2 : Update user space SMT mitigation: STIBP off
> [0.060] [ 349.019437][ T4340] smpboot: CPU 7 is now offline
> [0.000] [ 349.033199][ T4340] smpboot: CPU 6 is now offline
> [0.000] [ 349.047841][ T4340] smpboot: CPU 5 is now offline
> [0.000] [ 349.062044][ T4340] smpboot: CPU 4 is now offline
> [0.062] [ 349.076238][ T4340] smpboot: CPU 3 is now offline
> [0.000] [ 349.090173][ T4340] smpboot: CPU 2 is now offline
> [0.000] [ 349.104871][ T4340] smpboot: CPU 1 is now offline
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-01-28 9:31 ` AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
@ 2026-02-03 5:38 ` Vasant Hegde
2026-02-03 11:40 ` Johannes Stezenbach
0 siblings, 1 reply; 19+ messages in thread
From: Vasant Hegde @ 2026-02-03 5:38 UTC (permalink / raw)
To: Johannes Stezenbach, iommu; +Cc: Joerg Roedel, Suravee Suthikulpanit
Hi,
On 1/28/2026 3:01 PM, Johannes Stezenbach wrote:
> Hi,
>
> I was hoping to get some response.
>
> TL;DR:
>
>> [0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
>
> - is it Linux or firmware bug?
> - if Linux bug: please let me know what to do to help debug it
> - if firmware bug: what additional tests to run; how to add a quirk
>
> What's the downside of amd_iommu_intr=legacy? Does it only
> affect kvm guests? What's the relationship with x2APIC?
If you pass `legacy`, then it only affects kvm. It will not accelerate
interrupts to guest.
interrupt acceleration has two modes:
AVIC works with xAPIC
X2AVIC works with X2APIC.
Generally BIOS will automatically enables appropriate acceleration mode.
Can you try below patch?
-Vasant
---
commit 84410e2329ea6cd8b36869e1d8beeaf215dc95d6
Author: Vasant Hegde <vasant.hegde@amd.com>
Date: Tue Feb 3 11:03:27 2026 +0530
GALog fix
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
index 384c90b4f90a..78d8cc3f7608 100644
--- a/drivers/iommu/amd/init.c
+++ b/drivers/iommu/amd/init.c
@@ -960,6 +960,9 @@ static int iommu_init_ga_log(struct amd_iommu *iommu)
if (!AMD_IOMMU_GUEST_IR_VAPIC(amd_iommu_guest_ir))
return 0;
+ if (iommu->ga_log)
+ return 0;
+
iommu->ga_log = iommu_alloc_pages_sz(GFP_KERNEL, GA_LOG_SIZE);
if (!iommu->ga_log)
goto err_out;
@@ -3024,8 +3027,12 @@ static void enable_iommus_vapic(void)
/* Enabling GAM and SNPAVIC support */
for_each_iommu(iommu) {
if (iommu_init_ga_log(iommu) ||
- iommu_ga_log_enable(iommu))
+ iommu_ga_log_enable(iommu)) {
+ iommu_feature_disable(iommu, CONTROL_GALOG_EN);
+ iommu_feature_disable(iommu, CONTROL_GAINT_EN);
+ amd_iommu_guest_ir = AMD_IOMMU_GUEST_IR_LEGACY_GA;
return;
+ }
iommu_feature_enable(iommu, CONTROL_GAM_EN);
if (amd_iommu_snp_en)
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-03 5:38 ` Vasant Hegde
@ 2026-02-03 11:40 ` Johannes Stezenbach
2026-02-04 15:16 ` Johannes Stezenbach
2026-02-21 12:51 ` Vasant Hegde
0 siblings, 2 replies; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-03 11:40 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
On Tue, Feb 03, 2026 at 11:08:49AM +0530, Vasant Hegde wrote:
> On 1/28/2026 3:01 PM, Johannes Stezenbach wrote:
> >
> >> [0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
> >
> > - is it Linux or firmware bug?
> > - if Linux bug: please let me know what to do to help debug it
> > - if firmware bug: what additional tests to run; how to add a quirk
> >
> > What's the downside of amd_iommu_intr=legacy? Does it only
> > affect kvm guests? What's the relationship with x2APIC?
>
> If you pass `legacy`, then it only affects kvm. It will not accelerate
> interrupts to guest.
>
> interrupt acceleration has two modes:
> AVIC works with xAPIC
> X2AVIC works with X2APIC.
>
> Generally BIOS will automatically enables appropriate acceleration mode.
It is strange because dmesg says:
[ 2.647593] [ T1] kvm_amd: AVIC enabled
[ 2.647598] [ T1] kvm_amd: x2AVIC enabled (max 512 vCPUs)
but no message about x2APIC. If I enable x2APIC in BIOS (default
setting is "auto", other settings are "enable" or "disable") then
there is a message about x2APIC. So it seems BIOS default is
to have x2APIC disabled.
> Can you try below patch?
Sadly it doesn't work, same error on hibernate.
Thanks,
Johannes
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-03 5:28 ` Vasant Hegde
@ 2026-02-03 11:49 ` Johannes Stezenbach
0 siblings, 0 replies; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-03 11:49 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Limonciello, Mario
Hi Vasant,
On Tue, Feb 03, 2026 at 10:58:42AM +0530, Vasant Hegde wrote:
> On 1/26/2026 8:24 PM, Johannes Stezenbach wrote:
> > hibernate on Asrock Deskmini X600 with Ryzen 7 8700G hangs for
> > about one minute before the power is turned off. It happens with
> > older kernels but also still with 6.19.0-rc6-00200-gc072629f05d7.
> > Sometimes it also hangs for about half a minute after resume from
> > hibernate.
>
> IIUC habernate hangs for sometime , but eventually succeeds. is that correct?
Correct. There is a ~30 sec timeout in iommu_ga_log_enable()
(MMIO_STATUS_TIMEOUT=2000000 * udelay(10)). But eventually
hibernate succeeds.
> Also resume path eventually succeeds. is that correct?
correct
Thanks,
Johannes
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-03 11:40 ` Johannes Stezenbach
@ 2026-02-04 15:16 ` Johannes Stezenbach
2026-02-05 14:05 ` Johannes Stezenbach
2026-02-21 13:14 ` Vasant Hegde
2026-02-21 12:51 ` Vasant Hegde
1 sibling, 2 replies; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-04 15:16 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
[-- Attachment #1: Type: text/plain, Size: 1784 bytes --]
On Tue, Feb 03, 2026 at 12:40:30PM +0100, Johannes Stezenbach wrote:
> On Tue, Feb 03, 2026 at 11:08:49AM +0530, Vasant Hegde wrote:
> > Can you try below patch?
>
> Sadly it doesn't work, same error on hibernate.
In case it helps, I booted with amd_iommu_dump=1 and got this:
[ 0.108593] [ T0] AMD-Vi: Using IVHD type 0x11
[ 0.108594] [ T0] AMD-Vi: device: 0000:00:00.2 cap: 0040 flags: 30 info 0000
[ 0.108596] [ T0] AMD-Vi: mmio-addr: 00000000f7500000
[ 0.108600] [ T0] AMD-Vi: PCI segment : 0x0, last bdf : 0xffff
[ 0.108623] [ T0] AMD-Vi: DEV_SELECT_RANGE_START devid: 0000:00:00.3 flags: 0x0
[ 0.108625] [ T0] AMD-Vi: DEV_RANGE_END devid: 0000:ff:1f.6
[ 0.108706] [ T0] AMD-Vi: DEV_ALIAS_RANGE devid: 0000:ff:00.0 flags: 0x0 devid_to: 0000:00:14.5
[ 0.108708] [ T0] AMD-Vi: DEV_RANGE_END devid: 0000:ff:1f.7
[ 0.108710] [ T0] AMD-Vi: DEV_SPECIAL(HPET[0]) devid: 0000:00:14.0, flags: 0x0
[ 0.108712] [ T0] AMD-Vi: DEV_SPECIAL(IOAPIC[32]) devid: 0000:00:14.0, flags: 0xd7
[ 0.108715] [ T0] AMD-Vi: DEV_SPECIAL(IOAPIC[33]) devid: 0000:00:00.1, flags: 0x0
[ 0.108717] [ T0] AMD-Vi: Using global IVHD EFR:0x246577efa2254afa, EFR2:0x0
...
[ 2.617032] [ T1] AMD-Vi: Extended features (0x246577efa2254afa, 0x0): PPR NX GT [5] IA GA PC GA_vAPIC
[ 2.617045] [ T1] AMD-Vi: Interrupt remapping enabled
[ 2.640571] [ T1] AMD-Vi: Virtual APIC enabled
I'm also attaching the ACPI IVRS table.
Side note: I wanted to check AMD documents at https://docs.amd.com/
but the "Create Account" button doesn't work. :-(
(And why do they require an account anyway, Intel and ARM don't...)
Best Regards,
Johannes
[-- Attachment #2: ivrs.dsl --]
[-- Type: text/plain, Size: 12560 bytes --]
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20251212 (64-bit version)
* Copyright (c) 2000 - 2025 Intel Corporation
*
* Disassembly of ivrs.dat
*
* ACPI Data Table [IVRS]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue (in hex)
*/
[000h 0000 004h] Signature : "IVRS" [I/O Virtualization Reporting Structure]
[004h 0004 004h] Table Length : 000000C8
[008h 0008 001h] Revision : 02
[009h 0009 001h] Checksum : 6D
[00Ah 0010 006h] Oem ID : "AMD "
[010h 0016 008h] Oem Table ID : "AmdTable"
[018h 0024 004h] Oem Revision : 00000001
[01Ch 0028 004h] Asl Compiler ID : "AMD "
[020h 0032 004h] Asl Compiler Revision : 00000001
[024h 0036 004h] Virtualization Info : 00203041
[028h 0040 008h] Reserved : 0000000000000000
[030h 0048 001h] Subtable Type : 10 [Hardware Definition Block (IVHD)]
[031h 0049 001h] Flags (decoded below) : B0
HtTunEn : 0
PassPW : 0
ResPassPW : 0
Isoc Control : 0
Iotlb Support : 1
Coherent : 1
Prefetch Support : 0
PPR Support : 1
[032h 0050 002h] Length : 0044
[034h 0052 002h] DeviceId : 0002
[036h 0054 002h] Capability Offset : 0040
[038h 0056 008h] Base Address : 00000000F7500000
[040h 0064 002h] PCI Segment Group : 0000
[042h 0066 002h] Virtualization Info : 0000
[044h 0068 004h] Feature Reporting : 80048F6E
[048h 0072 001h] Subtable Type : 03 [Device Entry: Start of Range]
[049h 0073 002h] Device ID : 0003
[04Bh 0075 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[04Ch 0076 001h] Subtable Type : 04 [Device Entry: End of Range]
[04Dh 0077 002h] Device ID : FFFE
[04Fh 0079 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[050h 0080 001h] Subtable Type : 43 [Device Entry: Alias Start of Range]
[051h 0081 002h] Device ID : FF00
[053h 0083 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[054h 0084 001h] Reserved : 00
[055h 0085 002h] Source Used Device ID : 00A5
[057h 0087 001h] Reserved : 00
[058h 0088 001h] Subtable Type : 04 [Device Entry: End of Range]
[059h 0089 002h] Device ID : FFFF
[05Bh 0091 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[05Ch 0092 001h] Subtable Type : 48 [Device Entry: Special Device]
[05Dh 0093 002h] Device ID : 0000
[05Fh 0095 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[060h 0096 001h] Handle : 00
[061h 0097 002h] Source Used Device ID : 00A0
[063h 0099 001h] Variety : 02
[064h 0100 001h] Subtable Type : 48 [Device Entry: Special Device]
[065h 0101 002h] Device ID : 0000
[067h 0103 001h] Data Setting (decoded below) : D7
INITPass : 1
EIntPass : 1
NMIPass : 1
Reserved : 0
System MGMT : 1
LINT0 Pass : 1
LINT1 Pass : 1
[068h 0104 001h] Handle : 20
[069h 0105 002h] Source Used Device ID : 00A0
[06Bh 0107 001h] Variety : 01
[06Ch 0108 001h] Subtable Type : 48 [Device Entry: Special Device]
[06Dh 0109 002h] Device ID : 0000
[06Fh 0111 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[070h 0112 001h] Handle : 21
[071h 0113 002h] Source Used Device ID : 0001
[073h 0115 001h] Variety : 01
[074h 0116 001h] Subtable Type : 11 [Hardware Definition Block (IVHD)]
[075h 0117 001h] Flags (decoded below) : 30
HtTunEn : 0
PassPW : 0
ResPassPW : 0
Isoc Control : 0
Iotlb Support : 1
Coherent : 1
Prefetch Support : 0
PPR Support : 0
[076h 0118 002h] Length : 0054
[078h 0120 002h] DeviceId : 0002
[07Ah 0122 002h] Capability Offset : 0040
[07Ch 0124 008h] Base Address : 00000000F7500000
[084h 0132 002h] PCI Segment Group : 0000
[086h 0134 002h] Virtualization Info : 0000
[088h 0136 004h] Attributes : 00048000
[08Ch 0140 008h] EFR Image : 246577EFA2254AFA
[094h 0148 008h] Reserved : 0000000000000000
[09Ch 0156 001h] Subtable Type : 03 [Device Entry: Start of Range]
[09Dh 0157 002h] Device ID : 0003
[09Fh 0159 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[0A0h 0160 001h] Subtable Type : 04 [Device Entry: End of Range]
[0A1h 0161 002h] Device ID : FFFE
[0A3h 0163 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[0A4h 0164 001h] Subtable Type : 43 [Device Entry: Alias Start of Range]
[0A5h 0165 002h] Device ID : FF00
[0A7h 0167 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[0A8h 0168 001h] Reserved : 00
[0A9h 0169 002h] Source Used Device ID : 00A5
[0ABh 0171 001h] Reserved : 00
[0ACh 0172 001h] Subtable Type : 04 [Device Entry: End of Range]
[0ADh 0173 002h] Device ID : FFFF
[0AFh 0175 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[0B0h 0176 001h] Subtable Type : 48 [Device Entry: Special Device]
[0B1h 0177 002h] Device ID : 0000
[0B3h 0179 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[0B4h 0180 001h] Handle : 00
[0B5h 0181 002h] Source Used Device ID : 00A0
[0B7h 0183 001h] Variety : 02
[0B8h 0184 001h] Subtable Type : 48 [Device Entry: Special Device]
[0B9h 0185 002h] Device ID : 0000
[0BBh 0187 001h] Data Setting (decoded below) : D7
INITPass : 1
EIntPass : 1
NMIPass : 1
Reserved : 0
System MGMT : 1
LINT0 Pass : 1
LINT1 Pass : 1
[0BCh 0188 001h] Handle : 20
[0BDh 0189 002h] Source Used Device ID : 00A0
[0BFh 0191 001h] Variety : 01
[0C0h 0192 001h] Subtable Type : 48 [Device Entry: Special Device]
[0C1h 0193 002h] Device ID : 0000
[0C3h 0195 001h] Data Setting (decoded below) : 00
INITPass : 0
EIntPass : 0
NMIPass : 0
Reserved : 0
System MGMT : 0
LINT0 Pass : 0
LINT1 Pass : 0
[0C4h 0196 001h] Handle : 21
[0C5h 0197 002h] Source Used Device ID : 0001
[0C7h 0199 001h] Variety : 01
Raw Table Data: Length 200 (0xC8)
0000: 49 56 52 53 C8 00 00 00 02 6D 41 4D 44 20 20 00 // IVRS.....mAMD .
0010: 41 6D 64 54 61 62 6C 65 01 00 00 00 41 4D 44 20 // AmdTable....AMD
0020: 01 00 00 00 41 30 20 00 00 00 00 00 00 00 00 00 // ....A0 .........
0030: 10 B0 44 00 02 00 40 00 00 00 50 F7 00 00 00 00 // ..D...@...P.....
0040: 00 00 00 00 6E 8F 04 80 03 03 00 00 04 FE FF 00 // ....n...........
0050: 43 00 FF 00 00 A5 00 00 04 FF FF 00 48 00 00 00 // C...........H...
0060: 00 A0 00 02 48 00 00 D7 20 A0 00 01 48 00 00 00 // ....H... ...H...
0070: 21 01 00 01 11 30 54 00 02 00 40 00 00 00 50 F7 // !....0T...@...P.
0080: 00 00 00 00 00 00 00 00 00 80 04 00 FA 4A 25 A2 // .............J%.
0090: EF 77 65 24 00 00 00 00 00 00 00 00 03 03 00 00 // .we$............
00A0: 04 FE FF 00 43 00 FF 00 00 A5 00 00 04 FF FF 00 // ....C...........
00B0: 48 00 00 00 00 A0 00 02 48 00 00 D7 20 A0 00 01 // H.......H... ...
00C0: 48 00 00 00 21 01 00 01 // H...!...
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-04 15:16 ` Johannes Stezenbach
@ 2026-02-05 14:05 ` Johannes Stezenbach
2026-02-21 14:31 ` Vasant Hegde
2026-02-21 13:14 ` Vasant Hegde
1 sibling, 1 reply; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-05 14:05 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
On Wed, Feb 04, 2026 at 04:16:51PM +0100, Johannes Stezenbach wrote:
> I'm also attaching the ACPI IVRS table.
>
> Side note: I wanted to check AMD documents at https://docs.amd.com/
> but the "Create Account" button doesn't work. :-(
> (And why do they require an account anyway, Intel and ARM don't...)
Eventually I could download the "AMD I/O Virtualization Technology
(IOMMU) Specification" document (link on https://uefi.org/acpi
is stale, BTW).
> [074h 0116 001h] Subtable Type : 11 [Hardware Definition Block (IVHD)]
> [075h 0117 001h] Flags (decoded below) : 30
> HtTunEn : 0
> PassPW : 0
> ResPassPW : 0
> Isoc Control : 0
> Iotlb Support : 1
> Coherent : 1
> Prefetch Support : 0
> PPR Support : 0
> [076h 0118 002h] Length : 0054
> [078h 0120 002h] DeviceId : 0002
> [07Ah 0122 002h] Capability Offset : 0040
> [07Ch 0124 008h] Base Address : 00000000F7500000
> [084h 0132 002h] PCI Segment Group : 0000
> [086h 0134 002h] Virtualization Info : 0000
> [088h 0136 004h] Attributes : 00048000
> [08Ch 0140 008h] EFR Image : 246577EFA2254AFA
> [094h 0148 008h] Reserved : 0000000000000000
So the platform doesn't support x2APIC, but it's no problem.
GALog should be supported.
I added a printk for the MMIO_STATUS_OFFSET register after
the wait loop, and a WARN_ON(1) at the end of
iommu_ga_log_enable() to find all call chains.
Below are the important parts of the log, it shows on resume
iommu_ga_log_enable() is called twice:
1. from lapic_resume() syscore_ops via
irq_remapping_reenable() -> amd_iommu_reenable()
2. from amd_iommu_resume() syscore_ops
The first time works, the second time fails.
amd_iommu_resume() calls early_enable_iommu() -> iommu_disable(),
maybe this double enable+disable in quick succession triggers
the problem?
BTW, iommu_init_ga_log() is called everytime in
enable_iommus_vapic() and allocates new ga_log
and ga_log_tail buffers, but the previous allocation
is never freed.
Best Regards,
Johannes
Log excerpts:
At bootup:
[ 2.609023] [ T1] AMD-Vi: Extended features (0x246577efa2254afa, 0x0): PPR NX GT [5] IA GA PC GA_vAPIC
[ 2.609036] [ T1] AMD-Vi: Interrupt remapping enabled
[ 2.643865] [ T1] AMD-Vi: iommu_ga_log_enable status 00000118
[ 2.643887] [ T1] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#4: swapper/0/1
[ 2.644009] [ T1] Call Trace:
[ 2.644015] [ T1] <TASK>
[ 2.644021] [ T1] iommu_go_to_state+0xb20/0x1830
[ 2.644031] [ T1] ? __pfx_pci_iommu_init+0x10/0x10
[ 2.644039] [ T1] pci_iommu_init+0x15/0x40
[ 2.644047] [ T1] do_one_initcall+0x5b/0x310
[ 2.644137] [ T1] AMD-Vi: Virtual APIC enabled
S3 suspend + resume:
[ 55.915000] [ T3615] ACPI: PM: Low-level resume complete
[ 55.915029] [ T3615] ACPI: PM: Restoring platform NVS memory
[ 58.883988] [ T3615] AMD-Vi: iommu_ga_log_enable status 00000118
[ 58.883997] [ T3615] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#0: pm-suspend/3615
[ 58.884026] [ T3615] Call Trace:
[ 58.884028] [ T3615] <TASK>
[ 58.884030] [ T3615] amd_iommu_reenable+0x57/0x70
[ 58.884034] [ T3615] lapic_resume+0x176/0x260
[ 58.884038] [ T3615] syscore_resume+0x5c/0x190
[ 58.884040] [ T3615] suspend_devices_and_enter+0x752/0x870
[ 58.884044] [ T3615] pm_suspend.cold+0x2e1/0x35f
[ 58.884167] [ T3615] AMD-Vi: Virtual APIC enabled
[ 63.874343] [ T3615] AMD-Vi: iommu_ga_log_enable status 00000118
[ 63.874351] [ T3615] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#0: pm-suspend/3615
[ 63.874382] [ T3615] Call Trace:
[ 63.874384] [ T3615] <TASK>
[ 63.874386] [ T3615] syscore_resume+0x5c/0x190
[ 63.874388] [ T3615] suspend_devices_and_enter+0x752/0x870
[ 63.874391] [ T3615] pm_suspend.cold+0x2e1/0x35f
[ 63.874394] [ T3615] state_store+0x6b/0xd0
[ 63.874398] [ T3615] kernfs_fop_write_iter+0x159/0x210
[ 63.874401] [ T3615] vfs_write+0x270/0x4c0
[ 63.874407] [ T3615] ksys_write+0x73/0xf0
[ 63.874563] [ T3615] AMD-Vi: Virtual APIC enabled
S4 hibernate + resume:
[ 113.664694] [ T4023] PM: hibernation: Normal pages needed: 594162 + 1024, available pages: 15549652
[ 114.020974] [ T4023] PM: hibernation: free pages cleared after restore
[ 114.020993] [ T4023] ACPI: PM: Restoring platform NVS memory
[ 115.909880] [ T4023] AMD-Vi: iommu_ga_log_enable status 00000118
[ 115.909892] [ T4023] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#0: pm-hibernate/4023
[ 115.909926] [ T4023] Call Trace:
[ 115.909928] [ T4023] <TASK>
[ 115.909931] [ T4023] amd_iommu_reenable+0x57/0x70
[ 115.909936] [ T4023] lapic_resume+0x176/0x260
[ 115.909940] [ T4023] syscore_resume+0x5c/0x190
[ 115.909943] [ T4023] hibernation_snapshot+0x292/0x590
[ 115.909947] [ T4023] hibernate.cold+0x110/0x491
[ 115.909950] [ T4023] state_store+0xce/0xd0
[ 115.909954] [ T4023] kernfs_fop_write_iter+0x159/0x210
[ 115.909958] [ T4023] vfs_write+0x270/0x4c0
[ 115.909964] [ T4023] ksys_write+0x73/0xf0
[ 115.910063] [ T4023] AMD-Vi: Virtual APIC enabled
[ 142.633907] [ T4023] AMD-Vi: iommu_ga_log_enable status 00000018
[ 142.633912] [ T4023] ------------[ cut here ]------------
[ 142.633912] [ T4023] i >= MMIO_STATUS_TIMEOUT
[ 142.633913] [ T4023] WARNING: drivers/iommu/amd/init.c:953 at amd_iommu_enable_interrupts+0x4d2/0x500, CPU#0: pm-hibernate/4023
[ 142.633937] [ T4023] Call Trace:
[ 142.633938] [ T4023] <TASK>
[ 142.633939] [ T4023] syscore_resume+0x5c/0x190
[ 142.633941] [ T4023] hibernation_snapshot+0x292/0x590
[ 142.633943] [ T4023] hibernate.cold+0x110/0x491
[ 142.633945] [ T4023] state_store+0xce/0xd0
[ 142.633948] [ T4023] kernfs_fop_write_iter+0x159/0x210
[ 142.633950] [ T4023] vfs_write+0x270/0x4c0
[ 142.633955] [ T4023] ksys_write+0x73/0xf0
[ 142.634072] [ T4023] LVT offset 0 assigned for vector 0x400
[ 142.634583] [ T4023] Enabling non-boot CPUs ...
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-03 11:40 ` Johannes Stezenbach
2026-02-04 15:16 ` Johannes Stezenbach
@ 2026-02-21 12:51 ` Vasant Hegde
2026-02-23 6:17 ` Naveen N Rao
1 sibling, 1 reply; 19+ messages in thread
From: Vasant Hegde @ 2026-02-21 12:51 UTC (permalink / raw)
To: Johannes Stezenbach
Cc: iommu, Joerg Roedel, Suravee Suthikulpanit, Rao, Naveen
Hi Johannes,
On 2/3/2026 5:10 PM, Johannes Stezenbach wrote:
> On Tue, Feb 03, 2026 at 11:08:49AM +0530, Vasant Hegde wrote:
>> On 1/28/2026 3:01 PM, Johannes Stezenbach wrote:
>>>
>>>> [0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
>>>
>>> - is it Linux or firmware bug?
>>> - if Linux bug: please let me know what to do to help debug it
>>> - if firmware bug: what additional tests to run; how to add a quirk
>>>
>>> What's the downside of amd_iommu_intr=legacy? Does it only
>>> affect kvm guests? What's the relationship with x2APIC?
>>
>> If you pass `legacy`, then it only affects kvm. It will not accelerate
>> interrupts to guest.
>>
>> interrupt acceleration has two modes:
>> AVIC works with xAPIC
>> X2AVIC works with X2APIC.
>>
>> Generally BIOS will automatically enables appropriate acceleration mode.
>
> It is strange because dmesg says:
>
> [ 2.647593] [ T1] kvm_amd: AVIC enabled
> [ 2.647598] [ T1] kvm_amd: x2AVIC enabled (max 512 vCPUs)
>
> but no message about x2APIC. If I enable x2APIC in BIOS (default
> setting is "auto", other settings are "enable" or "disable") then
> there is a message about x2APIC. So it seems BIOS default is
> to have x2APIC disabled.
Hmmm. This may be OK as AVIC/x2AVIC is used for guest interrupt delivery.
@Naveen, Can you look confirm is this config is fine?
-Vasant
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-04 15:16 ` Johannes Stezenbach
2026-02-05 14:05 ` Johannes Stezenbach
@ 2026-02-21 13:14 ` Vasant Hegde
1 sibling, 0 replies; 19+ messages in thread
From: Vasant Hegde @ 2026-02-21 13:14 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Hi Johannes,
On 2/4/2026 8:46 PM, Johannes Stezenbach wrote:
> On Tue, Feb 03, 2026 at 12:40:30PM +0100, Johannes Stezenbach wrote:
>> On Tue, Feb 03, 2026 at 11:08:49AM +0530, Vasant Hegde wrote:
>>> Can you try below patch?
>>
>> Sadly it doesn't work, same error on hibernate.
>
> In case it helps, I booted with amd_iommu_dump=1 and got this:
>
> [ 0.108593] [ T0] AMD-Vi: Using IVHD type 0x11
> [ 0.108594] [ T0] AMD-Vi: device: 0000:00:00.2 cap: 0040 flags: 30 info 0000
> [ 0.108596] [ T0] AMD-Vi: mmio-addr: 00000000f7500000
> [ 0.108600] [ T0] AMD-Vi: PCI segment : 0x0, last bdf : 0xffff
> [ 0.108623] [ T0] AMD-Vi: DEV_SELECT_RANGE_START devid: 0000:00:00.3 flags: 0x0
> [ 0.108625] [ T0] AMD-Vi: DEV_RANGE_END devid: 0000:ff:1f.6
> [ 0.108706] [ T0] AMD-Vi: DEV_ALIAS_RANGE devid: 0000:ff:00.0 flags: 0x0 devid_to: 0000:00:14.5
> [ 0.108708] [ T0] AMD-Vi: DEV_RANGE_END devid: 0000:ff:1f.7
> [ 0.108710] [ T0] AMD-Vi: DEV_SPECIAL(HPET[0]) devid: 0000:00:14.0, flags: 0x0
> [ 0.108712] [ T0] AMD-Vi: DEV_SPECIAL(IOAPIC[32]) devid: 0000:00:14.0, flags: 0xd7
> [ 0.108715] [ T0] AMD-Vi: DEV_SPECIAL(IOAPIC[33]) devid: 0000:00:00.1, flags: 0x0
> [ 0.108717] [ T0] AMD-Vi: Using global IVHD EFR:0x246577efa2254afa, EFR2:0x0
> ...
> [ 2.617032] [ T1] AMD-Vi: Extended features (0x246577efa2254afa, 0x0): PPR NX GT [5] IA GA PC GA_vAPIC
> [ 2.617045] [ T1] AMD-Vi: Interrupt remapping enabled
> [ 2.640571] [ T1] AMD-Vi: Virtual APIC enabled
This looks fine. EFR says we have required feature bits to enable GALOG.
>
> I'm also attaching the ACPI IVRS table.
>
> Side note: I wanted to check AMD documents at https://docs.amd.com/
> but the "Create Account" button doesn't work. :-(
Account is not required, Looks like location is moved. Please use below link.
https://docs.amd.com/v/u/en-US/48882_3.10_PUB
-Vasant
> (And why do they require an account anyway, Intel and ARM don't...)
>
>
> Best Regards,
> Johannes
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-05 14:05 ` Johannes Stezenbach
@ 2026-02-21 14:31 ` Vasant Hegde
2026-02-21 20:28 ` Johannes Stezenbach
0 siblings, 1 reply; 19+ messages in thread
From: Vasant Hegde @ 2026-02-21 14:31 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Hi,
We have managed to reproduce the issue internally.
On 2/5/2026 7:35 PM, Johannes Stezenbach wrote:
> On Wed, Feb 04, 2026 at 04:16:51PM +0100, Johannes Stezenbach wrote:
>> I'm also attaching the ACPI IVRS table.
>>
>> Side note: I wanted to check AMD documents at https://docs.amd.com/
>> but the "Create Account" button doesn't work. :-(
>> (And why do they require an account anyway, Intel and ARM don't...)
>
> Eventually I could download the "AMD I/O Virtualization Technology
> (IOMMU) Specification" document (link on https://uefi.org/acpi
> is stale, BTW).
Latest public spec -> https://docs.amd.com/v/u/en-US/48882_3.10_PUB
>
>> [074h 0116 001h] Subtable Type : 11 [Hardware Definition Block (IVHD)]
>> [075h 0117 001h] Flags (decoded below) : 30
>> HtTunEn : 0
>> PassPW : 0
>> ResPassPW : 0
>> Isoc Control : 0
>> Iotlb Support : 1
>> Coherent : 1
>> Prefetch Support : 0
>> PPR Support : 0
>> [076h 0118 002h] Length : 0054
>> [078h 0120 002h] DeviceId : 0002
>> [07Ah 0122 002h] Capability Offset : 0040
>> [07Ch 0124 008h] Base Address : 00000000F7500000
>> [084h 0132 002h] PCI Segment Group : 0000
>> [086h 0134 002h] Virtualization Info : 0000
>> [088h 0136 004h] Attributes : 00048000
>> [08Ch 0140 008h] EFR Image : 246577EFA2254AFA
>> [094h 0148 008h] Reserved : 0000000000000000
>
> So the platform doesn't support x2APIC, but it's no problem.
> GALog should be supported.
Correct.
>
> I added a printk for the MMIO_STATUS_OFFSET register after
> the wait loop, and a WARN_ON(1) at the end of
> iommu_ga_log_enable() to find all call chains.
> Below are the important parts of the log, it shows on resume
> iommu_ga_log_enable() is called twice:
This is very useful information. Thanks for tracking it down.
>
> 1. from lapic_resume() syscore_ops via
> irq_remapping_reenable() -> amd_iommu_reenable()
Looking into the code looks like at this stage IOMMU should enable interrupt
handling and in second call it should DMA remapping support.
>
> 2. from amd_iommu_resume() syscore_ops
>
> The first time works, the second time fails.
> amd_iommu_resume() calls early_enable_iommu() -> iommu_disable(),
> maybe this double enable+disable in quick succession triggers
> the problem?
Possible. Let me check with HW folks.
>
> BTW, iommu_init_ga_log() is called everytime in
> enable_iommus_vapic() and allocates new ga_log
> and ga_log_tail buffers, but the previous allocation
> is never freed.
Thanks for reporting. I am aware of this and have patches. I will post it soon.
If you have cycles, Can you try below patch (untested patch we will test it
internally next week)?
<--
commit fd6196203c8637951e56bf144015c020f57d5a34
Author: Vasant Hegde <vasant.hegde@amd.com>
Date: Sat Feb 21 19:48:59 2026 +0530
iommu/amd: Skip IOMMU re-initialization if already enabled during resume
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
index 384c90b4f90a..eb5bff024f95 100644
--- a/drivers/iommu/amd/init.c
+++ b/drivers/iommu/amd/init.c
@@ -3058,15 +3058,23 @@ static void disable_iommus(void)
static void amd_iommu_resume(void *data)
{
struct amd_iommu *iommu;
+ u64 ctrl;
+ bool enable_intr = false;
- for_each_iommu(iommu)
+ for_each_iommu(iommu) {
+ ctrl = readq(iommu->mmio_base + MMIO_CONTROL_OFFSET);
+ if (ctrl & BIT_ULL(CONTROL_IOMMU_EN))
+ continue;
+
+ enable_intr = true;
iommu_apply_resume_quirks(iommu);
- /* re-load the hardware */
- for_each_iommu(iommu)
+ /* re-load the hardware */
early_enable_iommu(iommu);
+ }
- amd_iommu_enable_interrupts();
+ if (enable_intr)
+ amd_iommu_enable_interrupts();
}
static int amd_iommu_suspend(void *data)
>
>
> Best Regards,
> Johannes
>
>
>
> Log excerpts:
> At bootup:
>
> [ 2.609023] [ T1] AMD-Vi: Extended features (0x246577efa2254afa, 0x0): PPR NX GT [5] IA GA PC GA_vAPIC
> [ 2.609036] [ T1] AMD-Vi: Interrupt remapping enabled
> [ 2.643865] [ T1] AMD-Vi: iommu_ga_log_enable status 00000118
>
> [ 2.643887] [ T1] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#4: swapper/0/1
> [ 2.644009] [ T1] Call Trace:
> [ 2.644015] [ T1] <TASK>
> [ 2.644021] [ T1] iommu_go_to_state+0xb20/0x1830
> [ 2.644031] [ T1] ? __pfx_pci_iommu_init+0x10/0x10
> [ 2.644039] [ T1] pci_iommu_init+0x15/0x40
> [ 2.644047] [ T1] do_one_initcall+0x5b/0x310
>
> [ 2.644137] [ T1] AMD-Vi: Virtual APIC enabled
>
>
> S3 suspend + resume:
>
> [ 55.915000] [ T3615] ACPI: PM: Low-level resume complete
> [ 55.915029] [ T3615] ACPI: PM: Restoring platform NVS memory
> [ 58.883988] [ T3615] AMD-Vi: iommu_ga_log_enable status 00000118
>
> [ 58.883997] [ T3615] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#0: pm-suspend/3615
>
> [ 58.884026] [ T3615] Call Trace:
> [ 58.884028] [ T3615] <TASK>
> [ 58.884030] [ T3615] amd_iommu_reenable+0x57/0x70
> [ 58.884034] [ T3615] lapic_resume+0x176/0x260
> [ 58.884038] [ T3615] syscore_resume+0x5c/0x190
> [ 58.884040] [ T3615] suspend_devices_and_enter+0x752/0x870
> [ 58.884044] [ T3615] pm_suspend.cold+0x2e1/0x35f
>
> [ 58.884167] [ T3615] AMD-Vi: Virtual APIC enabled
> [ 63.874343] [ T3615] AMD-Vi: iommu_ga_log_enable status 00000118
>
> [ 63.874351] [ T3615] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#0: pm-suspend/3615
>
> [ 63.874382] [ T3615] Call Trace:
> [ 63.874384] [ T3615] <TASK>
> [ 63.874386] [ T3615] syscore_resume+0x5c/0x190
> [ 63.874388] [ T3615] suspend_devices_and_enter+0x752/0x870
> [ 63.874391] [ T3615] pm_suspend.cold+0x2e1/0x35f
> [ 63.874394] [ T3615] state_store+0x6b/0xd0
> [ 63.874398] [ T3615] kernfs_fop_write_iter+0x159/0x210
> [ 63.874401] [ T3615] vfs_write+0x270/0x4c0
> [ 63.874407] [ T3615] ksys_write+0x73/0xf0
>
> [ 63.874563] [ T3615] AMD-Vi: Virtual APIC enabled
>
>
> S4 hibernate + resume:
>
> [ 113.664694] [ T4023] PM: hibernation: Normal pages needed: 594162 + 1024, available pages: 15549652
> [ 114.020974] [ T4023] PM: hibernation: free pages cleared after restore
> [ 114.020993] [ T4023] ACPI: PM: Restoring platform NVS memory
> [ 115.909880] [ T4023] AMD-Vi: iommu_ga_log_enable status 00000118
>
> [ 115.909892] [ T4023] WARNING: drivers/iommu/amd/init.c:956 at amd_iommu_enable_interrupts.cold+0xf/0x9d, CPU#0: pm-hibernate/4023
>
> [ 115.909926] [ T4023] Call Trace:
> [ 115.909928] [ T4023] <TASK>
> [ 115.909931] [ T4023] amd_iommu_reenable+0x57/0x70
> [ 115.909936] [ T4023] lapic_resume+0x176/0x260
> [ 115.909940] [ T4023] syscore_resume+0x5c/0x190
> [ 115.909943] [ T4023] hibernation_snapshot+0x292/0x590
> [ 115.909947] [ T4023] hibernate.cold+0x110/0x491
> [ 115.909950] [ T4023] state_store+0xce/0xd0
> [ 115.909954] [ T4023] kernfs_fop_write_iter+0x159/0x210
> [ 115.909958] [ T4023] vfs_write+0x270/0x4c0
> [ 115.909964] [ T4023] ksys_write+0x73/0xf0
>
> [ 115.910063] [ T4023] AMD-Vi: Virtual APIC enabled
> [ 142.633907] [ T4023] AMD-Vi: iommu_ga_log_enable status 00000018
> [ 142.633912] [ T4023] ------------[ cut here ]------------
> [ 142.633912] [ T4023] i >= MMIO_STATUS_TIMEOUT
> [ 142.633913] [ T4023] WARNING: drivers/iommu/amd/init.c:953 at amd_iommu_enable_interrupts+0x4d2/0x500, CPU#0: pm-hibernate/4023
>
> [ 142.633937] [ T4023] Call Trace:
> [ 142.633938] [ T4023] <TASK>
> [ 142.633939] [ T4023] syscore_resume+0x5c/0x190
> [ 142.633941] [ T4023] hibernation_snapshot+0x292/0x590
> [ 142.633943] [ T4023] hibernate.cold+0x110/0x491
> [ 142.633945] [ T4023] state_store+0xce/0xd0
> [ 142.633948] [ T4023] kernfs_fop_write_iter+0x159/0x210
> [ 142.633950] [ T4023] vfs_write+0x270/0x4c0
> [ 142.633955] [ T4023] ksys_write+0x73/0xf0
>
> [ 142.634072] [ T4023] LVT offset 0 assigned for vector 0x400
> [ 142.634583] [ T4023] Enabling non-boot CPUs ...
>
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-21 14:31 ` Vasant Hegde
@ 2026-02-21 20:28 ` Johannes Stezenbach
2026-02-23 8:49 ` Vasant Hegde
0 siblings, 1 reply; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-21 20:28 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Hi Vasant,
On Sat, Feb 21, 2026 at 08:01:16PM +0530, Vasant Hegde wrote:
> We have managed to reproduce the issue internally.
>
>
> On 2/5/2026 7:35 PM, Johannes Stezenbach wrote:
> > On Wed, Feb 04, 2026 at 04:16:51PM +0100, Johannes Stezenbach wrote:
> >>
> >> Side note: I wanted to check AMD documents at https://docs.amd.com/
> >> but the "Create Account" button doesn't work. :-(
> >> (And why do they require an account anyway, Intel and ARM don't...)
> >
> > Eventually I could download the "AMD I/O Virtualization Technology
> > (IOMMU) Specification" document (link on https://uefi.org/acpi
> > is stale, BTW).
>
>
> Latest public spec -> https://docs.amd.com/v/u/en-US/48882_3.10_PUB
Yeah, found it already. I guess I used the wrong search terms,
trying to find docs for the 8700G. Later I also found the
"AMD64 Architecture Programmer’s Manual Volume 2: System Programming"
which has info on the APIC/xAPIC/x2APIC.
> If you have cycles, Can you try below patch (untested patch we will test it
> internally next week)?
I tried it with 6.19.3, doesn't seem to work reliably, but the
results are mixed, sometimes seems to work, sometimes doesn't.
(Trying a mix of suspend and hibernate, and hibernate mutiple times.)
I met the familiar
[ 301.963784][ T5153] i >= MMIO_STATUS_TIMEOUT
[ 301.963786][ T5153] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hiber
nate/5153
...
[ 302.304252][ T5153] Call Trace: [ 302.312118][ T5153] <TASK>
[ 302.319113][ T5153] amd_iommu_reenable+0x10/0x20
[ 302.330910][ T5153] lapic_resume+0x176/0x260
on hibernation entry (doesn't show up in dmesg, needs serial
console) and also on hibernation resume after image loading
(this shows up in dmesg).
Thanks,
Johannes
> <--
> commit fd6196203c8637951e56bf144015c020f57d5a34
> Author: Vasant Hegde <vasant.hegde@amd.com>
> Date: Sat Feb 21 19:48:59 2026 +0530
>
> iommu/amd: Skip IOMMU re-initialization if already enabled during resume
>
> Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
>
> diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
> index 384c90b4f90a..eb5bff024f95 100644
> --- a/drivers/iommu/amd/init.c
> +++ b/drivers/iommu/amd/init.c
> @@ -3058,15 +3058,23 @@ static void disable_iommus(void)
> static void amd_iommu_resume(void *data)
> {
> struct amd_iommu *iommu;
> + u64 ctrl;
> + bool enable_intr = false;
>
> - for_each_iommu(iommu)
> + for_each_iommu(iommu) {
> + ctrl = readq(iommu->mmio_base + MMIO_CONTROL_OFFSET);
> + if (ctrl & BIT_ULL(CONTROL_IOMMU_EN))
> + continue;
> +
> + enable_intr = true;
> iommu_apply_resume_quirks(iommu);
>
> - /* re-load the hardware */
> - for_each_iommu(iommu)
> + /* re-load the hardware */
> early_enable_iommu(iommu);
> + }
>
> - amd_iommu_enable_interrupts();
> + if (enable_intr)
> + amd_iommu_enable_interrupts();
> }
>
> static int amd_iommu_suspend(void *data)
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-21 12:51 ` Vasant Hegde
@ 2026-02-23 6:17 ` Naveen N Rao
0 siblings, 0 replies; 19+ messages in thread
From: Naveen N Rao @ 2026-02-23 6:17 UTC (permalink / raw)
To: Vasant Hegde
Cc: Johannes Stezenbach, iommu, Joerg Roedel, Suravee Suthikulpanit,
Mario Limonciello
On Sat, Feb 21, 2026 at 06:21:52PM +0530, Vasant Hegde wrote:
> Hi Johannes,
>
> On 2/3/2026 5:10 PM, Johannes Stezenbach wrote:
> > On Tue, Feb 03, 2026 at 11:08:49AM +0530, Vasant Hegde wrote:
> >> On 1/28/2026 3:01 PM, Johannes Stezenbach wrote:
> >>>
> >>>> [0.000] [ 343.790320][ T4340] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/4340
> >>>
> >>> - is it Linux or firmware bug?
> >>> - if Linux bug: please let me know what to do to help debug it
> >>> - if firmware bug: what additional tests to run; how to add a quirk
> >>>
> >>> What's the downside of amd_iommu_intr=legacy? Does it only
> >>> affect kvm guests? What's the relationship with x2APIC?
> >>
> >> If you pass `legacy`, then it only affects kvm. It will not accelerate
> >> interrupts to guest.
> >>
> >> interrupt acceleration has two modes:
> >> AVIC works with xAPIC
> >> X2AVIC works with X2APIC.
> >>
> >> Generally BIOS will automatically enables appropriate acceleration mode.
> >
> > It is strange because dmesg says:
> >
> > [ 2.647593] [ T1] kvm_amd: AVIC enabled
> > [ 2.647598] [ T1] kvm_amd: x2AVIC enabled (max 512 vCPUs)
> >
> > but no message about x2APIC. If I enable x2APIC in BIOS (default
> > setting is "auto", other settings are "enable" or "disable") then
> > there is a message about x2APIC. So it seems BIOS default is
> > to have x2APIC disabled.
That is indeed weird - not really sure why x2APIC isn't enabled by
default on that platform, or why amdgpu interrupts don't work with it.
>
> Hmmm. This may be OK as AVIC/x2AVIC is used for guest interrupt delivery.
>
> @Naveen, Can you look confirm is this config is fine?
With respect to x2AVIC, it will be enabled by the kernel as long as the
platform says it supports it. It will obviously only kick in for guests
running in x2APIC mode.
- Naveen
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-21 20:28 ` Johannes Stezenbach
@ 2026-02-23 8:49 ` Vasant Hegde
2026-02-23 9:09 ` Johannes Stezenbach
0 siblings, 1 reply; 19+ messages in thread
From: Vasant Hegde @ 2026-02-23 8:49 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Hi Johannes,
On 2/22/2026 1:58 AM, Johannes Stezenbach wrote:
> Hi Vasant,
>
> On Sat, Feb 21, 2026 at 08:01:16PM +0530, Vasant Hegde wrote:
>> We have managed to reproduce the issue internally.
>>
>>
>> On 2/5/2026 7:35 PM, Johannes Stezenbach wrote:
>>> On Wed, Feb 04, 2026 at 04:16:51PM +0100, Johannes Stezenbach wrote:
>>>>
>>>> Side note: I wanted to check AMD documents at https://docs.amd.com/
>>>> but the "Create Account" button doesn't work. :-(
>>>> (And why do they require an account anyway, Intel and ARM don't...)
>>>
>>> Eventually I could download the "AMD I/O Virtualization Technology
>>> (IOMMU) Specification" document (link on https://uefi.org/acpi
>>> is stale, BTW).
>>
>>
>> Latest public spec -> https://docs.amd.com/v/u/en-US/48882_3.10_PUB
>
> Yeah, found it already. I guess I used the wrong search terms,
> trying to find docs for the 8700G. Later I also found the
> "AMD64 Architecture Programmer’s Manual Volume 2: System Programming"
> which has info on the APIC/xAPIC/x2APIC.
>
>> If you have cycles, Can you try below patch (untested patch we will test it
>> internally next week)?
>
> I tried it with 6.19.3, doesn't seem to work reliably, but the
> results are mixed, sometimes seems to work, sometimes doesn't.
> (Trying a mix of suspend and hibernate, and hibernate mutiple times.)
hmmm. Is there any pattern (like hibernate -> suspend failure) ?
Also do we have any other interesting message in dmesg?
I went through complete init code today. I don't see any other suspicious thing.
(disable -> enable sequence is proper).
-Vasant
>
> I met the familiar
>
> [ 301.963784][ T5153] i >= MMIO_STATUS_TIMEOUT
> [ 301.963786][ T5153] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hiber
> nate/5153
> ...
> [ 302.304252][ T5153] Call Trace: [ 302.312118][ T5153] <TASK>
> [ 302.319113][ T5153] amd_iommu_reenable+0x10/0x20
> [ 302.330910][ T5153] lapic_resume+0x176/0x260
>
> on hibernation entry (doesn't show up in dmesg, needs serial
> console) and also on hibernation resume after image loading
> (this shows up in dmesg).
>
>
> Thanks,
> Johannes
>
>
>> <--
>> commit fd6196203c8637951e56bf144015c020f57d5a34
>> Author: Vasant Hegde <vasant.hegde@amd.com>
>> Date: Sat Feb 21 19:48:59 2026 +0530
>>
>> iommu/amd: Skip IOMMU re-initialization if already enabled during resume
>>
>> Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
>>
>> diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
>> index 384c90b4f90a..eb5bff024f95 100644
>> --- a/drivers/iommu/amd/init.c
>> +++ b/drivers/iommu/amd/init.c
>> @@ -3058,15 +3058,23 @@ static void disable_iommus(void)
>> static void amd_iommu_resume(void *data)
>> {
>> struct amd_iommu *iommu;
>> + u64 ctrl;
>> + bool enable_intr = false;
>>
>> - for_each_iommu(iommu)
>> + for_each_iommu(iommu) {
>> + ctrl = readq(iommu->mmio_base + MMIO_CONTROL_OFFSET);
>> + if (ctrl & BIT_ULL(CONTROL_IOMMU_EN))
>> + continue;
>> +
>> + enable_intr = true;
>> iommu_apply_resume_quirks(iommu);
>>
>> - /* re-load the hardware */
>> - for_each_iommu(iommu)
>> + /* re-load the hardware */
>> early_enable_iommu(iommu);
>> + }
>>
>> - amd_iommu_enable_interrupts();
>> + if (enable_intr)
>> + amd_iommu_enable_interrupts();
>> }
>>
>> static int amd_iommu_suspend(void *data)
>>
>>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-23 8:49 ` Vasant Hegde
@ 2026-02-23 9:09 ` Johannes Stezenbach
2026-02-24 8:56 ` Vasant Hegde
0 siblings, 1 reply; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-23 9:09 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Hi Vasant,
On Mon, Feb 23, 2026 at 02:19:53PM +0530, Vasant Hegde wrote:
> On 2/22/2026 1:58 AM, Johannes Stezenbach wrote:
> > On Sat, Feb 21, 2026 at 08:01:16PM +0530, Vasant Hegde wrote:
> >> If you have cycles, Can you try below patch (untested patch we will test it
> >> internally next week)?
> >
> > I tried it with 6.19.3, doesn't seem to work reliably, but the
> > results are mixed, sometimes seems to work, sometimes doesn't.
> > (Trying a mix of suspend and hibernate, and hibernate mutiple times.)
>
>
> hmmm. Is there any pattern (like hibernate -> suspend failure) ?
> Also do we have any other interesting message in dmesg?
>
> I went through complete init code today. I don't see any other suspicious thing.
> (disable -> enable sequence is proper).
I didn't have enough patience to test hibernation over and over
to find a pattern. Here are the relevant parts of the serial
console log (binary gunk should be from firmware port 80 debug):
[ 271.070351][ T5153] PM: hibernation: hibernation entry
[ 271.127196][ T4386] Filesystems sync: 0.007 seconds
[ 271.139941][ T5153] Freezing user space processes
[ 271.152926][ T5153] Freezing user space processes completed (elapsed 0.001 seconds)
[ 271.172069][ T5153] OOM killer disabled.
[ 271.182016][ T5153] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
[ 271.201821][ T5153] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
[ 271.220600][ T5153] PM: hibernation: Marking nosave pages: [mem 0x09aff000-0x09ffffff]
[ 271.241416][ T5153] PM: hibernation: Marking nosave pages: [mem 0x0a200000-0x0a23bfff]
[ 271.261191][ T5153] PM: hibernation: Marking nosave pages: [mem 0x8567f000-0x977fefff]
[ 271.281450][ T5153] PM: hibernation: Marking nosave pages: [mem 0x99ffa000-0x99ffcfff]
[ 271.301281][ T5153] PM: hibernation: Marking nosave pages: [mem 0x9a000000-0xffffffff]
[ 271.321347][ T5153] PM: hibernation: Basic memory bitmaps created
[ 271.338107][ T5153] PM: hibernation: Preallocating image memory
[ 273.425730][ T5153] PM: hibernation: Allocated 589799 pages for snapshot
[ 273.442589][ T5153] PM: hibernation: Allocated 2359196 kbytes in 2.07 seconds (1139.70 MB/s)
[ 273.463785][ T5153] Freezing remainHng freezable tasks
[ 273.478947][ T5153] Freezing remaining freezable tasks completed (elapsed 0.002 seconds)
^F^A[ 274.580195][ T5153] ACPI: PM: Preparing to enter system sleep state S4
<E7><E8>^D[ 274.907274][ T5153] ACPI: PM: Saving platform NVS memory
[ 274.936551][ T5153] Disabling non-boot CPUs ...
[ 274.949975][ T5153] smpboot: CPU 15 is now offline
[ 274.964722][ T5153] smpboot: CPU 14 is now offline
[ 274.979649][ T5103] smpboot: CPU 13 is now offline
[ 274.994576][ T5153] smpboot: CPU 12 is now offline
[ 275.009181][ T5153] smpboot: CPU 11 is now offline
[ 275.024337][ T5153] smpboot: CPU 10 is now offline
[ 275.038977][ T5153] smpboot: CPU 9 is now offline
[ 275.053983][ T5153] smpboot: CPU 8 is now offline
[ 275.067245][ T5153] Spectre V2 : Update user space SMT mitigation: STIBP off
[ 275.086852][ T5153] smpboot: CPU 7 is now offline
[ 275.101923][ T5153] smpboot: CPU 6 is now offline
[ 275.116602][ T5153] smpboot: CPU 5 is now offline
[ 275.131178][ T5153] smpboot: CPU 4 is now offline
[ 275.145279][ T5153] smpboot: CPU 3 is nor offline
[ 275.159837][ T5153] smpboot: CPU 2 is now offline
[ 275.174462][ T5153] smpboot: CPU 1 is now offline
[ 277.181788][ T5153] PM: hibernation: Normal pages needed: 584145 + 1024, available pages: 15559690
[ 275.188280][ T5153] ACPI: PM: Restoring platform NVS memory
[ 301.950493][ T5153] ------------[ cut here ]------------
[ 301.963784][ T5153] i >= MMIO_STATUS_TIMEOUT
[ 301.963786][ T5153] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/5153
[ 302.003074][ T5153] Modules linked in: nct6683 iwlmvm iwlwifi
[ 302.017499][ T5153] CPU: 0 UID: 0 PID: 5153 Comm: pm-hibernate Not tainted 6.19.dirty #55 PREEMPT
[ 302.040428][ T5153] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/2025
[ 302.059648][ T5153] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
[ 302.075812][ T5153] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 60 c8 00 00 48 8b bd d0 00 00 00 e8 54 c8 00 00 48 8b 15 05 03 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 f7 02 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
[ 302.124729][ T5153] RSP: 0018:ffffa4474add7ad0 EFLAGS: 00010046
[ 302.139582][ T5153] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
[ 302.159238][ T5153] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[ 302.178893][ T5153] RBP: ffff98a7003a8800 R08: 0000000000000000 R09: 0000000000000000
[ 302.198548][ T5153] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
[ 302.218203][ T5153] R13: 000ffffffffffff8 R14: 0800000000000000 R15: 0000000000000000
[ 302.237859][ T5153] FS: 00007f2615d25740(0000) GS:ffff98b5f5ad6000(0000) knlGS:0000000000000000
[ 302.259916][ T5153] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 302.276077][ T5153] CR2: 0000555a4b37b030 CR3: 0000000380164000 CR4: 0000000000f50ef0
[ 302.295733][ T5153] PKRU: 55555554
[ 302.304252][ T5153] Call Trace:
[ 302.312118][ T5153] <TASK>
[ 302.319113][ T5153] amd_iommu_reenable+0x10/0x20
[ 302.330910][ T5153] lapic_resume+0x176/0x260
[ 302.341837][ T5153] syscore_resume+0x5c/0x190
[ 302.352981][ T5153] hibernation_snapshot+0x292/0x590
[ 302.365653][ T5153] hibernate.cold+0x110/0x491
[ 302.377015][ T5153] state_store+0xce/0xd0
[ 302.387285][ T5153] kernfs_fop_write_iter+0x159/0x210
[ 302.400177][ T5153] vfs_write+0x270/0x4c0
[ 302.410449][ T515^R] ksys_write+0x73/0xf0
[ 302.420499][ T5153] do_syscall_64+0x7f/0xf20
^D^C^H[ 31.544960][ T2270] PM: Image signature found, resuming
[ 31.558892][ T2270] PM: hibernation: resume from hibernation
[ 31.575531][ T2270] random: crng reseeded on system resumption
[ 31.576152][ T2270] Freezing user space processes
[ 31.577234][ T2270] Freezing user space processes completed (elapsed 0.001 seconds)
[ 31.577236][ T2270] OOM killer disabled.
[ 31.577237][ T2270] Freezing remaining freezable tasks
[ 31.578026][ T2270] Freezing remaining freezable tasks completed (elapsed 0.000 seconds)
[ 31.578221][ T2270] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
[ 31.578223][ T2270] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
[ 31.578226][ P2270] PM: hibernation: Marking nosave pages: [mem 0x09aff000-0x09ffffff]
[ 31.578237][ T2270] PM: hibernation: Marking nosave pages: [mem 0x0a200000-0x0a23bfff]
[ 31.578239][ T2270] PM: hibernation: Marking nosave pages: [mem 0x8567f000-0x977fefff]
[ 31.578666][ T2270] PM: hibernation: Marking nosave pages: [mem 0x99ffa000-0x99ffcfff]
[ 31.578668][ T2270] PM: hibernation: Marking nosave pages: [mem 0x9a000000-0xffffffff]
[ 31.578927][ T2270] PM: hibernation: Basic memory bitmaps created
[ 31.597255][ T2^R70] PM: Using 3 thread(s) for lzo decompression
[ 31.849756][ T2270] PM: Loading and decompressing image data (436278 pages)...
[ 31.892399][ T2270] PM: Image loading progress: 0%
[ 32.141062][ T2270] PM: Hmage loading progress: 10%
[ 32.275096][ T2270] PM: Image loading progress: 20%
[ 32.403747][ T2270] PM: Image loading progress: 30%
[ 32.533269][ T2270] PM: Image loading progress: 40%
[ 32.615^R77][ T2270] PM: Image loading progress: 50%
[ 32.693107][ T2270] PM: Image loading progress: 60%
[ 32.772241][ T2270] PM: Image loading progress: 70%
[ 32.853502][ T2270] PM: Image loading progress: 80%
[ 32.936477][ T2270] PH: Image loading progress: 90%
[ 33.004355][ T2270] PM: Image loading progress: 100%
[ 33.016843][ T2270] PM: Image loading done
[ 33.027094][ T2270] PM: hibernation: Read 1745112 kbytes in 1.14 seconds (1530.80 MB/s)
[ 33.049880][ T2270] PM: Image successfully loaded
^D^F^A[ 33.234650][ T2270] Disabling non-boot CPUs ...
[ 33.276347][ T2270] smpboot: CPU 15 is now offline
[ 33.329653][ T2270] smpboot: CPU 14 is now offline
[ 33.383096][ T2270] smpboot: CPU 13 is now offline
[ 33.436317][ T2270] smpboot: CPU 12 is now offline
[ 33.479615][ T2270] smpboot: CPU 11 is now offline
[ 33.522934][ T2270] smpboot: CPU 10 is now offline
[ 33.566275][ T2270] smpboot: CPU 9 is now offline
[ 33.6164^P0][ T2270] smpboot: CPU 8 is now offline
[ 33.6294^P0][ T2270] Spectre V2 : Update user space SMP mitigation: STIBP off
[ 33.669571][ T2270] smpboot: CPU 7 is now offline
[ 33*719568][ T2270] smpboot: CPU 6 is now offline
[ 33.772924][ T2270] smpboot: CPU 5 is now offlhne
[ 33.822900][ T2270] smpboot: CPU 4 is now offline
[ 33.872896][ T2270] smpboot: CPU 3 is now offline
[ 33.899500][ T2270] smpboot: CPU 2 is now offline
[ 33.936262][ P2270] smpboot: CPU 1 is now offline
[ 277.553155][ T5152] PM: hibernation: free pages cleared after restore
[ 277.569012][ T5153] ACPI: PM: Restoring platform NVS memory
[ 303.356792][ T5153] ------------[ cut here ]------------
[ 303.369833][ T5153] H >= MMIO_STATUS_TIMEOUT
[ 303.369835][ T5153] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/5153
[ 303.408317][ T5153] Modules linked in: nct6683 iwlmvm iwlwifi
[ 303.422433][ T5153] CPU: 0 UID: 0 PID: 5153 Comm: pm-hibernate Not tainted 6.19.3-dirty #55 PREEMPT
[ 303.444883][ T5153] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/202[ 303.463694][ T5153] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
[ 303.479520][ T5153] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 60 c8 00 00 48 8b bd d0 00 00 00 e8 54 c8 00 00 48 8b 15 05 03 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 f7 02 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
[ 303.527402][ T5153] RSP: 0018:ffffa4474add7ad0 EFLAGS: 00010046
[ 303.541945][ T5153] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
[ 303.561186][ T5153] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[ 303.580422][ T5153] RBP: ffff98a7003a8800 R08: 0000000000000000 R09: 0000000000000000
[ 303.599660][ T5153] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
[ 303.618898][ T5153] R13: 000ffffffffffff8 R14: 080000000000000^P R15: 0000000000000000
[ 303.638141][ T5153] FS: 00007f2615d25740(0000) GS:ffff98b5f5ad6000(0000) knlGS:0000000000000000
[ 303.659729][ T5153] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 303.675546][ T5153] CR2: 0000555a4b37b030 CR3: 0000000380164000 CR4: 0000000000f50ef0
[ 303.694784][ T5153] PKRU: 55555554
[ 303.703127][ T5153] Call Trace:
[ 303.710826][ T5153] <TASK>
[ 303.717671][ T5153] amd_iommu_reenable+0x10/0x20
[ 303.729217][ T5153] lapic_resume+0x176/0x260
[ 303.739921][ T5153] syscore_resume+0x5c/0x190
[ 303.750827][ T5153] hibernation_snapshot+0x292/0x590
[ 303.763239][ T5153] hibernate.cold+0x110/0x491
[ 303.774360][ T5153] state_store+0xce/0xd0
[ 303.784412][ T5153] kernfs_fop_write_iter+0x159/0x210
[ 303.797038][ T5153] vfs_write+0x270/0x4c0
[ 303.807109][ T5153] ksys_write+0x73/0xf0
[ 303.816945][ T5153] do_syscall_64+0x7f/0xf20
Without the patch, there had been double
[ 106.830788][ T4108] AMD-Vi: Virtual APIC enabled
messages. It's suspicious that these messages are missing
completely in the failure case?
Thanks,
Johannes
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-23 9:09 ` Johannes Stezenbach
@ 2026-02-24 8:56 ` Vasant Hegde
2026-02-24 9:11 ` Johannes Stezenbach
0 siblings, 1 reply; 19+ messages in thread
From: Vasant Hegde @ 2026-02-24 8:56 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Hi Johannes,
On 2/23/2026 2:39 PM, Johannes Stezenbach wrote:
> Hi Vasant,
>
> On Mon, Feb 23, 2026 at 02:19:53PM +0530, Vasant Hegde wrote:
>> On 2/22/2026 1:58 AM, Johannes Stezenbach wrote:
>>> On Sat, Feb 21, 2026 at 08:01:16PM +0530, Vasant Hegde wrote:
>>>> If you have cycles, Can you try below patch (untested patch we will test it
>>>> internally next week)?
>>>
>>> I tried it with 6.19.3, doesn't seem to work reliably, but the
>>> results are mixed, sometimes seems to work, sometimes doesn't.
>>> (Trying a mix of suspend and hibernate, and hibernate mutiple times.)
>>
>>
>> hmmm. Is there any pattern (like hibernate -> suspend failure) ?
>> Also do we have any other interesting message in dmesg?
>>
>> I went through complete init code today. I don't see any other suspicious thing.
>> (disable -> enable sequence is proper).
>
> I didn't have enough patience to test hibernation over and over
Its fine. I will see if we can reproduce it internally and narrow it down.
> to find a pattern. Here are the relevant parts of the serial
> console log (binary gunk should be from firmware port 80 debug):
>
> [ 271.070351][ T5153] PM: hibernation: hibernation entry
> [ 271.127196][ T4386] Filesystems sync: 0.007 seconds
> [ 271.139941][ T5153] Freezing user space processes
> [ 271.152926][ T5153] Freezing user space processes completed (elapsed 0.001 seconds)
> [ 271.172069][ T5153] OOM killer disabled.
> [ 271.182016][ T5153] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
> [ 271.201821][ T5153] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
> [ 271.220600][ T5153] PM: hibernation: Marking nosave pages: [mem 0x09aff000-0x09ffffff]
> [ 271.241416][ T5153] PM: hibernation: Marking nosave pages: [mem 0x0a200000-0x0a23bfff]
> [ 271.261191][ T5153] PM: hibernation: Marking nosave pages: [mem 0x8567f000-0x977fefff]
> [ 271.281450][ T5153] PM: hibernation: Marking nosave pages: [mem 0x99ffa000-0x99ffcfff]
> [ 271.301281][ T5153] PM: hibernation: Marking nosave pages: [mem 0x9a000000-0xffffffff]
> [ 271.321347][ T5153] PM: hibernation: Basic memory bitmaps created
> [ 271.338107][ T5153] PM: hibernation: Preallocating image memory
> [ 273.425730][ T5153] PM: hibernation: Allocated 589799 pages for snapshot
> [ 273.442589][ T5153] PM: hibernation: Allocated 2359196 kbytes in 2.07 seconds (1139.70 MB/s)
> [ 273.463785][ T5153] Freezing remainHng freezable tasks
> [ 273.478947][ T5153] Freezing remaining freezable tasks completed (elapsed 0.002 seconds)
> ^F^A[ 274.580195][ T5153] ACPI: PM: Preparing to enter system sleep state S4
> <E7><E8>^D[ 274.907274][ T5153] ACPI: PM: Saving platform NVS memory
> [ 274.936551][ T5153] Disabling non-boot CPUs ...
> [ 274.949975][ T5153] smpboot: CPU 15 is now offline
> [ 274.964722][ T5153] smpboot: CPU 14 is now offline
> [ 274.979649][ T5103] smpboot: CPU 13 is now offline
> [ 274.994576][ T5153] smpboot: CPU 12 is now offline
> [ 275.009181][ T5153] smpboot: CPU 11 is now offline
> [ 275.024337][ T5153] smpboot: CPU 10 is now offline
> [ 275.038977][ T5153] smpboot: CPU 9 is now offline
> [ 275.053983][ T5153] smpboot: CPU 8 is now offline
> [ 275.067245][ T5153] Spectre V2 : Update user space SMT mitigation: STIBP off
> [ 275.086852][ T5153] smpboot: CPU 7 is now offline
> [ 275.101923][ T5153] smpboot: CPU 6 is now offline
> [ 275.116602][ T5153] smpboot: CPU 5 is now offline
> [ 275.131178][ T5153] smpboot: CPU 4 is now offline
> [ 275.145279][ T5153] smpboot: CPU 3 is nor offline
> [ 275.159837][ T5153] smpboot: CPU 2 is now offline
> [ 275.174462][ T5153] smpboot: CPU 1 is now offline
> [ 277.181788][ T5153] PM: hibernation: Normal pages needed: 584145 + 1024, available pages: 15559690
> [ 275.188280][ T5153] ACPI: PM: Restoring platform NVS memory
> [ 301.950493][ T5153] ------------[ cut here ]------------
> [ 301.963784][ T5153] i >= MMIO_STATUS_TIMEOUT
> [ 301.963786][ T5153] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/5153
> [ 302.003074][ T5153] Modules linked in: nct6683 iwlmvm iwlwifi
> [ 302.017499][ T5153] CPU: 0 UID: 0 PID: 5153 Comm: pm-hibernate Not tainted 6.19.dirty #55 PREEMPT
> [ 302.040428][ T5153] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/2025
> [ 302.059648][ T5153] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
> [ 302.075812][ T5153] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 60 c8 00 00 48 8b bd d0 00 00 00 e8 54 c8 00 00 48 8b 15 05 03 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 f7 02 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
> [ 302.124729][ T5153] RSP: 0018:ffffa4474add7ad0 EFLAGS: 00010046
> [ 302.139582][ T5153] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
> [ 302.159238][ T5153] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> [ 302.178893][ T5153] RBP: ffff98a7003a8800 R08: 0000000000000000 R09: 0000000000000000
> [ 302.198548][ T5153] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
> [ 302.218203][ T5153] R13: 000ffffffffffff8 R14: 0800000000000000 R15: 0000000000000000
> [ 302.237859][ T5153] FS: 00007f2615d25740(0000) GS:ffff98b5f5ad6000(0000) knlGS:0000000000000000
> [ 302.259916][ T5153] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 302.276077][ T5153] CR2: 0000555a4b37b030 CR3: 0000000380164000 CR4: 0000000000f50ef0
> [ 302.295733][ T5153] PKRU: 55555554
> [ 302.304252][ T5153] Call Trace:
> [ 302.312118][ T5153] <TASK>
> [ 302.319113][ T5153] amd_iommu_reenable+0x10/0x20
> [ 302.330910][ T5153] lapic_resume+0x176/0x260
> [ 302.341837][ T5153] syscore_resume+0x5c/0x190
> [ 302.352981][ T5153] hibernation_snapshot+0x292/0x590
> [ 302.365653][ T5153] hibernate.cold+0x110/0x491
> [ 302.377015][ T5153] state_store+0xce/0xd0
> [ 302.387285][ T5153] kernfs_fop_write_iter+0x159/0x210
> [ 302.400177][ T5153] vfs_write+0x270/0x4c0
> [ 302.410449][ T515^R] ksys_write+0x73/0xf0
> [ 302.420499][ T5153] do_syscall_64+0x7f/0xf20
Is this hunk from suspend path?
>
>
>
>
> ^D^C^H[ 31.544960][ T2270] PM: Image signature found, resuming
> [ 31.558892][ T2270] PM: hibernation: resume from hibernation
> [ 31.575531][ T2270] random: crng reseeded on system resumption
> [ 31.576152][ T2270] Freezing user space processes
> [ 31.577234][ T2270] Freezing user space processes completed (elapsed 0.001 seconds)
> [ 31.577236][ T2270] OOM killer disabled.
> [ 31.577237][ T2270] Freezing remaining freezable tasks
> [ 31.578026][ T2270] Freezing remaining freezable tasks completed (elapsed 0.000 seconds)
> [ 31.578221][ T2270] PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
> [ 31.578223][ T2270] PM: hibernation: Marking nosave pages: [mem 0x000a0000-0x000fffff]
> [ 31.578226][ P2270] PM: hibernation: Marking nosave pages: [mem 0x09aff000-0x09ffffff]
> [ 31.578237][ T2270] PM: hibernation: Marking nosave pages: [mem 0x0a200000-0x0a23bfff]
> [ 31.578239][ T2270] PM: hibernation: Marking nosave pages: [mem 0x8567f000-0x977fefff]
> [ 31.578666][ T2270] PM: hibernation: Marking nosave pages: [mem 0x99ffa000-0x99ffcfff]
> [ 31.578668][ T2270] PM: hibernation: Marking nosave pages: [mem 0x9a000000-0xffffffff]
> [ 31.578927][ T2270] PM: hibernation: Basic memory bitmaps created
> [ 31.597255][ T2^R70] PM: Using 3 thread(s) for lzo decompression
> [ 31.849756][ T2270] PM: Loading and decompressing image data (436278 pages)...
> [ 31.892399][ T2270] PM: Image loading progress: 0%
> [ 32.141062][ T2270] PM: Hmage loading progress: 10%
> [ 32.275096][ T2270] PM: Image loading progress: 20%
> [ 32.403747][ T2270] PM: Image loading progress: 30%
> [ 32.533269][ T2270] PM: Image loading progress: 40%
> [ 32.615^R77][ T2270] PM: Image loading progress: 50%
> [ 32.693107][ T2270] PM: Image loading progress: 60%
> [ 32.772241][ T2270] PM: Image loading progress: 70%
> [ 32.853502][ T2270] PM: Image loading progress: 80%
> [ 32.936477][ T2270] PH: Image loading progress: 90%
> [ 33.004355][ T2270] PM: Image loading progress: 100%
> [ 33.016843][ T2270] PM: Image loading done
> [ 33.027094][ T2270] PM: hibernation: Read 1745112 kbytes in 1.14 seconds (1530.80 MB/s)
> [ 33.049880][ T2270] PM: Image successfully loaded
> ^D^F^A[ 33.234650][ T2270] Disabling non-boot CPUs ...
> [ 33.276347][ T2270] smpboot: CPU 15 is now offline
> [ 33.329653][ T2270] smpboot: CPU 14 is now offline
> [ 33.383096][ T2270] smpboot: CPU 13 is now offline
> [ 33.436317][ T2270] smpboot: CPU 12 is now offline
> [ 33.479615][ T2270] smpboot: CPU 11 is now offline
> [ 33.522934][ T2270] smpboot: CPU 10 is now offline
> [ 33.566275][ T2270] smpboot: CPU 9 is now offline
> [ 33.6164^P0][ T2270] smpboot: CPU 8 is now offline
> [ 33.6294^P0][ T2270] Spectre V2 : Update user space SMP mitigation: STIBP off
> [ 33.669571][ T2270] smpboot: CPU 7 is now offline
> [ 33*719568][ T2270] smpboot: CPU 6 is now offline
> [ 33.772924][ T2270] smpboot: CPU 5 is now offlhne
> [ 33.822900][ T2270] smpboot: CPU 4 is now offline
> [ 33.872896][ T2270] smpboot: CPU 3 is now offline
> [ 33.899500][ T2270] smpboot: CPU 2 is now offline
> [ 33.936262][ P2270] smpboot: CPU 1 is now offline
> [ 277.553155][ T5152] PM: hibernation: free pages cleared after restore
> [ 277.569012][ T5153] ACPI: PM: Restoring platform NVS memory
> [ 303.356792][ T5153] ------------[ cut here ]------------
> [ 303.369833][ T5153] H >= MMIO_STATUS_TIMEOUT
> [ 303.369835][ T5153] WARNING: drivers/iommu/amd/init.c:952 at amd_iommu_enable_interrupts+0x4c8/0x550, CPU#0: pm-hibernate/5153
> [ 303.408317][ T5153] Modules linked in: nct6683 iwlmvm iwlwifi
> [ 303.422433][ T5153] CPU: 0 UID: 0 PID: 5153 Comm: pm-hibernate Not tainted 6.19.3-dirty #55 PREEMPT
> [ 303.444883][ T5153] Hardware name: ASRock X600M-STX/X600M-STX, BIOS 4.14 10/01/202[ 303.463694][ T5153] RIP: 0010:amd_iommu_enable_interrupts+0x4c8/0x550
> [ 303.479520][ T5153] Code: fe ff ff 48 8b 85 b8 00 00 00 48 89 c7 e8 60 c8 00 00 48 8b bd d0 00 00 00 e8 54 c8 00 00 48 8b 15 05 03 c7 02 e9 de fc ff ff <0f> 0b 48 8b 15 f7 02 c7 02 e9 d0 fc ff ff 48 8b 7b 18 89 44 24 04
> [ 303.527402][ T5153] RSP: 0018:ffffa4474add7ad0 EFLAGS: 00010046
> [ 303.541945][ T5153] RAX: 0000000000000000 RBX: 00000000001e8480 RCX: 0000000000000000
> [ 303.561186][ T5153] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
> [ 303.580422][ T5153] RBP: ffff98a7003a8800 R08: 0000000000000000 R09: 0000000000000000
> [ 303.599660][ T5153] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000080000000
> [ 303.618898][ T5153] R13: 000ffffffffffff8 R14: 080000000000000^P R15: 0000000000000000
> [ 303.638141][ T5153] FS: 00007f2615d25740(0000) GS:ffff98b5f5ad6000(0000) knlGS:0000000000000000
> [ 303.659729][ T5153] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 303.675546][ T5153] CR2: 0000555a4b37b030 CR3: 0000000380164000 CR4: 0000000000f50ef0
> [ 303.694784][ T5153] PKRU: 55555554
> [ 303.703127][ T5153] Call Trace:
> [ 303.710826][ T5153] <TASK>
> [ 303.717671][ T5153] amd_iommu_reenable+0x10/0x20
> [ 303.729217][ T5153] lapic_resume+0x176/0x260
> [ 303.739921][ T5153] syscore_resume+0x5c/0x190
> [ 303.750827][ T5153] hibernation_snapshot+0x292/0x590
> [ 303.763239][ T5153] hibernate.cold+0x110/0x491
> [ 303.774360][ T5153] state_store+0xce/0xd0
> [ 303.784412][ T5153] kernfs_fop_write_iter+0x159/0x210
> [ 303.797038][ T5153] vfs_write+0x270/0x4c0
> [ 303.807109][ T5153] ksys_write+0x73/0xf0
> [ 303.816945][ T5153] do_syscall_64+0x7f/0xf20
>
>
> Without the patch, there had been double
Right. It was calling resume code twice and it was printing below log twice.
>
> [ 106.830788][ T4108] AMD-Vi: Virtual APIC enabled
>
> messages. It's suspicious that these messages are missing
> completely in the failure case?
Yeah. It will skip above message in failure path.
-Vasant
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-24 8:56 ` Vasant Hegde
@ 2026-02-24 9:11 ` Johannes Stezenbach
2026-03-05 16:50 ` Vasant Hegde
0 siblings, 1 reply; 19+ messages in thread
From: Johannes Stezenbach @ 2026-02-24 9:11 UTC (permalink / raw)
To: Vasant Hegde; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
On Tue, Feb 24, 2026 at 02:26:01PM +0530, Vasant Hegde wrote:
> On 2/23/2026 2:39 PM, Johannes Stezenbach wrote:
> > [ 271.070351][ T5153] PM: hibernation: hibernation entry
...
> > [ 302.420499][ T5153] do_syscall_64+0x7f/0xf20
>
> Is this hunk from suspend path?
As it says, it is hibernation entry.
BR,
Johannes
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: AMD IOMMU issue with hibernate on Asrock X600
2026-02-24 9:11 ` Johannes Stezenbach
@ 2026-03-05 16:50 ` Vasant Hegde
0 siblings, 0 replies; 19+ messages in thread
From: Vasant Hegde @ 2026-03-05 16:50 UTC (permalink / raw)
To: Johannes Stezenbach; +Cc: iommu, Joerg Roedel, Suravee Suthikulpanit
Johannes,
On 2/24/2026 2:41 PM, Johannes Stezenbach wrote:
> On Tue, Feb 24, 2026 at 02:26:01PM +0530, Vasant Hegde wrote:
>> On 2/23/2026 2:39 PM, Johannes Stezenbach wrote:
>>> [ 271.070351][ T5153] PM: hibernation: hibernation entry
> ...
>>> [ 302.420499][ T5153] do_syscall_64+0x7f/0xf20
>>
>> Is this hunk from suspend path?
>
> As it says, it is hibernation entry.
FYI. We are actively chasing this issue internally. We are working with BIOS and
HW folks to see if there is any BIOS settings which is causing this issue. I
will keep you posted.
-Vasant
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-03-05 16:51 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-26 14:54 AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
2026-01-26 15:02 ` Asrock X600 port80 UART Johannes Stezenbach
2026-01-28 9:31 ` AMD IOMMU issue with hibernate on Asrock X600 Johannes Stezenbach
2026-02-03 5:38 ` Vasant Hegde
2026-02-03 11:40 ` Johannes Stezenbach
2026-02-04 15:16 ` Johannes Stezenbach
2026-02-05 14:05 ` Johannes Stezenbach
2026-02-21 14:31 ` Vasant Hegde
2026-02-21 20:28 ` Johannes Stezenbach
2026-02-23 8:49 ` Vasant Hegde
2026-02-23 9:09 ` Johannes Stezenbach
2026-02-24 8:56 ` Vasant Hegde
2026-02-24 9:11 ` Johannes Stezenbach
2026-03-05 16:50 ` Vasant Hegde
2026-02-21 13:14 ` Vasant Hegde
2026-02-21 12:51 ` Vasant Hegde
2026-02-23 6:17 ` Naveen N Rao
2026-02-03 5:28 ` Vasant Hegde
2026-02-03 11:49 ` Johannes Stezenbach
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.