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

Commit f256c9a0 authored by Qais Yousef's avatar Qais Yousef Committed by Thomas Gleixner
Browse files

genirq: Add ipi_offset to irq_common_data



IPIs are always assumed to be consecutively allocated, hence virqs and hwirqs
can be inferred by using CPU id as an offset. But the first cpu doesn't always
have to start at offset 0. ipi_offset stores the position of the first cpu so
that we can easily calculate the virq or hwirq of an IPI associated with a
specific cpu.

Signed-off-by: default avatarQais Yousef <qais.yousef@imgtec.com>
Cc: <jason@lakedaemon.net>
Cc: <marc.zyngier@arm.com>
Cc: <jiang.liu@linux.intel.com>
Cc: <ralf@linux-mips.org>
Cc: <linux-mips@linux-mips.org>
Cc: <lisa.parratt@imgtec.com>
Cc: Qais Yousef <qsyousef@gmail.com>
Link: http://lkml.kernel.org/r/1449580830-23652-6-git-send-email-qais.yousef@imgtec.com


Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 955bfe59
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -137,6 +137,7 @@ struct irq_domain;
 *			related irq, then this is the mask of the
 *			related irq, then this is the mask of the
 *			CPUs to which an IPI can be sent.
 *			CPUs to which an IPI can be sent.
 * @msi_desc:		MSI descriptor
 * @msi_desc:		MSI descriptor
 * @ipi_offset:		Offset of first IPI target cpu in @affinity. Optional.
 */
 */
struct irq_common_data {
struct irq_common_data {
	unsigned int		state_use_accessors;
	unsigned int		state_use_accessors;
@@ -146,6 +147,9 @@ struct irq_common_data {
	void			*handler_data;
	void			*handler_data;
	struct msi_desc		*msi_desc;
	struct msi_desc		*msi_desc;
	cpumask_var_t		affinity;
	cpumask_var_t		affinity;
#ifdef CONFIG_GENERIC_IRQ_IPI
	unsigned int		ipi_offset;
#endif
};
};


/**
/**