Bug 104854 - smu7_populate_single_firmware_entry fails to load powerplay firmware.
Summary: smu7_populate_single_firmware_entry fails to load powerplay firmware.
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-30 08:32 UTC by José Pekkarinen
Modified: 2019-11-19 08:29 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Initialization output on SMU firmware load. (7.90 KB, text/plain)
2018-03-08 20:22 UTC, José Pekkarinen
no flags Details
Right boot initialization (99.33 KB, text/x-log)
2018-03-09 07:36 UTC, José Pekkarinen
no flags Details
backtrace trying drm-4.17 (4.34 KB, text/plain)
2018-03-31 17:51 UTC, José Pekkarinen
no flags Details
boot process on 4.17.2. (123.79 KB, text/x-log)
2018-06-19 09:15 UTC, José Pekkarinen
no flags Details
dri config to work it around. (2.00 KB, text/plain)
2018-06-23 21:19 UTC, José Pekkarinen
no flags Details

Description José Pekkarinen 2018-01-30 08:32:11 UTC
Morning,

On a Lenovo ideapad 510s(Intel Kabylake + AMD Topaz), when unplugged from powercord, the following oops turn up, telling that is failing to load a firmware.

Jan 28 14:20:28 bee kernel: [   29.577034] amdgpu: [powerplay] smu not running, upload firmware again 
Jan 28 14:20:28 bee kernel: [   29.578329] BUG: unable to handle kernel paging request at ffffc91c00174fec
Jan 28 14:20:28 bee kernel: [   29.578377] IP: smu7_populate_single_firmware_entry.isra.3+0x68/0xc0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.578393] PGD 35d10a067 P4D 35d10a067 PUD 0 
Jan 28 14:20:28 bee kernel: [   29.578405] Oops: 0002 [#1] SMP PTI
Jan 28 14:20:28 bee kernel: [   29.578414] Modules linked in: vfio_pci vfio_virqfd udl loop bfq kvmgt vfio_mdev mdev vfio_iommu_type1 vfio i915 arc4 amdgpu(+) iwlmvm uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 mac80211 videobuf2_core videodev media x86_pkg
_temp_thermal intel_powerclamp coretemp kvm_intel kvm i2c_algo_bit rtsx_pci_sdmmc mmc_core joydev mousedev drm_kms_helper rtsx_pci_ms memstick wmi_bmof snd_hda_intel iwlwifi snd_hda_codec hci_uart ttm snd_hwdep snd_hda_core drm irqbypass crc32c_intel btintel snd_pcm ghas
h_clmulni_intel intel_cstate bluetooth cfg80211 intel_uncore snd_timer efi_pstore snd intel_rapl_perf evdev psmouse ideapad_laptop input_leds efivars serio_raw syscopyarea intel_lpss_acpi sysfillrect rtsx_pci sparse_keymap intel_lpss video battery ecdh_generic thermal mf
d_core i2c_hid sysimgblt
Jan 28 14:20:28 bee kernel: [   29.578589]  wmi fan ac rfkill i2c_i801 tpm_crb fb_sys_fops backlight button soundcore acpi_pad efivarfs unix dm_zero dm_thin_pool dm_persistent_data dm_bio_prison dm_service_time dm_round_robin dm_queue_length dm_multipath dm_log_userspace
 cn dm_flakey dm_delay xts aesni_intel crypto_simd cryptd glue_helper aes_x86_64 cbc sha256_generic scsi_transport_iscsi r8169 mii fuse xfs nfs lockd grace sunrpc fscache jfs reiserfs ext4 mbcache jbd2 fscrypto multipath linear raid10 raid1 raid0 dm_raid raid456 md_mod a
sync_raid6_recov async_memcpy async_pq async_xor xor async_tx raid6_pq libcrc32c dm_snapshot dm_bufio dm_crypt dm_mirror dm_region_hash dm_log dm_mod dax hid_generic usbhid xhci_pci xhci_hcd ohci_hcd uhci_hcd usb_storage ehci_pci ehci_hcd usbcore usb_common scsi_transpor
t_fc sr_mod cdrom sg sd_mod
Jan 28 14:20:28 bee kernel: [   29.578749]  ata_piix ahci libahci sata_sx4 pata_oldpiix
Jan 28 14:20:28 bee kernel: [   29.578763] CPU: 2 PID: 3790 Comm: udevd Not tainted 4.14.14+ #5
Jan 28 14:20:28 bee kernel: [   29.578777] Hardware name: LENOVO 80UV/Lenovo ideapad 510S-14IKB, BIOS 2SCN21WW(V2.01) 12/20/2016
Jan 28 14:20:28 bee kernel: [   29.578795] task: ffff8803592f49c0 task.stack: ffffc90001378000
Jan 28 14:20:28 bee kernel: [   29.578829] RIP: 0010:smu7_populate_single_firmware_entry.isra.3+0x68/0xc0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.578846] RSP: 0018:ffffc9000137ba38 EFLAGS: 00010246
Jan 28 14:20:28 bee kernel: [   29.578859] RAX: 000000000000007e RBX: 0000000000000003 RCX: 000001000f542000
Jan 28 14:20:28 bee kernel: [   29.578874] RDX: 0000000000000004 RSI: 0000000000000000 RDI: ffff88034cbdd500
Jan 28 14:20:28 bee kernel: [   29.578890] RBP: ffffc91c00174fec R08: 0000000000000001 R09: 0000000000000399
Jan 28 14:20:28 bee kernel: [   29.578905] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88034e836ac8
Jan 28 14:20:28 bee kernel: [   29.578921] R13: ffff8803540e2000 R14: 000000000000047e R15: ffff88033fd10000
Jan 28 14:20:28 bee kernel: [   29.578937] FS:  00007f3bffd3c780(0000) GS:ffff88046ed00000(0000) knlGS:0000000000000000
Jan 28 14:20:28 bee kernel: [   29.578954] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jan 28 14:20:28 bee kernel: [   29.578967] CR2: ffffc91c00174fec CR3: 000000035866e005 CR4: 00000000003606e0
Jan 28 14:20:28 bee kernel: [   29.578983] Call Trace:
Jan 28 14:20:28 bee kernel: [   29.579010]  smu7_request_smu_load_fw+0x91/0x310 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.579041]  pp_hw_init+0xbb/0x100 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.579070]  amdgpu_pp_hw_init+0x34/0x80 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.579096]  amdgpu_device_init+0xc43/0x14a0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.579110]  ? cache_alloc_debugcheck_after.isra.22+0x195/0x1e0
Jan 28 14:20:28 bee kernel: [   29.579124]  ? kmem_cache_alloc_trace+0x1f6/0x230
Jan 28 14:20:28 bee kernel: [   29.579149]  ? amdgpu_driver_load_kms+0x25/0x1b0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.579174]  amdgpu_driver_load_kms+0x4a/0x1b0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.580060]  drm_dev_register+0x12f/0x1c0 [drm]
Jan 28 14:20:28 bee kernel: [   29.580955]  amdgpu_pci_probe+0x10f/0x140 [amdgpu]
Jan 28 14:20:28 bee kernel: [   29.581831]  pci_device_probe+0xc8/0x140
Jan 28 14:20:28 bee kernel: [   29.582701]  driver_probe_device+0x293/0x440
Jan 28 14:20:28 bee kernel: [   29.583573]  __driver_attach+0xda/0xe0
Jan 28 14:20:28 bee kernel: [   29.584443]  ? driver_probe_device+0x440/0x440
Jan 28 14:20:28 bee kernel: [   29.585313]  bus_for_each_dev+0x5a/0x90
Jan 28 14:20:28 bee kernel: [   29.586182]  bus_add_driver+0x16a/0x260
Jan 28 14:20:28 bee kernel: [   29.587044]  driver_register+0x57/0xc0
Jan 28 14:20:28 bee kernel: [   29.587906]  ? 0xffffffffa0dd4000
Jan 28 14:20:28 bee kernel: [   29.588780]  do_one_initcall+0x4e/0x190
Jan 28 14:20:28 bee kernel: [   29.589660]  ? kmem_cache_alloc_trace+0x1f6/0x230
Jan 28 14:20:28 bee kernel: [   29.590521]  ? do_init_module+0x22/0x1fb
Jan 28 14:20:28 bee kernel: [   29.591379]  do_init_module+0x5b/0x1fb
Jan 28 14:20:28 bee kernel: [   29.592239]  load_module+0x1511/0x1740
Jan 28 14:20:28 bee kernel: [   29.593105]  ? SyS_finit_module+0xaa/0xe0
Jan 28 14:20:28 bee kernel: [   29.593957]  SyS_finit_module+0xaa/0xe0
Jan 28 14:20:28 bee kernel: [   29.594797]  do_syscall_64+0x60/0x190
Jan 28 14:20:28 bee kernel: [   29.595661]  entry_SYSCALL64_slow_path+0x25/0x25
Jan 28 14:20:28 bee kernel: [   29.596502] RIP: 0033:0x7f3bff456919

