]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI / LPSS: introduce a 'proxy' device to power on LPSS for DMA
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 5 Nov 2014 16:34:47 +0000 (18:34 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 11 Nov 2014 22:44:19 +0000 (23:44 +0100)
commitfb9d3c27d788542e0a351f14206b25a3fa1589e4
tree513f51c35ceb1ce9f2951eea2bfa87cb55bf8501
parent1b13e48f4aa5dd26d2cca0975fa77d93e0ce95cc
ACPI / LPSS: introduce a 'proxy' device to power on LPSS for DMA

The LPSS DMA controller does not have _PS0 and _PS3 methods. 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 Bay Trail [1] as well as on
Asus T100 transformer.

This patch introduces a so called 'proxy' device that has the knobs to handle a
power of the LPSS island. When the system needs to program the DMA controller
it calls to the ACPI LPSS power domain callbacks that wake or suspend the
'proxy' device.

[1] http://www.spinics.net/lists/dmaengine/msg01514.html

Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Scott Ashcroft <scott.ashcroft@talk21.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c