Commit 34abf697 authored by Thierry Reding's avatar Thierry Reding
Browse files

soc/tegra: pmc: Add comments clarifying wake events



Add some comments to clarify the purpose of the wake event support
implemented in the PMC driver.

Reviewed-by: default avatarJon Hunter <jonathanh@nvidia.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 03b3c21c
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -241,6 +241,11 @@ struct tegra_pmc_soc {
	const char * const *reset_levels;
	unsigned int num_reset_levels;

	/*
	 * These describe events that can wake the system from sleep (i.e.
	 * LP0 or SC7). Wakeup from other sleep states (such as LP1 or LP2)
	 * are dealt with in the LIC.
	 */
	const struct tegra_wake_event *wake_events;
	unsigned int num_wake_events;
};
@@ -1906,6 +1911,11 @@ static int tegra_pmc_irq_alloc(struct irq_domain *domain, unsigned int virq,
		}
	}

	/*
	 * For interrupts that don't have associated wake events, assign a
	 * dummy hardware IRQ number. This is used in the ->irq_set_type()
	 * and ->irq_set_wake() callbacks to return early for these IRQs.
	 */
	if (i == soc->num_wake_events)
		err = irq_domain_set_hwirq_and_chip(domain, virq, ULONG_MAX,
						    &pmc->irq, pmc);
@@ -1924,6 +1934,7 @@ static int tegra_pmc_irq_set_wake(struct irq_data *data, unsigned int on)
	unsigned int offset, bit;
	u32 value;

	/* nothing to do if there's no associated wake event */
	if (WARN_ON(data->hwirq == ULONG_MAX))
		return 0;

@@ -1954,6 +1965,7 @@ static int tegra_pmc_irq_set_type(struct irq_data *data, unsigned int type)
	struct tegra_pmc *pmc = irq_data_get_irq_chip_data(data);
	u32 value;

	/* nothing to do if there's no associated wake event */
	if (data->hwirq == ULONG_MAX)
		return 0;