/openbmc/linux/drivers/acpi/acpica/ |
H A D | evgpe.c | 27 * PARAMETERS: gpe_event_info - GPE to update 31 * DESCRIPTION: Updates GPE register enable mask based upon whether there are 32 * runtime references to this GPE 55 /* Set the mask bit only if there are references to this GPE */ in acpi_ev_update_gpe_enable_mask() 70 * PARAMETERS: gpe_event_info - GPE to enable 74 * DESCRIPTION: Enable a GPE. 84 /* Enable the requested GPE */ in acpi_ev_enable_gpe() 94 * PARAMETERS: gpe_event_info - GPE to be blocked/unblocked 95 * is_masked - Whether the GPE is masked or not 99 * DESCRIPTION: Unconditionally mask/unmask a GPE during runtime. [all …]
|
H A D | evxfgpe.c | 29 * DESCRIPTION: Complete GPE initialization and enable all GPEs that have 37 * after the system _PRW methods have been run, but also after a GPE Block 38 * Device has been added or if any new GPE methods have been added via a 83 * PARAMETERS: gpe_device - Parent GPE Device. NULL for GPE0/GPE1 in ACPI_EXPORT_SYMBOL() 84 * gpe_number - GPE level within the GPE block in ACPI_EXPORT_SYMBOL() 88 * DESCRIPTION: Add a reference to a GPE. On the first reference, the GPE is in ACPI_EXPORT_SYMBOL() 103 * Ensure that we have a valid GPE number and that there is some way in ACPI_EXPORT_SYMBOL() 104 * of handling the GPE (handler or a GPE method). In other words, we in ACPI_EXPORT_SYMBOL() 105 * won't allow a valid GPE to be enabled if there is no way to handle it. in ACPI_EXPORT_SYMBOL() 137 * PARAMETERS: gpe_device - Parent GPE Device. NULL for GPE0/GPE1 in ACPI_EXPORT_SYMBOL() [all …]
|
H A D | evgpeinit.c | 4 * Module Name: evgpeinit - System GPE initialization and update 21 * Originally (2000 - 2010), the GPE initialization code performed a walk of 53 * DESCRIPTION: Initialize the GPE data structures and the FADT GPE 0/1 blocks 75 * Initialize the GPE Block(s) defined in the FADT in acpi_ev_gpe_initialize() 77 * Why the GPE register block lengths are divided by 2: From the ACPI in acpi_ev_gpe_initialize() 91 * Determine the maximum GPE number for this machine. in acpi_ev_gpe_initialize() 103 /* GPE block 0 exists (has both length and address > 0) */ in acpi_ev_gpe_initialize() 109 /* Install GPE Block 0 */ in acpi_ev_gpe_initialize() 120 "Could not create GPE Block 0")); in acpi_ev_gpe_initialize() 128 /* GPE block 1 exists (has both length and address > 0) */ in acpi_ev_gpe_initialize() [all …]
|
H A D | hwgpe.c | 4 * Module Name: hwgpe - Low level GPE enable/disable/clear functions 32 * reg - GPE register structure 36 * DESCRIPTION: Read from a GPE register in either memory or IO space. 73 * reg - GPE register structure 77 * DESCRIPTION: Write to a GPE register in either memory or IO space. 101 * PARAMETERS: gpe_event_info - Info block for the GPE 103 * RETURN: Register mask with a one in the GPE bit position 105 * DESCRIPTION: Compute the register mask for this GPE. One bit is set in the 106 * correct position for the input GPE. 122 * PARAMETERS: gpe_event_info - Info block for the GPE to be disabled [all …]
|
H A D | evgpeblk.c | 4 * Module Name: evgpeblk - GPE block creation and initialization. 30 * PARAMETERS: gpe_block - New GPE block 32 * GPE block 36 * DESCRIPTION: Install new GPE block with mutex support 89 * PARAMETERS: gpe_block - Existing GPE block 93 * DESCRIPTION: Remove a GPE block 160 * PARAMETERS: gpe_block - New GPE block 164 * DESCRIPTION: Create the register_info and event_info blocks for this GPE block 181 /* Allocate the GPE register information block */ in acpi_ev_create_gpe_info_blocks() 194 * Allocate the GPE event_info block. There are eight distinct GPEs in acpi_ev_create_gpe_info_blocks() [all …]
|
H A D | evgpeutil.c | 4 * Module Name: evgpeutil - GPE utilities 22 * PARAMETERS: gpe_walk_callback - Routine called for each GPE block 27 * DESCRIPTION: Walk the GPE lists. 47 /* Walk all Gpe Blocks attached to this interrupt level */ in acpi_ev_walk_gpe_list() 52 /* One callback per GPE block */ in acpi_ev_walk_gpe_list() 83 * DESCRIPTION: Matches the input GPE index (0-current_gpe_count) with a GPE 84 * block device. NULL if the GPE is one of the FADT-defined GPEs. 100 * The GPE index is within this block, get the node. Leave the node in acpi_ev_get_gpe_device() 118 * PARAMETERS: interrupt_number - Interrupt for a GPE block 123 * DESCRIPTION: Get or Create a GPE interrupt block. There is one interrupt [all …]
|
H A D | acevents.h | 14 * Conditions to trigger post enabling GPE polling: 15 * It is not sufficient to trigger edge-triggered GPE with specific GPE 59 * evgpe - Low-level GPE support 92 * evgpeblk - Upper-level GPE block support 118 * evgpeinit - GPE initialization and update 130 * evgpeutil - GPE utilities
|
H A D | evxface.c | 42 * context - Value passed to the handler on each GPE 528 * is invoked upon each incoming GPE and Fixed Event. It is in ACPI_EXPORT_SYMBOL() 575 * context - Value passed to the handler on each GPE in ACPI_EXPORT_SYMBOL() 699 * PARAMETERS: gpe_device - Namespace node for the GPE (NULL for FADT in ACPI_EXPORT_SYMBOL() 701 * gpe_number - The GPE number within the GPE block in ACPI_EXPORT_SYMBOL() 702 * type - Whether this GPE should be treated as an in ACPI_EXPORT_SYMBOL() 704 * is_raw_handler - Whether this GPE should be handled using in ACPI_EXPORT_SYMBOL() 705 * the special GPE handler mode. in ACPI_EXPORT_SYMBOL() 707 * context - Value passed to the handler on each GPE in ACPI_EXPORT_SYMBOL() 750 /* Ensure that we have a valid GPE number */ in ACPI_EXPORT_SYMBOL() [all …]
|
H A D | aclocal.h | 417 /* Dispatch info for each GPE -- either a method or handler, cannot be both */ 422 struct acpi_namespace_node *method_node; /* Method node for this GPE level (saved) */ 423 u8 original_flags; /* Original (pre-handler) GPE info */ 424 u8 originally_enabled; /* True if GPE was originally enabled */ 435 * GPE dispatch info. At any time, the GPE can have at most one type 439 struct acpi_namespace_node *method_node; /* Method node for this GPE level */ 440 struct acpi_gpe_handler_info *handler; /* Installed GPE handler */ 445 * Information about a GPE, one per each GPE in an array. 451 u8 flags; /* Misc info about this GPE */ 452 u8 gpe_number; /* This GPE */ [all …]
|
H A D | evmisc.c | 230 /* Disable all GPEs in all GPE blocks */ in acpi_ev_terminate() 235 "Could not disable GPEs in GPE block")); in acpi_ev_terminate() 254 /* Deallocate all handler objects installed within GPE info structs */ in acpi_ev_terminate() 259 "Could not delete GPE handlers")); in acpi_ev_terminate()
|
/openbmc/linux/drivers/gpio/ |
H A D | gpio-sch.c | 45 /* GPE handling */ 46 u32 gpe; member 258 static u32 sch_gpio_gpe_handler(acpi_handle gpe_device, u32 gpe, void *context) in sch_gpio_gpe_handler() argument 282 /* Acknowledge GPE to ACPICA */ in sch_gpio_gpe_handler() 292 acpi_disable_gpe(NULL, sch->gpe); in sch_gpio_remove_gpe_handler() 293 acpi_remove_gpe_handler(NULL, sch->gpe, sch->gpe_handler); in sch_gpio_remove_gpe_handler() 301 status = acpi_install_gpe_handler(NULL, sch->gpe, ACPI_GPE_LEVEL_TRIGGERED, in sch_gpio_install_gpe_handler() 304 dev_err(dev, "Failed to install GPE handler for %u: %s\n", in sch_gpio_install_gpe_handler() 305 sch->gpe, acpi_format_exception(status)); in sch_gpio_install_gpe_handler() 309 status = acpi_enable_gpe(NULL, sch->gpe); in sch_gpio_install_gpe_handler() [all …]
|
/openbmc/linux/drivers/platform/surface/ |
H A D | surface_gpe.c | 3 * Surface GPE/Lid driver to enable wakeup from suspend via the lid by 19 * Note: The GPE numbers for the lid devices found below have been obtained 20 * from ACPI/the DSDT table, specifically from the GPE handler for the 25 PROPERTY_ENTRY_U32("gpe", 0x17), 30 PROPERTY_ENTRY_U32("gpe", 0x4B), 35 PROPERTY_ENTRY_U32("gpe", 0x4D), 40 PROPERTY_ENTRY_U32("gpe", 0x4F), 45 PROPERTY_ENTRY_U32("gpe", 0x57), 209 dev_err(dev, "failed to set GPE wake mask: %s\n", in surface_lid_enable_wakeup() 236 ret = device_property_read_u32(&pdev->dev, "gpe", &gpe_number); in surface_gpe_probe() [all …]
|
/openbmc/linux/Documentation/ABI/testing/ |
H A D | debugfs-ec | 1 What: /sys/kernel/debug/ec/*/{gpe,use_global_lock,io} 6 General information like which GPE is assigned to the EC and whether 8 Knowing the EC GPE one can watch the amount of HW events related to 9 the EC here (XY -> GPE number from `/sys/kernel/debug/ec/*/gpe`):
|
H A D | sysfs-firmware-acpi | 108 number of a "General Purpose Events" (GPE). 110 A GPE vectors to a specified handler in AML, which 112 OS context. GPE 0x12, for example, would vector 177 gpeXX count for individual GPE source 191 invalid it's either a GPE or a Fixed Event that 194 disable the GPE/Fixed Event is valid but disabled. 196 enable the GPE/Fixed Event is valid and enabled. 214 Note that only writing to VALID GPE/Fixed Event is allowed, 215 i.e. user can only change the status of runtime GPE and
|
/openbmc/linux/drivers/acpi/ |
H A D | ec.c | 128 * this threshold, will think there is a GPE storm happened and 129 * will disable the GPE for normal transaction. 133 MODULE_PARM_DESC(ec_storm_threshold, "Maxim false GPE numbers not considered as GPE storm"); 184 static int EC_FLAGS_TRUST_DSDT_GPE; /* Needs DSDT GPE as correction setting */ 334 * GPE Registers 341 (void)acpi_get_gpe_status(NULL, ec->gpe, &gpe_status); in acpi_ec_gpe_status_set() 348 acpi_enable_gpe(NULL, ec->gpe); in acpi_ec_enable_gpe() 351 acpi_set_gpe(NULL, ec->gpe, ACPI_GPE_ENABLE); in acpi_ec_enable_gpe() 355 * On some platforms, EN=1 writes cannot trigger GPE. So in acpi_ec_enable_gpe() 356 * software need to manually trigger a pseudo GPE event on in acpi_ec_enable_gpe() [all …]
|
H A D | sysfs.c | 642 pr_debug("GPE event 0x%02x\n", event_number); in acpi_global_event_handler() 662 pr_warn("Invalid GPE 0x%x", index); in get_status() 730 * enable/disable/clear a gpe/fixed event in user space. 758 pr_warn("Can not change Invalid GPE/Fixed Event status\n"); in counter_set() 805 * A Quirk Mechanism for GPE Flooding Prevention: 807 * Quirks may be needed to prevent GPE flooding on a specific GPE. The 813 * the GPE flooding for GPE 00, they need to specify the following boot 827 u8 gpe; in acpi_gpe_set_masked_gpes() local 829 ret = kstrtou8(val, 0, &gpe); in acpi_gpe_set_masked_gpes() 835 set_bit(gpe, acpi_masked_gpes_map); in acpi_gpe_set_masked_gpes() [all …]
|
/openbmc/qemu/hw/acpi/ |
H A D | core.c | 653 /* ACPI GPE */ 656 ar->gpe.len = len; in acpi_gpe_init() 661 ar->gpe.sts = g_malloc0(len); in acpi_gpe_init() 662 ar->gpe.en = g_malloc0(len); in acpi_gpe_init() 667 memset(ar->gpe.sts, 0, ar->gpe.len / 2); in acpi_gpe_reset() 668 memset(ar->gpe.en, 0, ar->gpe.len / 2); in acpi_gpe_reset() 675 if (addr < ar->gpe.len / 2) { in acpi_gpe_ioport_get_ptr() 676 cur = ar->gpe.sts + addr; in acpi_gpe_ioport_get_ptr() 677 } else if (addr < ar->gpe.len) { in acpi_gpe_ioport_get_ptr() 678 cur = ar->gpe.en + addr - ar->gpe.len / 2; in acpi_gpe_ioport_get_ptr() [all …]
|
/openbmc/linux/arch/mips/boot/dts/ingenic/ |
H A D | gcw0.dts | 44 gpio = <&gpe 9 0>; 139 gpios = <&gpe 21 GPIO_ACTIVE_LOW>; 146 gpios = <&gpe 25 GPIO_ACTIVE_LOW>; 153 gpios = <&gpe 23 GPIO_ACTIVE_LOW>; 160 gpios = <&gpe 24 GPIO_ACTIVE_LOW>; 167 gpios = <&gpe 29 GPIO_ACTIVE_LOW>; 174 gpios = <&gpe 20 GPIO_ACTIVE_LOW>; 181 gpios = <&gpe 27 GPIO_ACTIVE_LOW>; 188 gpios = <&gpe 28 GPIO_ACTIVE_LOW>; 202 gpios = <&gpe 26 GPIO_ACTIVE_LOW>; [all …]
|
/openbmc/qemu/docs/specs/ |
H A D | acpi_pci_hotplug.rst | 7 ACPI GPE block (IO ports 0xafe0-0xafe3, byte access) 10 Generic ACPI GPE block. Bit 1 (GPE.1) used to notify PCI hotplug/eject 18 Read by ACPI BIOS GPE.1 handler to notify OS of injection 26 Read by ACPI BIOS GPE.1 handler to notify OS of removal
|
/openbmc/linux/arch/arm/boot/dts/samsung/ |
H A D | s3c64xx-pinctrl.dtsi | 47 gpe: gpe-gpio-bank { label 341 samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4"; 347 samsung,pins = "gpe-1"; 380 samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4"; 386 samsung,pins = "gpe-1"; 398 samsung,pins = "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4";
|
/openbmc/linux/drivers/platform/x86/ |
H A D | apple-gmux.c | 70 int gpe; member 527 if (gmux_data->gpe >= 0 && in gmux_set_discrete_state() 613 * to trigger an ACPI GPE. ACPI name GMGP holds this GPIO pin's number. On the 617 * The GPE merely signals that an interrupt occurred, the actual type of event 624 * MacBookPro14,3), the ACPI GPE method differentiates between the OS type: On 790 unsigned long long gpe; in gmux_probe() local 909 status = acpi_evaluate_integer(gmux_data->dhandle, "GMGP", NULL, &gpe); in gmux_probe() 911 gmux_data->gpe = (int)gpe; in gmux_probe() 923 status = acpi_enable_gpe(NULL, gmux_data->gpe); in gmux_probe() 925 pr_err("Cannot enable gpe: %s\n", in gmux_probe() [all …]
|
/openbmc/linux/drivers/input/keyboard/ |
H A D | applespi.c | 31 * of exchanges: reads, and writes. A read is signaled by a GPE, upon which one 34 * receiving a GPE, reading the response message. Write exchanges cannot be 390 int gpe; member 1569 acpi_finish_gpe(NULL, applespi->gpe); in applespi_async_read_complete() 1572 static u32 applespi_notify(acpi_handle gpe_device, u32 gpe, void *context) in applespi_notify() argument 1640 unsigned long long gpe, usb_status; in applespi_probe() local 1753 acpi_sts = acpi_evaluate_integer(spi_handle, "_GPE", NULL, &gpe); in applespi_probe() 1756 "Failed to obtain GPE for SPI slave device: %s\n", in applespi_probe() 1760 applespi->gpe = (int)gpe; in applespi_probe() 1762 acpi_sts = acpi_install_gpe_handler(NULL, applespi->gpe, in applespi_probe() [all …]
|
/openbmc/u-boot/arch/x86/include/asm/arch-broadwell/ |
H A D | pm.h | 75 #define GPE_31_0 0 /* 0x80/0x90 = GPE[31:0] */ 76 #define GPE_63_32 1 /* 0x84/0x94 = GPE[63:32] */ 77 #define GPE_94_64 2 /* 0x88/0x98 = GPE[94:64] */ 78 #define GPE_STD 3 /* 0x8c/0x9c = Standard GPE */
|
/openbmc/u-boot/arch/x86/include/asm/arch-braswell/ |
H A D | gpio.h | 139 GPE, enumerator 180 int_mask, glitch, inv_rx_tx, wake_mask, wake_mask_bit, gpe, \ argument 210 .misc = ((((gpe) != NA) ? (gpe << 0) : 0) | \
|
/openbmc/linux/arch/x86/platform/olpc/ |
H A D | olpc-xo15-sci.c | 132 static u32 xo15_sci_gpe_handler(acpi_handle gpe_device, u32 gpe, void *context) in xo15_sci_gpe_handler() argument 150 /* Get GPE bit assignment (EC events). */ in xo15_sci_add() 162 dev_info(&device->dev, "Initialized, GPE = 0x%lx\n", xo15_sci_gpe); in xo15_sci_add()
|