From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bin Meng Date: Tue, 25 Apr 2017 17:34:18 +0800 Subject: [U-Boot] [PATCH v2 00/22] x86: Add ACPI S3 resume support In-Reply-To: <8f2a66ac-ef04-8aa3-c2a8-e22c77055554@denx.de> References: <1492784689-15701-1-git-send-email-bmeng.cn@gmail.com> <8f2a66ac-ef04-8aa3-c2a8-e22c77055554@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Stefan, On Tue, Apr 25, 2017 at 4:51 PM, Stefan Roese wrote: > Hi Bin, > > On 25.04.2017 10:02, Bin Meng wrote: > > > >>> Booting Ubuntu 16.04 (kernel 4.4) with graphical interface seems to >>> have some (rare) problems though. When I boot into Ubuntu with the >>> correct "console=" configuration (log via serial console), suspend >>> / resume seems to work fine as well - at least in the tests I did >>> so far. But when I don't provide this "console=" and use "quiet" >>> instead, resume does not seem to work reliably. Most of the times it >>> works just fine as well, but sometimes the graphical user interface >>> doesn't come up at all after resuming (display stays in power safe >>> mode). The U-Boot log is the same in both cases: >>> >> >> I only have a pre-installed Ubuntu 14.04 hard disk which was installed >> from U-Boot and SeaBIOS at the time when ACPI/SeaBIOS support was >> added to U-Boot long time ago. So suspend/resume does not work with my >> installation since I believe Ubuntu has lots of custom scripts for >> helping suspend/resume. I've run the testing on this installation >> though, and U-Boot did not even boot after I pressed the power button >> which means my Ubuntu 14.04 might not even put the system into the >> correct ACPI sleeping state. So I have to reinstall a new one. >> >> So how about your Ubuntu 16.04 installation? Was it installed from >> U-Boot? Or from original commercial BIOS? > > Installed via original congatec BIOS. > >> What do you mean by "display >> stays in power safe mode"? Is it a black screen, or is it just >> U-Boot's video output screen? > > Blank screen and the monitor does not wake up from power-safe > mode. I see the log on the serial console, since I've changed the > environment (stdio) to not use the LCD as the console in U-Boot. > U-Boot uses the console as a splash screen instead. > Since you were seeing black screen I guess your U-Boot was not running the VGA BIOS for the Intel Baytrail IGD? The LCD driver is not the Intel i915 graphics driver? >>> Jumping to OS waking vector 0009a1d0 >>> >>> And the POST debug byte is also identical (0x40). >>> >> >> These logs looks good. Nothing strange. >> >>> Do you have any ideas, where this might come from? Could you >>> perhaps check this on MinnoxMax as well, if such a setup also >>> sometimes has problems with resuming? Is there anything that I could >>> do to test this on my platform? >>> >> >> To match your env, I will install a 16.04 from U-Boot for testing. Can >> you add the following kernel parameters for testing suspend/resume? >> >> "console=ttyS0,115200 initcall_debug ignore_loglevel no_console_suspend" > > Ah, this brings some infos. Here the resume log: > > [ 49.810439] smpboot: CPU 3 is now offline > [ 49.828153] PM: Calling kvm_suspend+0x0/0x30 [kvm] > [ 49.833517] PM: Calling mce_syscore_suspend+0x0/0x20 > [ 49.839072] PM: Calling ledtrig_cpu_syscore_suspend+0x0/0x20 > [ 49.845404] PM: Calling acpi_processor_suspend+0x0/0x1e > [ 49.851255] PM: Calling timekeeping_suspend+0x0/0x2a0 > [ 49.856925] PM: Calling irq_gc_suspend+0x0/0x70 > [ 49.861992] PM: Calling save_ioapic_entries+0x0/0x90 > [ 49.867738] PM: Calling i8259A_suspend+0x0/0x30 > [ 49.872806] PM: Calling fw_suspend+0x0/0x20 > [ 49.877484] PM: Calling lapic_suspend+0x0/0x1b0 > �� > > U-Boot 2017.05-rc2-00122-gf6a9c0b4fd-dirty (Apr 24 2017 - 10:50:06 +0200) > > CPU: x86_64, vendor Intel, device 30679h > DRAM: 4 GiB > MMC: ValleyView SDHCI: 0, ValleyView SDHCI: 1, ValleyView SDHCI: 2 > SF: Detected w25q64cv with page size 256 Bytes, erase size 4 KiB, total 8 MiB > Model: congatec-QEVAL20-QA3-E3845 > SCSI: SATA link 0 timeout. > Target spinup took 0 ms. > AHCI 0001.0300 32 slots 2 ports 3 Gbps 0x3 impl SATA mode > flags: 64bit ncq stag pm led clo pio slum part sxs > scanning bus for devices... > Device 0: (1:0) Vendor: ATA Prod.: SanDisk Ultra II Rev: X411 > Type: Hard Disk > Capacity: 457862.8 MB = 447.1 GB (937703088 x 512) > Found 1 device(s). > Net: e1000: 00:13:95:1c:51:e8 > eth0: e1000#0 > Jumping to OS waking vector 0009a1d0 > [ 49.882704] ACPI: Low-level resume complete > [ 49.887483] PM: Restoring platform NVS memory > [ 49.892361] PM: Calling bsp_resume+0x0/0x20 > [ 49.897040] PM: Calling lapic_resume+0x0/0x2b0 > [ 49.902035] PM: Calling irqrouter_resume+0x0/0x3f > [ 49.907297] PM: Calling i8259A_resume+0x0/0x30 > [ 49.912393] PM: Calling i8237A_resume+0x0/0x90 > [ 49.917434] PM: Calling ioapic_resume+0x0/0xa0 > [ 49.922495] PM: Calling irq_gc_resume+0x0/0x60 > [ 49.927464] PM: Calling irq_pm_syscore_resume+0x0/0x20 > [ 49.933256] PM: Calling timekeeping_resume+0x0/0x200 > [ 49.938844] PM: Calling acpi_processor_resume+0x0/0x5c > [ 49.944595] PM: Calling ledtrig_cpu_syscore_resume+0x0/0x20 > [ 49.950829] PM: Calling mce_syscore_resume+0x0/0x30 > [ 49.956291] PM: Calling mc_bp_resume+0x0/0x50 > [ 49.961193] PM: Calling kvm_resume+0x0/0x40 [kvm] > [ 49.966523] Enabling non-boot CPUs ... > [ 49.990192] x86: Booting SMP configuration: > [ 49.994894] smpboot: Booting Node 0 Processor 1 APIC 0x2 > [ 50.011048] cache: parent cpu1 should not be sleeping > [ 50.017239] CPU1 is up > [ 50.038380] smpboot: Booting Node 0 Processor 2 APIC 0x4 > [ 50.054552] cache: parent cpu2 should not be sleeping > [ 50.060685] CPU2 is up > [ 50.082550] smpboot: Booting Node 0 Processor 3 APIC 0x6 > [ 50.098820] cache: parent cpu3 should not be sleeping > [ 50.104972] CPU3 is up > [ 50.108534] ACPI: Waking up from system sleep state S3 > [ 50.114576] calling 0000:00:00.0+ @ 2269, parent: pci0000:00 > [ 50.114630] calling 0000:00:02.0+ @ 163, parent: pci0000:00 > [ 50.114728] calling 0000:00:11.0+ @ 2265, parent: pci0000:00 > [ 50.114759] calling 0000:00:12.0+ @ 2268, parent: pci0000:00 > [ 50.114800] calling 0000:00:13.0+ @ 159, parent: pci0000:00 > [ 50.114830] calling 0000:00:15.0+ @ 149, parent: pci0000:00 > [ 50.114926] call 0000:00:15.0+ returned 0 after 86 usecs > [ 50.114942] calling 0000:00:17.0+ @ 149, parent: pci0000:00 > [ 50.114979] calling 0000:00:1c.0+ @ 2267, parent: pci0000:00 > [ 50.115003] calling 0000:00:1c.1+ @ 40, parent: pci0000:00 > [ 50.115020] calling 0000:00:1c.2+ @ 2266, parent: pci0000:00 > [ 50.115261] call 0000:00:1c.0+ returned 0 after 267 usecs > [ 50.115282] calling 0000:00:1c.3+ @ 2267, parent: pci0000:00 > [ 50.115289] call 0000:00:1c.1+ returned 0 after 268 usecs > [ 50.115304] calling 0000:00:1d.0+ @ 40, parent: pci0000:00 > [ 50.115409] calling 0000:00:1e.0+ @ 6, parent: pci0000:00 > [ 50.115446] calling 0000:00:1e.1+ @ 158, parent: pci0000:00 > [ 50.115465] call 0000:00:1c.3+ returned 0 after 171 usecs > [ 50.115482] calling 0000:00:1e.2+ @ 2271, parent: pci0000:00 > [ 50.115487] calling 0000:00:1e.4+ @ 2267, parent: pci0000:00 > [ 50.115689] calling 0000:00:1e.5+ @ 2270, parent: pci0000:00 > [ 50.115748] call 0000:00:1e.5+ returned 0 after 51 usecs > [ 50.115759] calling 0000:00:1f.0+ @ 2270, parent: pci0000:00 > [ 50.115804] call 0000:00:1f.0+ returned 0 after 38 usecs > [ 50.115813] calling 0000:00:1f.3+ @ 2270, parent: pci0000:00 > [ 50.115899] call 0000:00:1f.3+ returned 0 after 77 usecs > [ 50.115907] calling 0000:04:00.0+ @ 2270, parent: 0000:00:1c.3 > [ 50.129887] call 0000:00:1e.1+ returned 0 after 14073 usecs > [ 50.129890] call 0000:00:1e.2+ returned 0 after 14040 usecs > [ 50.129959] call 0000:00:1e.0+ returned 0 after 14181 usecs > [ 50.130106] call 0000:04:00.0+ returned 0 after 13839 usecs > [ 50.130142] ehci-pci 0000:00:1d.0: System wakeup disabled by ACPI > [ 50.130149] call 0000:00:1e.4+ returned 0 after 14290 usecs > [ 50.130151] call 0000:00:1d.0+ returned 0 after 14471 usecs > [ 50.130210] call 0000:00:17.0+ returned 0 after 14882 usecs > [ 50.130256] call 0000:00:13.0+ returned 0 after 15063 usecs > [ 50.130268] call 0000:00:11.0+ returned 0 after 15145 usecs > [ 50.130311] call 0000:00:12.0+ returned 0 after 15158 usecs > [ 50.130327] call 0000:00:02.0+ returned 0 after 15299 usecs > [ 50.359559] call 0000:00:00.0+ returned 0 after 16 usecs > [ 76.935630] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kworker/u8:7:2266] > [ 76.944393] Modules linked in: intel_rapl intel_soc_dts_iosf intel_powerclamp spi_pxa2xx_platform kvm_intel kvm irqbypass punit_atom_debug crct10dif_pclmul crc32_pclmul aesni_intel aes_x86_64 joydev input_leds lrw gf128mul glue_helper ablk_helper cryptd lpc_ich serio_raw pwm_lpss_pci spi_pxa2xx_pci pwm_lpss dw_dmac_pci dw_dmac_core shpchp 8250_fintek mac_hid nfsd auth_rpcgss nfs_acl lockd coretemp grace parport_pc ppdev lp parport sunrpc autofs4 hid_cherry usbhid hid mmc_block igb dca ptp i915 video drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ahci psmouse pps_core drm i2c_algo_bit sdhci_pci libahci sdhci fjes > [ 77.006747] CPU: 0 PID: 2266 Comm: kworker/u8:7 Not tainted 4.4.0-36-generic #55-Ubuntu > [ 77.015702] Hardware name: congatec conga-qeval20-qa3-e3845/conga-qeval20-qa3-e3845, BIOS 2017.05-rc2-00122-gf6a9c0b4fd-dirty 04/24/2017 > [ 77.029429] Workqueue: events_unbound async_run_entry_fn > [ 77.035374] task: ffff8800628b0c80 ti: ffff880176dc8000 task.ti: ffff880176dc8000 > [ 77.043746] RIP: 0010:[] [] __do_softirq+0x81/0x290 > [ 77.052807] RSP: 0018:ffff88017fc03f28 EFLAGS: 00000206 > [ 77.058747] RAX: ffff880176dcc000 RBX: 0000000000000000 RCX: 00000000000006e0 > [ 77.066730] RDX: 0000000000000000 RSI: 0000000004208060 RDI: 00000000000006e0 > [ 77.074704] RBP: ffff88017fc03f80 R08: ffff88017820e400 R09: ffff88017fc16d30 > [ 77.082687] R10: 0000000000000020 R11: 0000000000000004 R12: 0000000000000246 > [ 77.090669] R13: 00000000000000e2 R14: 000000000000002c R15: 000000000000000c > [ 77.098653] FS: 0000000000000000(0000) GS:ffff88017fc00000(0000) knlGS:0000000000000000 > [ 77.107706] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > [ 77.114132] CR2: 00007f7a3c016028 CR3: 0000000176cb5000 CR4: 00000000001006f0 > [ 77.122115] Stack: > [ 77.124359] 042080607fc0ede8 ffff880176dcc000 00000000ffff0b90 ffffffff81f361c0 > [ 77.132648] ffff88010000000a 000002827fc0d640 0000000000000000 0000000000000246 > [ 77.140937] 00000000000000e2 000000000000002c 000000000000000c ffff88017fc03f90 > [ 77.149226] Call Trace: > [ 77.151957] > [ 77.154107] [] irq_exit+0xa3/0xb0 > [ 77.159860] [] smp_apic_timer_interrupt+0x42/0x50 > [ 77.166969] [] apic_timer_interrupt+0x82/0x90 > [ 77.173686] > [ 77.175834] [] ? _raw_spin_unlock_irqrestore+0x15/0x20 > [ 77.183630] [] pci_bus_write_config_dword.part.7+0x59/0x70 > [ 77.191614] [] pci_bus_write_config_dword+0x19/0x20 > [ 77.198919] [] pci_restore_config_dword+0x65/0xe0 > [ 77.206029] [] pci_restore_state.part.33+0x222/0x250 > [ 77.213429] [] pci_restore_state+0x18/0x20 > [ 77.219858] [] pci_pm_resume_noirq+0x2f/0xa0 > [ 77.226480] [] ? pci_add_dynid+0xd0/0xd0 > [ 77.232715] [] dpm_run_callback+0x4e/0x140 > [ 77.239143] [] device_resume_noirq+0xb0/0x190 > [ 77.245861] [] async_resume_noirq+0x1d/0x50 > [ 77.252378] [] async_run_entry_fn+0x48/0x150 > [ 77.259001] [] process_one_work+0x165/0x480 > [ 77.265526] [] worker_thread+0x4b/0x4c0 > [ 77.271662] [] ? process_one_work+0x480/0x480 > [ 77.278381] [] kthread+0xd8/0xf0 > [ 77.283826] [] ? kthread_create_on_node+0x1e0/0x1e0 > [ 77.291130] [] ret_from_fork+0x3f/0x70 > [ 77.297168] [] ? kthread_create_on_node+0x1e0/0x1e0 > [ 77.304460] Code: 00 c7 45 c8 0a 00 00 00 48 89 45 c0 65 48 8b 04 25 04 42 01 00 48 89 45 b0 65 c7 05 76 e6 f8 7e 00 00 00 00 fb 66 0f 1f 44 00 00 ff ff ff ff 49 c7 c4 c0 90 e0 81 0f bc 45 d4 83 c0 01 89 45 Thanks for the logs. Can you do the following before suspend and test again? # echo 0 > /sys/power/pm_async [snip] Regards, Bin