]> git.sur5r.net Git - u-boot/commit
x86: baytrail: Fix unstable ACPI S3 resume
authorBin Meng <bmeng.cn@gmail.com>
Thu, 12 Oct 2017 12:07:57 +0000 (05:07 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 19 Oct 2017 03:37:51 +0000 (11:37 +0800)
commitfebdfaabc73473ca01e193e0a4be7e89e8f80cb4
treea3dd7b389c0571a6b21563efd438104c38879d7a
parent917d3565b5c6f064250fece1eebd7dc0f78a1fc0
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>
arch/x86/cpu/baytrail/valleyview.c