summaryrefslogtreecommitdiff
path: root/lib/fdt_ro.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-09-08 20:08:13 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-20 18:00:03 +0100
commitad196348b6f4a9dad8ba499bc57d4ca9d35453c1 (patch)
tree1f04059b9d64504ad8bdb4ad7bdfdded2a89a18c /lib/fdt_ro.c
parentbbce829fd3bc194a098aa7c64ca283c133221a0d (diff)
ACPI / LPSS: Exclude I2C busses shared with PUNIT from pmc_atom_d3_mask
[ Upstream commit 86b62e5cd8965d3056f9e9ccdec51631c37add81 ] lpss_iosf_enter_d3_state() checks if all hw-blocks using the DMA controllers are in d3 before powering down the DMA controllers. But on devices, where the I2C bus connected to the PMIC is shared by the PUNIT, the controller for that bus will never reach d3 since it has an effectively empty _PS3 method. Instead it appears to automatically power-down during S0i3 and we never see it as being in d3. This causes the DMA controllers to never be powered-down on these devices, causing them to never reach S0i3. This commit uses the ACPI _SEM method to detect if an I2C bus is shared with the PUNIT and if it is, it removes it from the mask of devices which lpss_iosf_enter_d3_state() checks for. This fixes these devices never reaching any S0ix states. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'lib/fdt_ro.c')
0 files changed, 0 insertions, 0 deletions