Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a24e16b1 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branches 'pm-pci', 'acpi-pm', 'pm-sleep' and 'pm-avs'

* pm-pci:
  PCI / PM: Clean up outdated comments in pci_target_state()
  PCI / PM: Do not clear state_saved for devices that remain suspended

* acpi-pm:
  ACPI: EC: Dispatch the EC GPE directly on s2idle wake
  ACPICA: Introduce acpi_dispatch_gpe()

* pm-sleep:
  PM / hibernate: Fix oops at snapshot_write()
  PM / wakeup: Make s2idle_lock a RAW_SPINLOCK
  PM / s2idle: Make s2idle_wait_head swait based
  PM / wakeup: Make events_lock a RAW_SPINLOCK
  PM / suspend: Prevent might sleep splats

* pm-avs:
  PM / AVS: rockchip-io: add io selectors and supplies for PX30
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@ SoC is on the same page.

Required properties:
- compatible: should be one of:
  - "rockchip,px30-io-voltage-domain" for px30
  - "rockchip,px30-pmu-io-voltage-domain" for px30 pmu-domains
  - "rockchip,rk3188-io-voltage-domain" for rk3188
  - "rockchip,rk3228-io-voltage-domain" for rk3228
  - "rockchip,rk3288-io-voltage-domain" for rk3288
@@ -51,6 +53,19 @@ a phandle the relevant regulator. All specified supplies must be able
to report their voltage.  The IO Voltage Domain for any non-specified
supplies will be not be touched.

Possible supplies for PX30:
- vccio6-supply: The supply connected to VCCIO6.
- vccio1-supply: The supply connected to VCCIO1.
- vccio2-supply: The supply connected to VCCIO2.
- vccio3-supply: The supply connected to VCCIO3.
- vccio4-supply: The supply connected to VCCIO4.
- vccio5-supply: The supply connected to VCCIO5.
- vccio-oscgpi-supply: The supply connected to VCCIO_OSCGPI.

Possible supplies for PX30 pmu-domains:
- pmuio1-supply: The supply connected to PMUIO1.
- pmuio2-supply: The supply connected to PMUIO2.

Possible supplies for rk3188:
- ap0-supply:    The supply connected to AP0_VCC.
- ap1-supply:    The supply connected to AP1_VCC.
+6 −0
Original line number Diff line number Diff line
@@ -634,6 +634,12 @@ acpi_ev_detect_gpe(struct acpi_namespace_node *gpe_device,

	flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock);

	if (!gpe_event_info) {
		gpe_event_info = acpi_ev_get_gpe_event_info(gpe_device, gpe_number);
		if (!gpe_event_info)
			goto error_exit;
	}

	/* Get the info block for the entire GPE register */

	gpe_register_info = gpe_event_info->register_info;
+22 −0
Original line number Diff line number Diff line
@@ -637,6 +637,28 @@ acpi_get_gpe_status(acpi_handle gpe_device,

ACPI_EXPORT_SYMBOL(acpi_get_gpe_status)

/*******************************************************************************
 *
 * FUNCTION:    acpi_gispatch_gpe
 *
 * PARAMETERS:  gpe_device          - Parent GPE Device. NULL for GPE0/GPE1
 *              gpe_number          - GPE level within the GPE block
 *
 * RETURN:      None
 *
 * DESCRIPTION: Detect and dispatch a General Purpose Event to either a function
 *              (e.g. EC) or method (e.g. _Lxx/_Exx) handler.
 *
 ******************************************************************************/
void acpi_dispatch_gpe(acpi_handle gpe_device, u32 gpe_number)
{
	ACPI_FUNCTION_TRACE(acpi_dispatch_gpe);

	acpi_ev_detect_gpe(gpe_device, NULL, gpe_number);
}

ACPI_EXPORT_SYMBOL(acpi_dispatch_gpe)

/*******************************************************************************
 *
 * FUNCTION:    acpi_finish_gpe
+6 −0
Original line number Diff line number Diff line
@@ -1034,6 +1034,12 @@ void acpi_ec_unblock_transactions(void)
		acpi_ec_start(first_ec, true);
}

void acpi_ec_dispatch_gpe(void)
{
	if (first_ec)
		acpi_dispatch_gpe(NULL, first_ec->gpe);
}

/* --------------------------------------------------------------------------
                                Event Management
   -------------------------------------------------------------------------- */
+1 −0
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ int acpi_ec_ecdt_probe(void);
int acpi_ec_dsdt_probe(void);
void acpi_ec_block_transactions(void);
void acpi_ec_unblock_transactions(void);
void acpi_ec_dispatch_gpe(void);
int acpi_ec_add_query_handler(struct acpi_ec *ec, u8 query_bit,
			      acpi_handle handle, acpi_ec_query_func func,
			      void *data);
Loading