u-boot-brain/arch/x86/cpu
Bin Meng febdfaabc7 x86: baytrail: Fix unstable ACPI S3 resume
It was observed that when booting a Ubuntu 16.04 kernel, doing ACPI
S3 suspend/resume sometimes causes the Ubuntu kernel hang forever.
The issue is however not reproduced with a kernel built from i386/
x86_64 defconfig configuration.

The unstability is actually caused by unexpected interrupts being
generated during the S3 resume. For some unknown reason, FSP (gold4)
for BayTrail configures the GPIO DFX5 PAD to enable level interrupt
(bit 24 and 25). As this pin keeps generating interrupts during an
S3 resume, and there is no IRQ requester in the kernel to handle it,
the kernel seems to hang and does not continue resuming.

Clear the mysterious interrupt bits for this pin.

Reported-by: Stefan Roese <sr@denx.de>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
2017-10-19 11:37:51 +08:00
..
baytrail x86: baytrail: Fix unstable ACPI S3 resume 2017-10-19 11:37:51 +08:00
braswell x86: braswell: Disable PUNIT power configuration for B0 stepping 2017-09-16 14:57:44 +08:00
broadwell env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
coreboot env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
efi x86: kconfig: Select ARCH_MISC_INIT in the platform Kconfig 2017-08-01 20:17:02 +08:00
i386 x86: Force 32-bit jumps in interrupt handlers 2017-02-21 14:53:29 +08:00
intel_common dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
ivybridge x86: ivybridge: remove unused variables 2017-09-16 14:57:44 +08:00
qemu env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
quark env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
queensbay env: Convert CONFIG_ENV_IS_IN... to a choice 2017-08-15 20:50:01 -04:00
tangier x86: tangier: Enable ACPI support for Intel Tangier 2017-10-07 15:07:59 +08:00
x86_64 board_f: x86: Use checkcpu() for CPU init 2017-04-05 13:55:09 -04:00
call32.S x86: Add a way to call 32-bit code from 64-bit mode 2015-08-05 08:44:07 -06:00
config.mk x86: Update compile/link flags to support 64-bit U-Boot 2017-02-07 13:14:54 +08:00
cpu_x86.c x86: Drop leading spaces in cpu_x86_get_desc() 2017-04-18 15:51:21 +08:00
cpu.c x86: acpi: Fix Windows S3 resume failure 2017-05-17 17:11:46 +08:00
ioapic.c x86: Add a function to set the IOAPIC ID 2016-03-17 10:27:27 +08:00
irq.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
lapic.c x86: Remove SMP limitation in lapic_setup() 2016-05-23 15:27:41 +08:00
Makefile x86: Add Intel Braswell SoC support 2017-09-16 14:57:44 +08:00
mp_init.c x86: Intel MID platforms has no microcode update 2017-02-21 15:10:56 +08:00
mtrr.c x86: Test mtrr support flag before accessing mtrr msr 2015-01-23 17:24:55 -07:00
pci.c x86: pci: Drop legacy PCI APIs 2016-02-05 12:47:23 +08:00
resetvec.S Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sipi_vector.S x86: Add comments to the SIPI vector 2016-03-17 10:27:23 +08:00
start.S x86: make LOAD_FROM_32_BIT visible for platforms 2017-02-07 13:36:50 +08:00
start16.S x86: fsp: Load GDT before calling FspInitEntry 2015-07-14 18:03:15 -06:00
start64.S x86: Add 64-bit start-up code 2017-02-06 11:38:46 +08:00
turbo.c x86: Convert CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED to Kconfig 2017-08-24 11:00:47 +08:00
u-boot-64.lds x86: Add a link script for 64-bit x86 2017-02-06 11:38:46 +08:00
u-boot-spl.lds x86: Add a link script for SPL 2017-02-06 11:38:46 +08:00
u-boot.lds x86: Use X86_16BIT_INIT instead of X86_RESET_VECTOR 2017-02-06 11:38:46 +08:00
wakeup.S x86: acpi: Add wake up assembly stub 2017-05-17 17:11:46 +08:00