soc/intel/common/block: Move power button SMI functions to common PMC block

This patch moves the functions update_pm1_enable and read_pm1_enable
to common block PMC. We rename the functions to pmc_update_pm1_enable and
pmc_read_pm1_enable to keep semantics consistent.

Change-Id: I9a73a6348fc22367ee2e68bf2c31823ebfefc525
Signed-off-by: Shaunak Saha <shaunak.saha@intel.com>
Reviewed-on: https://review.coreboot.org/21755
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Shaunak Saha 2017-09-28 15:13:05 -07:00 committed by Aaron Durbin
parent 1760cd3eb4
commit 25cc76ff48
2 changed files with 22 additions and 0 deletions

View File

@ -42,6 +42,11 @@ uint32_t soc_get_smi_status(uint32_t generic_sts);
*/
int soc_prev_sleep_state(const struct chipset_power_state *ps,
int prev_sleep_state);
/* PM1 */
void pmc_update_pm1_enable(uint16_t events);
uint16_t pmc_read_pm1_enable(void);
/*
* Function to print, clear, and return SMI status bits in SMI_STS
* register. This function internally calls pmc_reset_smi_status with

View File

@ -72,6 +72,23 @@ static uint32_t print_smi_status(uint32_t smi_sts)
return smi_sts;
}
/*
* Update supplied events in PM1_EN register. This does not disable any already
* set events.
*/
void pmc_update_pm1_enable(u16 events)
{
u16 pm1_en = pmc_read_pm1_enable();
pm1_en |= events;
pmc_enable_pm1(pm1_en);
}
/* Read events set in PM1_EN register. */
uint16_t pmc_read_pm1_enable(void)
{
return inw(ACPI_BASE_ADDRESS + PM1_EN);
}
uint32_t pmc_clear_smi_status(void)
{
uint32_t sts = pmc_reset_smi_status();