summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2012-04-27 00:44:04 +0200
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-04-27 19:23:50 +0200
commitbf34e94095dfdbd032d50c0067ee91182db88118 (patch)
tree7a110d93d83117f71697dc6ee508399aaed06211
parentac8209a4b351f0a241d68f09851593625a0f146a (diff)
SMM: unify mainboard APM command handlers
rename from mainboard_apm_cnt to mainboard_smi_apmc to match the function naming scheme of the other handlers. Add prototype for mainboard_smi_sleep (mainboard specific S3 sleep handlers in SMM) that is required by Sandybridge. Change-Id: Ib479397e460e33772d90d9d41dba267e4e7e3008 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/933 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/include/cpu/x86/smm.h4
-rw-r--r--src/mainboard/lenovo/t60/mainboard_smi.c2
-rw-r--r--src/mainboard/lenovo/x60/mainboard_smi.c2
-rw-r--r--src/southbridge/intel/bd82x6x/smihandler.c2
-rw-r--r--src/southbridge/intel/i82801gx/smihandler.c2
5 files changed, 7 insertions, 5 deletions
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h
index 60959f52f6..89257e59e9 100644
--- a/src/include/cpu/x86/smm.h
+++ b/src/include/cpu/x86/smm.h
@@ -279,7 +279,9 @@ void __attribute__((weak)) northbridge_smi_handler(unsigned int node, smm_state_
void __attribute__((weak)) southbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save);
void __attribute__((weak)) mainboard_smi_gpi(u16 gpi_sts);
-int __attribute__((weak)) mainboard_apm_cnt(u8 data);
+int __attribute__((weak)) mainboard_smi_apmc(u8 data);
+void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ);
+
#if !CONFIG_SMM_TSEG
void smi_release_lock(void);
#endif
diff --git a/src/mainboard/lenovo/t60/mainboard_smi.c b/src/mainboard/lenovo/t60/mainboard_smi.c
index eb282564af..6ea503776d 100644
--- a/src/mainboard/lenovo/t60/mainboard_smi.c
+++ b/src/mainboard/lenovo/t60/mainboard_smi.c
@@ -159,7 +159,7 @@ void mainboard_smi_gpi(u16 gpi)
mainboard_smi_handle_ec_sci();
}
-int mainboard_apm_cnt(u8 data)
+int mainboard_smi_apmc(u8 data)
{
u16 pmbase = pci_read_config16(PCI_DEV(0, 0x1f, 0), 0x40) & 0xfffc;
u8 tmp;
diff --git a/src/mainboard/lenovo/x60/mainboard_smi.c b/src/mainboard/lenovo/x60/mainboard_smi.c
index bd1333a658..c0d8440d47 100644
--- a/src/mainboard/lenovo/x60/mainboard_smi.c
+++ b/src/mainboard/lenovo/x60/mainboard_smi.c
@@ -165,7 +165,7 @@ void mainboard_smi_gpi(u16 gpi)
mainboard_smi_handle_ec_sci();
}
-int mainboard_apm_cnt(u8 data)
+int mainboard_smi_apmc(u8 data)
{
u16 pmbase = pci_read_config16(PCI_DEV(0, 0x1f, 0), 0x40) & 0xfffc;
u8 tmp;
diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c
index e311d95e01..d7690ba63f 100644
--- a/src/southbridge/intel/bd82x6x/smihandler.c
+++ b/src/southbridge/intel/bd82x6x/smihandler.c
@@ -405,7 +405,7 @@ static void southbridge_smi_apmc(unsigned int node, smm_state_save_area_t *state
{
u32 pmctrl;
u8 reg8;
- void (*mainboard_apmc)(u8 apmc) = mainboard_smi_apmc;
+ int (*mainboard_apmc)(u8 apmc) = mainboard_smi_apmc;
/* Emulate B2 register as the FADT / Linux expects it */
diff --git a/src/southbridge/intel/i82801gx/smihandler.c b/src/southbridge/intel/i82801gx/smihandler.c
index 401c9adcf8..9d71fa3362 100644
--- a/src/southbridge/intel/i82801gx/smihandler.c
+++ b/src/southbridge/intel/i82801gx/smihandler.c
@@ -366,7 +366,7 @@ static void southbridge_smi_apmc(unsigned int node, smm_state_save_area_t *state
/* Emulate B2 register as the FADT / Linux expects it */
reg8 = inb(APM_CNT);
- if (mainboard_apm_cnt && mainboard_apm_cnt(reg8))
+ if (mainboard_smi_apmc && mainboard_smi_apmc(reg8))
return;
switch (reg8) {