From 0edc22490a643c4b4c6181c42eed375485f9e0e4 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Mon, 29 Apr 2013 15:04:30 -0700 Subject: smi: Update mainboard_smi_gpi() to have 32bit argument With the LynxPoint chipset there are more than 16 possible GPIOs that can trigger an SMI so we need a mainboard handler that can support this. There are only a handful of users of this function so just change them all to use the new prototype. Change-Id: I3d96da0397d6584f713fcf6003054b25c1c92939 Signed-off-by: Duncan Laurie Reviewed-on: https://gerrit.chromium.org/gerrit/49530 Reviewed-by: Stefan Reinauer Reviewed-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/4145 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc --- src/cpu/x86/smm/smm_module_handler.c | 2 +- src/include/cpu/x86/smm.h | 4 ++-- src/mainboard/getac/p470/smihandler.c | 2 +- src/mainboard/google/butterfly/mainboard_smi.c | 2 +- src/mainboard/google/link/mainboard_smi.c | 2 +- src/mainboard/google/parrot/smihandler.c | 2 +- src/mainboard/google/stout/mainboard_smi.c | 2 +- src/mainboard/kontron/ktqm77/smihandler.c | 2 +- src/mainboard/lenovo/t60/smihandler.c | 2 +- src/mainboard/lenovo/x60/smihandler.c | 2 +- src/mainboard/roda/rk9/smihandler.c | 2 +- src/mainboard/samsung/lumpy/smihandler.c | 2 +- src/southbridge/intel/bd82x6x/smihandler.c | 4 ++-- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/cpu/x86/smm/smm_module_handler.c b/src/cpu/x86/smm/smm_module_handler.c index 116dafa196..444e3352c7 100644 --- a/src/cpu/x86/smm/smm_module_handler.c +++ b/src/cpu/x86/smm/smm_module_handler.c @@ -165,6 +165,6 @@ int __attribute__((weak)) mainboard_io_trap_handler(int smif) { return 0; } void __attribute__((weak)) cpu_smi_handler(void) {} void __attribute__((weak)) northbridge_smi_handler() {} void __attribute__((weak)) southbridge_smi_handler() {} -void __attribute__((weak)) mainboard_smi_gpi(u16 gpi_sts) {} +void __attribute__((weak)) mainboard_smi_gpi(u32 gpi_sts) {} int __attribute__((weak)) mainboard_smi_apmc(u8 data) { return 0; } void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ) {} diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index cacbff0c7a..607c0f0a0d 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -387,7 +387,7 @@ void southbridge_smi_set_eos(void); void cpu_smi_handler(void); void northbridge_smi_handler(void); void southbridge_smi_handler(void); -void mainboard_smi_gpi(u16 gpi_sts); +void mainboard_smi_gpi(u32 gpi_sts); int mainboard_smi_apmc(u8 data); void mainboard_smi_sleep(u8 slp_typ); #else @@ -395,7 +395,7 @@ void __attribute__((weak)) cpu_smi_handler(unsigned int node, smm_state_save_are void __attribute__((weak)) northbridge_smi_handler(unsigned int node, smm_state_save_area_t *state_save); 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); +void __attribute__((weak)) mainboard_smi_gpi(u32 gpi_sts); int __attribute__((weak)) mainboard_smi_apmc(u8 data); void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ); #endif /* CONFIG_SMM_MODULES */ diff --git a/src/mainboard/getac/p470/smihandler.c b/src/mainboard/getac/p470/smihandler.c index 6122c82e9a..c66abadd7a 100644 --- a/src/mainboard/getac/p470/smihandler.c +++ b/src/mainboard/getac/p470/smihandler.c @@ -180,7 +180,7 @@ static void mainboard_smi_hotkey(u8 hotkey) printk(BIOS_DEBUG, "EC hotkey: %02x\n", hotkey); } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { u8 source, hotkey; send_ec_oem_command(0x5c); diff --git a/src/mainboard/google/butterfly/mainboard_smi.c b/src/mainboard/google/butterfly/mainboard_smi.c index e2f00e17c9..a40e4288ba 100644 --- a/src/mainboard/google/butterfly/mainboard_smi.c +++ b/src/mainboard/google/butterfly/mainboard_smi.c @@ -52,7 +52,7 @@ int mainboard_io_trap_handler(int smif) return 1; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { printk(BIOS_DEBUG, "warn: unknown mainboard_smi_gpi: %x\n", gpi_sts); } diff --git a/src/mainboard/google/link/mainboard_smi.c b/src/mainboard/google/link/mainboard_smi.c index a4c4a50351..3785121f22 100644 --- a/src/mainboard/google/link/mainboard_smi.c +++ b/src/mainboard/google/link/mainboard_smi.c @@ -80,7 +80,7 @@ static u8 mainboard_smi_ec(void) return cmd; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { if (gpi_sts & (1 << EC_SMI_GPI)) { /* Process all pending events */ diff --git a/src/mainboard/google/parrot/smihandler.c b/src/mainboard/google/parrot/smihandler.c index a5f6ba2e3d..72a3a1b61a 100644 --- a/src/mainboard/google/parrot/smihandler.c +++ b/src/mainboard/google/parrot/smihandler.c @@ -125,7 +125,7 @@ static u8 mainboard_smi_ec(void) return src; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { u32 pm1_cnt; diff --git a/src/mainboard/google/stout/mainboard_smi.c b/src/mainboard/google/stout/mainboard_smi.c index 0f2ecd56a2..44dc46e345 100644 --- a/src/mainboard/google/stout/mainboard_smi.c +++ b/src/mainboard/google/stout/mainboard_smi.c @@ -72,7 +72,7 @@ static u8 mainboard_smi_ec(void) return cmd; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { if (gpi_sts & (1 << EC_SMI_GPI)) { /* Process all pending events */ diff --git a/src/mainboard/kontron/ktqm77/smihandler.c b/src/mainboard/kontron/ktqm77/smihandler.c index fd95b93e1d..18ff68ddfa 100644 --- a/src/mainboard/kontron/ktqm77/smihandler.c +++ b/src/mainboard/kontron/ktqm77/smihandler.c @@ -48,7 +48,7 @@ int mainboard_io_trap_handler(int smif) return 1; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { printk(BIOS_DEBUG, "warn: unknown mainboard_smi_gpi: %x\n", gpi_sts); } diff --git a/src/mainboard/lenovo/t60/smihandler.c b/src/mainboard/lenovo/t60/smihandler.c index f4bad8b581..093996b402 100644 --- a/src/mainboard/lenovo/t60/smihandler.c +++ b/src/mainboard/lenovo/t60/smihandler.c @@ -152,7 +152,7 @@ static void mainboard_smi_handle_ec_sci(void) } } -void mainboard_smi_gpi(u16 gpi) +void mainboard_smi_gpi(u32 gpi) { if (gpi & (1 << 12)) mainboard_smi_handle_ec_sci(); diff --git a/src/mainboard/lenovo/x60/smihandler.c b/src/mainboard/lenovo/x60/smihandler.c index 5a7130fe5f..090f0377bc 100644 --- a/src/mainboard/lenovo/x60/smihandler.c +++ b/src/mainboard/lenovo/x60/smihandler.c @@ -158,7 +158,7 @@ static void mainboard_smi_handle_ec_sci(void) } } -void mainboard_smi_gpi(u16 gpi) +void mainboard_smi_gpi(u32 gpi) { if (gpi & (1 << 12)) mainboard_smi_handle_ec_sci(); diff --git a/src/mainboard/roda/rk9/smihandler.c b/src/mainboard/roda/rk9/smihandler.c index fe68c4b5e5..baa038ea0b 100644 --- a/src/mainboard/roda/rk9/smihandler.c +++ b/src/mainboard/roda/rk9/smihandler.c @@ -50,7 +50,7 @@ int mainboard_io_trap_handler(int smif) return 1; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { if (gpi_sts & (1 << 1)) { printk(BIOS_DEBUG, "EC/SMI\n"); diff --git a/src/mainboard/samsung/lumpy/smihandler.c b/src/mainboard/samsung/lumpy/smihandler.c index 9306a02118..417ccd87fb 100644 --- a/src/mainboard/samsung/lumpy/smihandler.c +++ b/src/mainboard/samsung/lumpy/smihandler.c @@ -70,7 +70,7 @@ static u8 mainboard_smi_ec(void) return cmd; } -void mainboard_smi_gpi(u16 gpi_sts) +void mainboard_smi_gpi(u32 gpi_sts) { if (gpi_sts & (1 << EC_SMI_GPI)) { /* Process all pending EC requests */ diff --git a/src/southbridge/intel/bd82x6x/smihandler.c b/src/southbridge/intel/bd82x6x/smihandler.c index 491f997ea5..99f6b51319 100644 --- a/src/southbridge/intel/bd82x6x/smihandler.c +++ b/src/southbridge/intel/bd82x6x/smihandler.c @@ -626,7 +626,7 @@ static void southbridge_smi_gpe0(unsigned int node, smm_state_save_area_t *state static void southbridge_smi_gpi(unsigned int node, smm_state_save_area_t *state_save) { - void (*mainboard_gpi)(u16 gpi_sts) = mainboard_smi_gpi; + void (*mainboard_gpi)(u32 gpi_sts) = mainboard_smi_gpi; u16 reg16; reg16 = inw(pmbase + ALT_GP_SMI_STS); outw(reg16, pmbase + ALT_GP_SMI_STS); @@ -638,7 +638,7 @@ static void southbridge_smi_gpi(unsigned int node, smm_state_save_area_t *state_ mainboard_gpi(reg16); } else { if (reg16) - printk(BIOS_DEBUG, "GPI (mask %04x)\n",reg16); + printk(BIOS_DEBUG, "GPI (mask %04x)\n", reg16); } outw(reg16, pmbase + ALT_GP_SMI_STS); -- cgit v1.2.3