ACPI / LPSS: custom power domain for LPSS
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Fri, 23 May 2014 13:15:09 +0000 (16:15 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 25 May 2014 12:40:28 +0000 (14:40 +0200)
commitc78b0830667a7e7c1f0ca65b76b33166a84806b3
treee49dbc23ff2132c95842342a3010c464300b70a9
parent4cf563c5d97c83d4b2fb3a778dd7d5e362cc3e34
ACPI / LPSS: custom power domain for LPSS

A power domain where we save the context of the additional
LPSS registers. We need to do this or all LPSS devices are
left in reset state when resuming from D3 on some Baytrails.
The devices with the fractional clock divider also have
zeros for N and M values after resuming unless they are
reset.

Li Aubrey found the root cause for the issue. The idea of
using power domain for LPSS came from Mika Westerberg.

Reported-by: Jin Yao <yao.jin@linux.intel.com>
Suggested-by: Li Aubrey <aubrey.li@linux.intel.com>
Suggested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
[rjw: Added the .complete() callback to the PM domain, fixed build
 warning on 32-bit.]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c