ACPI / LPSS: override power state for LPSS DMA device
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sat, 12 Dec 2015 01:45:06 +0000 (02:45 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 7 Jan 2016 13:11:32 +0000 (14:11 +0100)
commiteebb3e8d8aaf28f4bcaf12fd3645350bfd2f0b36
tree5d74ba65967afd6e6c1931887827a5abe66afc5d
parentc3a49cf35ead83829e54fc771a3acc1b1aa6dfd8
ACPI / LPSS: override power state for LPSS DMA device

This is a third approach to workaround long standing issue with LPSS on
BayTrail. First one [1] was reverted since it didn't resolve the issue
comprehensively. Second one [2] was rejected by internal review.

The LPSS DMA controller does not have neither _PS0 nor _PS3 method. Moreover it
can be powered off automatically whenever the last LPSS device goes down. In
case of no power any access to the DMA controller will hang the system. The
behaviour is reproduced on some HP laptops based on Intel BayTrail [3,4] as
well as on ASuS T100TA transformer.

Power on the LPSS island through the registers accessible in a specific way.

[1] http://www.spinics.net/lists/linux-acpi/msg53963.html
[2] https://bugzilla.redhat.com/attachment.cgi?id=1066779&action=diff
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1184273
[4] http://www.spinics.net/lists/dmaengine/msg01514.html

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/Kconfig
arch/x86/include/asm/iosf_mbi.h
drivers/acpi/acpi_lpss.c