The following output seems to be a side effect of the situation, so I'll add it
to the report:

Jan 28 14:20:28 bee kernel: [   32.753872] hpet_rtc_timer_reinit: 17 callbacks suppressed
Jan 28 14:20:28 bee kernel: [   32.753873] hpet1: lost 200 rtc interrupts
Jan 28 14:20:28 bee kernel: [   35.904847] hpet1: lost 200 rtc interrupts
Jan 28 14:20:28 bee kernel: [   39.051672] hpet1: lost 200 rtc interrupts
Jan 28 14:20:28 bee kernel: [   42.187955] hpet1: lost 199 rtc interrupts
Jan 28 14:20:28 bee kernel: [   54.749139] INFO: rcu_sched detected stalls on CPUs/tasks:
Jan 28 14:20:28 bee kernel: [   54.751744]      2-...: (3597 GPs behind) idle=a06/140000000000000/0 softirq=0/0 fqs=27 
Jan 28 14:20:28 bee kernel: [   54.752981]      (detected by 0, t=25173 jiffies, g=3297, c=3296, q=1747)
Jan 28 14:20:28 bee kernel: [   54.754188] Sending NMI from CPU 0 to CPUs 2:
Jan 28 14:20:28 bee kernel: [   54.755327] NMI backtrace for cpu 2
Jan 28 14:20:28 bee kernel: [   54.755329] CPU: 2 PID: 3790 Comm: udevd Tainted: G      D         4.14.14+ #5
Jan 28 14:20:28 bee kernel: [   54.755329] Hardware name: LENOVO 80UV/Lenovo ideapad 510S-14IKB, BIOS 2SCN21WW(V2.01) 12/20/2016
Jan 28 14:20:28 bee kernel: [   54.755330] task: ffff8803592f49c0 task.stack: ffffc90001378000
Jan 28 14:20:28 bee kernel: [   54.755332] RIP: 0010:0xfffffffeed82743d
Jan 28 14:20:28 bee kernel: [   54.755332] RSP: 0018:ffffc9000137b398 EFLAGS: 00000046
Jan 28 14:20:28 bee kernel: [   54.755333] RAX: 00000000000055aa RBX: fffffffeffd97429 RCX: fffffffeffd97429
Jan 28 14:20:28 bee kernel: [   54.755333] RDX: 000000000000029a RSI: ffffc9000137b588 RDI: fffffffeffd9d000
Jan 28 14:20:28 bee kernel: [   54.755333] RBP: 000000000000032d R08: ffffc9000137b580 R09: ffffc9000137b588
Jan 28 14:20:28 bee kernel: [   54.755334] R10: ffffc9000137b570 R11: ffffc9000137b2d8 R12: fffffffeffd9d000
Jan 28 14:20:28 bee kernel: [   54.755334] R13: ffffc9000137b578 R14: fffffffeffd97429 R15: 8000000000000000
Jan 28 14:20:28 bee kernel: [   54.755335] FS:  00007f3bffd3c780(0000) GS:ffff88046ed00000(0000) knlGS:0000000000000000
Jan 28 14:20:28 bee kernel: [   54.755335] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jan 28 14:20:28 bee kernel: [   54.755336] CR2: ffffc91c00174fec CR3: 000000035d1e4000 CR4: 00000000003606e0
Jan 28 14:20:28 bee kernel: [   54.755336] Call Trace:
Jan 28 14:20:28 bee kernel: [   54.755341]  ? efi_call+0x58/0x90
Jan 28 14:20:28 bee kernel: [   54.755343]  ? virt_efi_query_variable_info+0xf8/0x240
Jan 28 14:20:28 bee kernel: [   54.755344]  ? efi_query_variable_store+0x16d/0x1b0
Jan 28 14:20:28 bee kernel: [   54.755345]  ? efi_query_variable_store+0x16d/0x1b0
Jan 28 14:20:28 bee kernel: [   54.755346]  ? efivar_entry_set_safe+0xab/0x1d0
Jan 28 14:20:28 bee kernel: [   54.755347]  ? efivar_entry_set_safe+0xab/0x1d0
Jan 28 14:20:28 bee kernel: [   54.755349]  ? snprintf+0x36/0x40
Jan 28 14:20:28 bee kernel: [   54.755351]  ? efi_pstore_write+0xf7/0x140 [efi_pstore]
Jan 28 14:20:28 bee kernel: [   54.755352]  ? efi_pstore_write+0x94/0x140 [efi_pstore]
Jan 28 14:20:28 bee kernel: [   54.755353]  ? efi_pstore_write+0xf7/0x140 [efi_pstore]
Jan 28 14:20:28 bee kernel: [   54.755355]  ? pstore_dump+0x195/0x330
Jan 28 14:20:28 bee kernel: [   54.755356]  ? vprintk_emit+0x255/0x3b0
Jan 28 14:20:28 bee kernel: [   54.755357]  ? kmsg_dump+0xba/0xe0
Jan 28 14:20:28 bee kernel: [   54.755359]  ? oops_end+0x60/0xb0
Jan 28 14:20:28 bee kernel: [   54.755360]  ? no_context+0x160/0x3b0
Jan 28 14:20:28 bee kernel: [   54.755361]  ? __do_page_fault+0xbb/0x4e0
Jan 28 14:20:28 bee kernel: [   54.755363]  ? kmem_cache_alloc_trace+0x1f6/0x230
Jan 28 14:20:28 bee kernel: [   54.755364]  ? _request_firmware+0x81/0x780
Jan 28 14:20:28 bee kernel: [   54.755365]  ? do_page_fault+0x2c/0x120
Jan 28 14:20:28 bee kernel: [   54.755366]  ? page_fault+0x2c/0x60
Jan 28 14:20:28 bee kernel: [   54.755394]  ? smu7_populate_single_firmware_entry.isra.3+0x68/0xc0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755415]  ? smu7_populate_single_firmware_entry.isra.3+0x45/0xc0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755433]  ? smu7_request_smu_load_fw+0x91/0x310 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755453]  ? pp_hw_init+0xbb/0x100 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755473]  ? amdgpu_pp_hw_init+0x34/0x80 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755489]  ? amdgpu_device_init+0xc43/0x14a0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755490]  ? cache_alloc_debugcheck_after.isra.22+0x195/0x1e0
Jan 28 14:20:28 bee kernel: [   54.755491]  ? kmem_cache_alloc_trace+0x1f6/0x230
Jan 28 14:20:28 bee kernel: [   54.755507]  ? amdgpu_driver_load_kms+0x25/0x1b0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755521]  ? amdgpu_driver_load_kms+0x4a/0x1b0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755530]  ? drm_dev_register+0x12f/0x1c0 [drm]
Jan 28 14:20:28 bee kernel: [   54.755545]  ? amdgpu_pci_probe+0x10f/0x140 [amdgpu]
Jan 28 14:20:28 bee kernel: [   54.755547]  ? pci_device_probe+0xc8/0x140
Jan 28 14:20:28 bee kernel: [   54.755548]  ? driver_probe_device+0x293/0x440
Jan 28 14:20:28 bee kernel: [   54.755548]  ? __driver_attach+0xda/0xe0
Jan 28 14:20:28 bee kernel: [   54.755549]  ? driver_probe_device+0x440/0x440
Jan 28 14:20:28 bee kernel: [   54.755550]  ? bus_for_each_dev+0x5a/0x90
Jan 28 14:20:28 bee kernel: [   54.755552]  ? bus_add_driver+0x16a/0x260
Jan 28 14:20:28 bee kernel: [   54.755552]  ? driver_register+0x57/0xc0
Jan 28 14:20:28 bee kernel: [   54.755553]  ? 0xffffffffa0dd4000
Jan 28 14:20:28 bee kernel: [   54.755554]  ? do_one_initcall+0x4e/0x190
Jan 28 14:20:28 bee kernel: [   54.755555]  ? kmem_cache_alloc_trace+0x1f6/0x230
Jan 28 14:20:28 bee kernel: [   54.755556]  ? do_init_module+0x22/0x1fb
Jan 28 14:20:28 bee kernel: [   54.755557]  ? do_init_module+0x5b/0x1fb
Jan 28 14:20:28 bee kernel: [   54.755557]  ? load_module+0x1511/0x1740
Jan 28 14:20:28 bee kernel: [   54.755559]  ? SyS_finit_module+0xaa/0xe0
Jan 28 14:20:28 bee kernel: [   54.755559]  ? SyS_finit_module+0xaa/0xe0
Jan 28 14:20:28 bee kernel: [   54.755561]  ? do_syscall_64+0x60/0x190
Jan 28 14:20:28 bee kernel: [   54.755562]  ? entry_SYSCALL64_slow_path+0x25/0x25
Jan 28 14:20:28 bee kernel: [   54.755563] Code: 10 80 7b 14 ff 75 0a 80 7b 15 ff 75 04 33 c0 eb 05 b8 02 00 00 00 48 83 c4 20 5b c3 cc cc 48 85 c9 74 34 b8 aa 55 00 00 66 39 01 <75> 2a 8a 05 d8 3d 00 00 f6 d8 8b 41 28 48 1b d2 48 83 e2 f4 48 
Jan 28 14:20:28 bee kernel: [   54.756326] rcu_sched kthread starved for 6233 jiffies! g3297 c3296 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x402 ->cpu=0
Jan 28 14:20:28 bee kernel: [   70.587162] rcu_sched       I15016     8      2 0x80080000
Jan 28 14:20:28 bee kernel: [   70.587996] Call Trace:
Jan 28 14:20:28 bee kernel: [   70.588824]  ? __schedule+0x2af/0x810
Jan 28 14:20:28 bee kernel: [   70.589628]  schedule+0x32/0x80
Jan 28 14:20:28 bee kernel: [   70.590434]  schedule_timeout+0x1a1/0x420
Jan 28 14:20:28 bee kernel: [   70.591194]  ? call_timer_fn+0x140/0x140
Jan 28 14:20:28 bee kernel: [   73.730171]  ? rcu_gp_kthread+0x4fe/0x890
Jan 28 14:20:28 bee kernel: [   73.732224]  rcu_gp_kthread+0x4fe/0x890
Jan 28 14:20:28 bee kernel: [   73.732983]  kthread+0xfc/0x130
Jan 28 14:20:28 bee kernel: [   73.733757]  ? note_gp_changes+0xa0/0xa0
Jan 28 14:20:28 bee kernel: [   73.734532]  ? kthread_create_on_node+0x40/0x40
Jan 28 14:20:28 bee kernel: [   73.735330]  ret_from_fork+0x37/0x50
Jan 28 14:20:28 bee kernel: [   73.736195] INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 2-... } 28396 jiffies s: 441 root: 0x4/.
Jan 28 14:20:28 bee kernel: [   73.737078] blocking rcu_node structures:
Jan 28 14:20:28 bee kernel: [   73.737961] Task dump for CPU 2:
Jan 28 14:20:28 bee kernel: [   73.738748] udevd           R  running task    12776  3790   3727 0x80080008
Jan 28 14:20:28 bee kernel: [   73.739545] Call Trace:
Jan 28 14:20:28 bee kernel: [   73.740315]  ? pstore_dump+0x195/0x330
Jan 28 14:20:28 bee kernel: [   73.741095]  ? vprintk_emit+0x255/0x3b0
Jan 28 14:20:28 bee kernel: [   73.741845]  ? kmsg_dump+0xba/0xe0
Jan 28 14:20:28 bee kernel: [   73.742633]  ? oops_end+0x60/0xb0
Jan 28 14:20:28 bee kernel: [   76.882603]  ? no_context+0x160/0x3b0
Jan 28 14:20:28 bee kernel: [   76.883397]  ? __do_page_fault+0xbb/0x4e0
Jan 28 14:20:28 bee kernel: [   76.884206]  ? kmem_cache_alloc_trace+0x1f6/0x230
Jan 28 14:20:28 bee kernel: [   76.885135]  ? _request_firmware+0x81/0x780
Jan 28 14:20:28 bee kernel: [   76.886074]  ? do_page_fault+0x2c/0x120
Jan 28 14:20:28 bee kernel: [   76.887002]  ? page_fault+0x2c/0x60
Jan 28 14:20:28 bee kernel: [   76.888451]  ? smu7_populate_single_firmware_entry.isra.3+0x68/0xc0 [amdgpu]
Jan 28 14:20:28 bee kernel:   76.888669] udevd[3727]: worker [3790] terminated by signal 9 (Killed)
Jan 28 14:20:28 bee kernel:   76.888676] udevd[3727]: worker [3790] failed while handling '/devices/pci0000:00/0000:00:1c.0/0000:01:00.0'
Jan 28 14:20:28 bee kernel: [   76.893181]  ? smu7_populate_single_firmware_entry.isra.3+0x45/0xc0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   76.894876]  ? smu7_request_smu_load_fw+0x91/0x310 [amdgpu]
Jan 28 14:20:28 bee kernel: [   76.894900]  ? pp_hw_init+0xbb/0x100 [amdgpu]
Jan 28 14:20:28 bee kernel: [   76.894925]  ? amdgpu_pp_hw_init+0x34/0x80 [amdgpu]
Jan 28 14:20:28 bee kernel: [   76.894946]  ? amdgpu_device_init+0xc43/0x14a0 [amdgpu]
Jan 28 14:20:28 bee kernel: [   76.894948]  ? __update_load_avg_se.isra.3+0x13b/0x140
Jan 28 14:20:28 bee kernel: [   76.894949]  ? update_curr+0xe4/0x1c0
Jan 28 14:20:28 bee kernel: [   76.894950]  ? enqueue_entity+0x3e0/0xb80
Jan 28 14:20:28 bee kernel: [   76.894952]  ? wakeup_preempt_entity.isra.11+0x3c/0x50
Jan 28 14:20:28 bee kernel: [   76.894954]  ? check_preempt_wakeup+0x181/0x250
Jan 28 14:20:28 bee kernel: [   76.894955]  ? check_preempt_curr+0x7d/0x90
Jan 28 14:20:28 bee kernel: [   76.894956]  ? ttwu_do_wakeup.isra.19+0x19/0x150
Jan 28 14:20:28 bee kernel: [   76.894958]  ? _raw_spin_unlock_irqrestore+0x21/0x30
Jan 28 14:20:28 bee kernel: [   76.894958]  ? try_to_wake_up+0x213/0x450
Jan 28 14:20:28 bee kernel: [   76.894960]  ? __wake_up_common+0x91/0x180
Jan 28 14:20:28 bee kernel: [   76.894962]  ? _raw_spin_unlock_irqrestore+0x21/0x30
Jan 28 14:20:28 bee kernel: [   76.894963]  ? __update_load_avg_se.isra.3+0x13b/0x140
Jan 28 14:20:28 bee kernel: [   76.894964]  ? account_entity_enqueue+0x8d/0xb0
Jan 28 14:20:28 bee kernel: [   76.894966]  ? enqueue_entity+0x3e0/0xb80
Jan 28 14:20:28 bee kernel: [   76.894968]  ? enqueue_task_fair+0x52a/0x5c0
Jan 28 14:20:28 bee kernel: [   76.894969]  ? set_next_entity+0x13c/0x5d0
Jan 28 14:20:28 bee kernel: [   76.894971]  ? load_new_mm_cr3+0x4d/0x100
Jan 28 14:20:28 bee kernel: [   76.894972]  ? switch_mm_irqs_off+0x1dc/0x5f0
Jan 28 14:20:28 bee kernel: [   76.894974]  ? __schedule+0x2af/0x810
Jan 28 14:20:28 bee kernel: [   76.894975]  ? queue_work_on+0x4a/0x70
Jan 28 14:20:28 bee kernel: [   76.894976]  ? do_task_dead+0x3e/0x40
Jan 28 14:20:28 bee kernel: [   76.894981]  ? do_exit+0x6ed/0xbf0
Jan 28 14:20:28 bee kernel: [   76.894982]  ? rewind_stack_do_exit+0x17/0x20

