Lines Matching full:gpe
129 * this threshold, will think there is a GPE storm happened and
130 * will disable the GPE for normal transaction.
134 MODULE_PARM_DESC(ec_storm_threshold, "Maxim false GPE numbers not considered as GPE storm");
185 static int EC_FLAGS_IGNORE_DSDT_GPE; /* Needs ECDT GPE as correction setting */
186 static int EC_FLAGS_TRUST_DSDT_GPE; /* Needs DSDT GPE as correction setting */
336 * GPE Registers
343 (void)acpi_get_gpe_status(NULL, ec->gpe, &gpe_status); in acpi_ec_gpe_status_set()
350 acpi_enable_gpe(NULL, ec->gpe); in acpi_ec_enable_gpe()
353 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_ENABLE); in acpi_ec_enable_gpe()
357 * On some platforms, EN=1 writes cannot trigger GPE. So in acpi_ec_enable_gpe()
358 * software need to manually trigger a pseudo GPE event on in acpi_ec_enable_gpe()
369 acpi_disable_gpe(NULL, ec->gpe); in acpi_ec_disable_gpe()
372 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_DISABLE); in acpi_ec_disable_gpe()
384 ec->gpe >= 0 && ec->reference_count == 1) in acpi_ec_submit_request()
394 ec->gpe >= 0 && ec->reference_count == 0) in acpi_ec_complete_request()
404 if (ec->gpe >= 0) in acpi_ec_mask_events()
418 if (ec->gpe >= 0) in acpi_ec_unmask_events()
639 * changes to always trigger a GPE interrupt. in advance_transaction()
641 * GPE STS is a W1C register, which means: in advance_transaction()
649 if (ec->gpe >= 0 && acpi_ec_gpe_status_set(ec)) in advance_transaction()
650 acpi_clear_gpe(NULL, ec->gpe); in advance_transaction()
727 * GPE handler after the transaction enters in ec_guard()
777 /* Enable GPE for command processing (IBF=0/OBF=1) */ in acpi_ec_transaction_unlocked()
796 /* Disable GPE for command processing (IBF=0/OBF=1) */ in acpi_ec_transaction_unlocked()
937 /* Enable GPE for event processing (SCI_EVT=1) */ in acpi_ec_start()
969 /* Disable GPE for event processing (SCI_EVT=1) */ in acpi_ec_stop()
1339 ec->gpe = -1; in acpi_ec_alloc()
1380 * Always inherit the GPE number setting from the ECDT in ec_parse_device()
1383 ec->gpe = boot_ec->gpe; in ec_parse_device()
1385 /* Get GPE bit assignment (EC events). */ in ec_parse_device()
1389 ec->gpe = tmp; in ec_parse_device()
1393 * platforms which use GpioInt instead of GPE. in ec_parse_device()
1408 status = acpi_install_gpe_raw_handler(NULL, ec->gpe, in install_gpe_event_handler()
1433 * namespace and register them, and install an event (either GPE or GPIO IRQ)
1464 if (ec->gpe < 0) { in ec_install_handlers()
1487 if (ec->gpe >= 0) in ec_install_handlers()
1521 * Flushes the EC requests and thus disables the GPE before in ec_remove_handlers()
1522 * removing the GPE handler. This is required by the current ACPICA in ec_remove_handlers()
1523 * GPE core. ACPICA GPE core will automatically disable a GPE when in ec_remove_handlers()
1525 * must disable the GPEs prior to removing the GPE handlers. in ec_remove_handlers()
1530 if (ec->gpe >= 0 && in ec_remove_handlers()
1531 ACPI_FAILURE(acpi_remove_gpe_handler(NULL, ec->gpe, in ec_remove_handlers()
1533 pr_err("failed to remove gpe handler\n"); in ec_remove_handlers()
1562 if (ec->gpe >= 0) in acpi_ec_setup()
1563 pr_info("GPE=0x%x\n", ec->gpe); in acpi_ec_setup()
1601 * ECDT ID. But trust ECDT GPE rather than _GPE in acpi_ec_add()
1603 * boot_ec->gpe to ec->gpe. in acpi_ec_add()
1729 * At this point, the GPE is not fully initialized, so do not to in acpi_ec_dsdt_probe()
1822 * Some ECDTs contain wrong GPE setting, but they share the same port addresses
1828 pr_debug("Detected system needing DSDT GPE setting.\n"); in ec_honor_dsdt_gpe()
1834 * Some DSDTs contain wrong GPE setting.
1840 pr_debug("Detected system needing ignore DSDT GPE setting.\n"); in ec_honor_ecdt_gpe()
1932 * Ignore the GPE value on Reduced Hardware platforms. in acpi_ec_ecdt_probe()
1936 ec->gpe = ecdt_ptr->gpe; in acpi_ec_ecdt_probe()
1975 * The SCI handler doesn't run at this point, so the GPE can be in acpi_ec_suspend_noirq()
1979 ec->gpe >= 0 && ec->reference_count >= 1) in acpi_ec_suspend_noirq()
1980 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_DISABLE); in acpi_ec_suspend_noirq()
1994 ec->gpe >= 0 && ec->reference_count >= 1) in acpi_ec_resume_noirq()
1995 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_ENABLE); in acpi_ec_resume_noirq()
2012 acpi_mark_gpe_for_wake(NULL, first_ec->gpe); in acpi_ec_mark_gpe_for_wake()
2019 acpi_set_gpe_wake_mask(NULL, first_ec->gpe, action); in acpi_ec_set_gpe_wake_mask()
2030 * Report wakeup if the status bit is set for any enabled GPE other in acpi_ec_dispatch_gpe()
2033 if (acpi_any_gpe_status_set(first_ec->gpe)) in acpi_ec_dispatch_gpe()
2037 * Dispatch the EC GPE in-band, but do not report wakeup in any case in acpi_ec_dispatch_gpe()
2040 ret = acpi_dispatch_gpe(NULL, first_ec->gpe); in acpi_ec_dispatch_gpe()
2042 pm_pr_dbg("ACPI EC GPE dispatched\n"); in acpi_ec_dispatch_gpe()
2168 * wakeup from EC GPE. in acpi_ec_init()