[PATCH] serial: 8250_dw: Handle no_console_suspend when uart loses state
From: heikki.krogerus@linux.intel.com (Heikki Krogerus)
Date: 2014-11-28 12:09:46
Also in:
linux-serial, lkml
From: heikki.krogerus@linux.intel.com (Heikki Krogerus)
Date: 2014-11-28 12:09:46
Also in:
linux-serial, lkml
On Mon, Nov 17, 2014 at 09:56:08AM +0100, Loic Poulain wrote:
quoted
In certain suspend modes on certain boards the 8250 UART may lose state when the device goes to suspend. If we're using no_console_suspend this can cause lots of problems during resume. Let's cache the basic UART config registers at suspend time and if we notice that the UART loses state (by looking at a canary stored in the scratch register) we'll restore it.If I'm not wrong, it's already done in acpi_lpss suspend/resume (for 8250_dw). Commit c78b0830667a7e7c1f0ca65b76b33166a84806b3.
FYI, we are not saving any UART specific registers in acpi_lpss.c nor any other bus controller's registers that are part of the LPSS block. We are saving/restoring only the context of lpss specific register there. Cheers, -- heikki