The effect of these output is a very slow boot of the system + the intel gpu not
taking over the resources properly, hence, when it's expected to boot to sddm,
it stays in a fb console getting full of irrelevant output.

Thanks!

José.
Comment 1 José Pekkarinen 2018-03-07 09:39:30 UTC
I believe the issue is actually shown before, these are the lines prior
to the error:

Mar  4 22:00:16 bee kernel: [   35.741939] amdgpu: [powerplay] Failed to notify smc display settings!
Mar  4 22:00:16 bee laptop-mode[9581]: Failed to re-set power saving mode for wireless card
Mar  4 22:00:21 bee kernel: [   40.847050] [drm:atom_op_jump [amdgpu]] *ERROR* atombios stuck in loop for more than 5secs aborting
Mar  4 22:00:21 bee kernel: [   40.847078] [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing 7424 (len 272, WS 0, PS 4) @ 0x746D
Mar  4 22:00:21 bee kernel: [   40.847102] [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing 606A (len 70, WS 0, PS 8) @ 0x6090
Mar  4 22:00:21 bee kernel: [   40.847117] [drm:amdgpu_device_resume [amdgpu]] *ERROR* amdgpu asic init failed
Mar  4 22:00:21 bee kernel: [   41.200534] amdgpu 0000:01:00.0: Wait for MC idle timedout !
Mar  4 22:00:22 bee kernel: [   41.553970] amdgpu 0000:01:00.0: Wait for MC idle timedout !
Mar  4 22:00:22 bee kernel: [   41.563727] [drm] PCIE GART of 256M enabled (table at 0x000000F400040000).
Mar  4 22:00:22 bee kernel: [   41.566759] amdgpu: [powerplay] smu not running, upload firmware again
...

I believe the error is that the following function is trying to send a message
to a display, when the vga is not tied to any:

static int smu7_notify_smc_display(struct pp_hwmgr *hwmgr)
{
        struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);

        if (hwmgr->feature_mask & PP_VBI_TIME_SUPPORT_MASK)
                smum_send_msg_to_smc_with_parameter(hwmgr,
                        (PPSMC_Msg)PPSMC_MSG_SetVBITimeout, data->frame_time_x2);
        return (smum_send_msg_to_smc(hwmgr, (PPSMC_Msg)PPSMC_HasDisplay) == 0) ?  0 : -EINVAL;
}

Is there any way to check if there is a display from hwmgr?
Comment 2 José Pekkarinen 2018-03-08 20:22:13 UTC
Created attachment 137911 [details]
Initialization output on SMU firmware load.

Seems that autodetection of firmware method to load fails to get
a proper default, setting firmware load to SMU on /etc/modprobe.d
fixes the issue for me.

$ DRI_PRIME=1 glxinfo|grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) R7 M360 (ICELAND / DRM 3.23.0 / 4.15.7+, LLVM 5.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.0-rc4
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.0.0-rc4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.0-rc4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
Comment 3 Alex Deucher 2018-03-08 20:36:50 UTC
What kernel are you using?  I don't see any way the fw loading type could not be set correctly for any chip unless a module parameter was provided.  Please attach your full dmesg output.  What module parameters are you using?
Comment 4 José Pekkarinen 2018-03-09 07:36:21 UTC
Created attachment 137923 [details]
Right boot initialization

Unfortunately it seems to have been once that it booted properly, today it
doesn't boot well anymore. Here is what I could recover from that one. The plus of the kernel is for the following irrelevant patch that hogs my boot in a
different way:

diff --git a/block/blk-core.c b/block/blk-core.c
index 82b92adf3477..f05714bea9ad 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -3650,10 +3650,6 @@ EXPORT_SYMBOL(blk_finish_plug);
  */
 void blk_pm_runtime_init(struct request_queue *q, struct device *dev)
 {
-       /* not support for RQF_PM and ->rpm_status in blk-mq yet */
-       if (q->mq_ops)
-               return;
-
        q->dev = dev;
        q->rpm_status = RPM_ACTIVE;
        pm_runtime_set_autosuspend_delay(q->dev, -1);

Please don't hesitate to ask for any other output you may need.

Thanks!
Comment 5 José Pekkarinen 2018-03-31 17:51:51 UTC
Created attachment 138467 [details]
backtrace trying drm-4.17

As stated in bug 105760, drm-4.17 didn't make any difference for me, though, setting acpi_backlight=intel_backlight, as mentioned in(https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1656649), allowed me to boot once without any backtraces, using an stable kernel:

$ DRI_PRIME=1 glxinfo
...
OpenGL vendor string: X.Org                                                                                                                                                                                                                                                    
OpenGL renderer string: AMD Radeon (TM) R7 M360 (ICELAND / DRM 3.23.0 / 4.15.12+, LLVM 6.0.0)                                                                                                                                                                                  
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.0                                                                                                                                                                                                             
OpenGL core profile shading language version string: 4.50                                                                                                                                                                                                                      
OpenGL core profile context flags: (none)                                                                                                                                                                                                                                      
OpenGL core profile profile mask: core profile
...

I'll try to reboot several times to see if the work around works always, and let you know about it.

Thanks!

José.
Comment 6 José Pekkarinen 2018-03-31 19:10:19 UTC
So far no luck, seems like with the acpi_backlight and removing laptop mode from my services initialisation gives more chances to successfully boot without issues, but eventually the bug will turn up.
Comment 7 Alex Deucher 2018-06-15 15:33:46 UTC
possibly related to:
https://bugzilla.kernel.org/show_bug.cgi?id=199693
Comment 8 José Pekkarinen 2018-06-19 09:06:13 UTC
I'm afraid I reproduced this again using the kernel 4.17.2 where I see the
following commit:

commit 9ca5a2ae4259e7aec8efb0db0f6ec721a6854c54
Merge: bee797529d7c c62ec4610c40
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu May 24 08:49:56 2018 -0700

    Merge tag 'pm-4.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
    
    Pull power management fix from Rafael Wysocki:
     "Fix a regression from the 4.15 cycle that caused the system suspend
      and resume overhead to increase on many systems and triggered more
      serious problems on some of them (Rafael Wysocki)"
    
    * tag 'pm-4.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      PM / core: Fix direct_complete handling for devices with no callbacks

I'll attach the boot process with the traceback soon.
Comment 9 José Pekkarinen 2018-06-19 09:15:21 UTC
Created attachment 140225 [details]
boot process on 4.17.2.
Comment 10 José Pekkarinen 2018-06-23 21:19:51 UTC
Created attachment 140293 [details]
dri config to work it around.

I spent some more time toying this around and I found that, building
the drm inside the kernel like in this extract of the config, and
provided that you still blacklist the amdgpu module:

BOOT_IMAGE=/kernel-genkernel-x86_64-4.17.2+ root=/dev/mapper/bee-root ro dolvm crypt_root=/dev/sda3 real_root=/dev/bee/root resume=/dev/bee/swap iommu=pt intel_iommu=on kvm-intel.nested=1 apparmor=1 zswap.enabled=1 security=apparmor crashkernel=256M modprobe.blacklist=amdgpu

The kernel booting will ignore my evil purposes:

# dmesg|grep amdgpu
[    0.000000] Command line: BOOT_IMAGE=/kernel-genkernel-x86_64-4.17.2+ root=/dev/mapper/bee-root ro dolvm crypt_root=/dev/sda3 real_root=/dev/bee/root resume=/dev/bee/swap iommu=pt intel_iommu=on kvm-intel.nested=1 apparmor=1 zswap.enabled=1 security=apparmor crashkernel=256M modprobe.blacklist=amdgpu
[    0.000000] Kernel command line: BOOT_IMAGE=/kernel-genkernel-x86_64-4.17.2+ root=/dev/mapper/bee-root ro dolvm crypt_root=/dev/sda3 real_root=/dev/bee/root resume=/dev/bee/swap iommu=pt intel_iommu=on kvm-intel.nested=1 apparmor=1 zswap.enabled=1 security=apparmor crashkernel=256M modprobe.blacklist=amdgpu
[    0.755913] [drm] amdgpu kernel modesetting enabled.
[    0.756304] amdgpu 0000:01:00.0: enabling device (0400 -> 0403)
[    0.772792] amdgpu 0000:01:00.0: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
[    0.773338] amdgpu 0000:01:00.0: GTT: 256M 0x0000000000000000 - 0x000000000FFFFFFF
[    0.777463] [drm] amdgpu: 2048M of VRAM memory ready
[    0.778060] [drm] amdgpu: 3072M of GTT memory ready.
[    0.798170] amdgpu: [powerplay] can't get the mac of 5
[    0.809732] [drm] Initialized amdgpu 3.25.0 20150101 for 0000:01:00.0 on minor 0
[    6.112759] amdgpu: [powerplay] VI should always have 2 performance levels
[    6.144432] amdgpu 0000:01:00.0: GPU pci config reset
[   22.024297] amdgpu: [powerplay] can't get the mac of 5

resulting in a properly booted machine that is able to use the amd gpu:

$ DRI_PRIME=1 glxinfo |grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) R7 M360 (ICELAND, DRM 3.25.0, 4.17.2+, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.2
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.1.2
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Technically it seems to be a weird workaround and I don't know if that may
light your bulbs in any way, but hey, I hope it helps.

José.
Comment 11 José Pekkarinen 2018-06-23 21:22:35 UTC
aw, and yes, if I don't blacklist the module, the trace happens, which
certainly blows my mind, as it's built in, modprobe shouldn't affect it.

José.
Comment 12 Martin Peres 2019-11-19 08:29:15 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/300.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.