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 <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/49530
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/4145
Tested-by: build bot (Jenkins)
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
Duncan Laurie 2013-04-29 15:04:30 -07:00 committed by Alexandru Gagniuc
parent a7e9a9b75f
commit 0edc22490a
13 changed files with 15 additions and 15 deletions

View File

@ -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)) cpu_smi_handler(void) {}
void __attribute__((weak)) northbridge_smi_handler() {} void __attribute__((weak)) northbridge_smi_handler() {}
void __attribute__((weak)) southbridge_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; } int __attribute__((weak)) mainboard_smi_apmc(u8 data) { return 0; }
void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ) {} void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ) {}

View File

@ -387,7 +387,7 @@ void southbridge_smi_set_eos(void);
void cpu_smi_handler(void); void cpu_smi_handler(void);
void northbridge_smi_handler(void); void northbridge_smi_handler(void);
void southbridge_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); int mainboard_smi_apmc(u8 data);
void mainboard_smi_sleep(u8 slp_typ); void mainboard_smi_sleep(u8 slp_typ);
#else #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)) 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)) 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); int __attribute__((weak)) mainboard_smi_apmc(u8 data);
void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ); void __attribute__((weak)) mainboard_smi_sleep(u8 slp_typ);
#endif /* CONFIG_SMM_MODULES */ #endif /* CONFIG_SMM_MODULES */

View File

@ -180,7 +180,7 @@ static void mainboard_smi_hotkey(u8 hotkey)
printk(BIOS_DEBUG, "EC hotkey: %02x\n", 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; u8 source, hotkey;
send_ec_oem_command(0x5c); send_ec_oem_command(0x5c);

View File

@ -52,7 +52,7 @@ int mainboard_io_trap_handler(int smif)
return 1; 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); printk(BIOS_DEBUG, "warn: unknown mainboard_smi_gpi: %x\n", gpi_sts);
} }

View File

@ -80,7 +80,7 @@ static u8 mainboard_smi_ec(void)
return cmd; return cmd;
} }
void mainboard_smi_gpi(u16 gpi_sts) void mainboard_smi_gpi(u32 gpi_sts)
{ {
if (gpi_sts & (1 << EC_SMI_GPI)) { if (gpi_sts & (1 << EC_SMI_GPI)) {
/* Process all pending events */ /* Process all pending events */

View File

@ -125,7 +125,7 @@ static u8 mainboard_smi_ec(void)
return src; return src;
} }
void mainboard_smi_gpi(u16 gpi_sts) void mainboard_smi_gpi(u32 gpi_sts)
{ {
u32 pm1_cnt; u32 pm1_cnt;

View File

@ -72,7 +72,7 @@ static u8 mainboard_smi_ec(void)
return cmd; return cmd;
} }
void mainboard_smi_gpi(u16 gpi_sts) void mainboard_smi_gpi(u32 gpi_sts)
{ {
if (gpi_sts & (1 << EC_SMI_GPI)) { if (gpi_sts & (1 << EC_SMI_GPI)) {
/* Process all pending events */ /* Process all pending events */

View File

@ -48,7 +48,7 @@ int mainboard_io_trap_handler(int smif)
return 1; 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); printk(BIOS_DEBUG, "warn: unknown mainboard_smi_gpi: %x\n", gpi_sts);
} }

View File

@ -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)) if (gpi & (1 << 12))
mainboard_smi_handle_ec_sci(); mainboard_smi_handle_ec_sci();

View File

@ -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)) if (gpi & (1 << 12))
mainboard_smi_handle_ec_sci(); mainboard_smi_handle_ec_sci();

View File

@ -50,7 +50,7 @@ int mainboard_io_trap_handler(int smif)
return 1; return 1;
} }
void mainboard_smi_gpi(u16 gpi_sts) void mainboard_smi_gpi(u32 gpi_sts)
{ {
if (gpi_sts & (1 << 1)) { if (gpi_sts & (1 << 1)) {
printk(BIOS_DEBUG, "EC/SMI\n"); printk(BIOS_DEBUG, "EC/SMI\n");

View File

@ -70,7 +70,7 @@ static u8 mainboard_smi_ec(void)
return cmd; return cmd;
} }
void mainboard_smi_gpi(u16 gpi_sts) void mainboard_smi_gpi(u32 gpi_sts)
{ {
if (gpi_sts & (1 << EC_SMI_GPI)) { if (gpi_sts & (1 << EC_SMI_GPI)) {
/* Process all pending EC requests */ /* Process all pending EC requests */

View File

@ -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) 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; u16 reg16;
reg16 = inw(pmbase + ALT_GP_SMI_STS); reg16 = inw(pmbase + ALT_GP_SMI_STS);
outw(reg16, pmbase + ALT_GP_SMI_STS); outw(reg16, pmbase + ALT_GP_SMI_STS);