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");
186 static int EC_FLAGS_IGNORE_DSDT_GPE; /* Needs ECDT GPE as correction setting */
187 static int EC_FLAGS_TRUST_DSDT_GPE; /* Needs DSDT GPE as correction setting */
337 * GPE Registers
344 (void)acpi_get_gpe_status(NULL, ec->gpe, &gpe_status); in acpi_ec_is_gpe_raised()
351 acpi_enable_gpe(NULL, ec->gpe); in acpi_ec_enable_gpe()
354 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_ENABLE); in acpi_ec_enable_gpe()
358 * On some platforms, EN=1 writes cannot trigger GPE. So in acpi_ec_enable_gpe()
359 * software need to manually trigger a pseudo GPE event on in acpi_ec_enable_gpe()
370 acpi_disable_gpe(NULL, ec->gpe); in acpi_ec_disable_gpe()
373 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_DISABLE); in acpi_ec_disable_gpe()
380 * GPE STS is a W1C register, which means: in acpi_ec_clear_gpe()
385 * So software can clear GPE in any contexts. in acpi_ec_clear_gpe()
387 * EC commands will be sent without GPE raised. in acpi_ec_clear_gpe()
391 acpi_clear_gpe(NULL, ec->gpe); in acpi_ec_clear_gpe()
402 ec->gpe >= 0 && ec->reference_count == 1) in acpi_ec_submit_request()
412 ec->gpe >= 0 && ec->reference_count == 0) in acpi_ec_complete_request()
422 if (ec->gpe >= 0) in acpi_ec_mask_events()
436 if (ec->gpe >= 0) in acpi_ec_unmask_events()
649 * trigger a GPE interrupt. in advance_transaction()
651 if (ec->gpe >= 0) in advance_transaction()
742 * GPE handler after the transaction enters in ec_guard()
792 /* Enable GPE for command processing (IBF=0/OBF=1) */ in acpi_ec_transaction_unlocked()
811 /* Disable GPE for command processing (IBF=0/OBF=1) */ in acpi_ec_transaction_unlocked()
952 /* Enable GPE for event processing (SCI_EVT=1) */ in acpi_ec_start()
984 /* Disable GPE for event processing (SCI_EVT=1) */ in acpi_ec_stop()
1369 ec->gpe = -1; in acpi_ec_alloc()
1410 * Always inherit the GPE number setting from the ECDT in ec_parse_device()
1413 ec->gpe = boot_ec->gpe; in ec_parse_device()
1415 /* Get GPE bit assignment (EC events). */ in ec_parse_device()
1419 ec->gpe = tmp; in ec_parse_device()
1423 * platforms which use GpioInt instead of GPE. in ec_parse_device()
1438 status = acpi_install_gpe_raw_handler(NULL, ec->gpe, in install_gpe_event_handler()
1463 * namespace and register them, and install an event (either GPE or GPIO IRQ)
1494 if (ec->gpe < 0) { in ec_install_handlers()
1517 if (ec->gpe >= 0) in ec_install_handlers()
1551 * Flushes the EC requests and thus disables the GPE before in ec_remove_handlers()
1552 * removing the GPE handler. This is required by the current ACPICA in ec_remove_handlers()
1553 * GPE core. ACPICA GPE core will automatically disable a GPE when in ec_remove_handlers()
1555 * must disable the GPEs prior to removing the GPE handlers. in ec_remove_handlers()
1560 if (ec->gpe >= 0 && in ec_remove_handlers()
1561 ACPI_FAILURE(acpi_remove_gpe_handler(NULL, ec->gpe, in ec_remove_handlers()
1563 pr_err("failed to remove gpe handler\n"); in ec_remove_handlers()
1592 if (ec->gpe >= 0) in acpi_ec_setup()
1593 pr_info("GPE=0x%x\n", ec->gpe); in acpi_ec_setup()
1631 * ECDT ID. But trust ECDT GPE rather than _GPE in acpi_ec_add()
1633 * boot_ec->gpe to ec->gpe. in acpi_ec_add()
1759 * At this point, the GPE is not fully initialized, so do not to in acpi_ec_dsdt_probe()
1852 * Some ECDTs contain wrong GPE setting, but they share the same port addresses
1858 pr_debug("Detected system needing DSDT GPE setting.\n"); in ec_honor_dsdt_gpe()
1864 * Some DSDTs contain wrong GPE setting.
1870 pr_debug("Detected system needing ignore DSDT GPE setting.\n"); in ec_honor_ecdt_gpe()
1962 * Ignore the GPE value on Reduced Hardware platforms. in acpi_ec_ecdt_probe()
1966 ec->gpe = ecdt_ptr->gpe; in acpi_ec_ecdt_probe()
2005 * The SCI handler doesn't run at this point, so the GPE can be in acpi_ec_suspend_noirq()
2009 ec->gpe >= 0 && ec->reference_count >= 1) in acpi_ec_suspend_noirq()
2010 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_DISABLE); in acpi_ec_suspend_noirq()
2024 ec->gpe >= 0 && ec->reference_count >= 1) in acpi_ec_resume_noirq()
2025 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_ENABLE); in acpi_ec_resume_noirq()
2042 acpi_mark_gpe_for_wake(NULL, first_ec->gpe); in acpi_ec_mark_gpe_for_wake()
2049 acpi_set_gpe_wake_mask(NULL, first_ec->gpe, action); in acpi_ec_set_gpe_wake_mask()
2061 * Report wakeup if the status bit is set for any enabled GPE other in acpi_ec_dispatch_gpe()
2064 if (acpi_any_gpe_status_set(first_ec->gpe)) in acpi_ec_dispatch_gpe()
2068 * Dispatch the EC GPE in-band, but do not report wakeup in any case in acpi_ec_dispatch_gpe()
2071 ret = acpi_dispatch_gpe(NULL, first_ec->gpe); in acpi_ec_dispatch_gpe()
2073 pm_pr_dbg("ACPI EC GPE dispatched\n"); in acpi_ec_dispatch_gpe()
2210 * wakeup from EC GPE. in acpi_ec_init()