Add IRQF_GIC_MULTI_TARGET flag to target multiple cpus
during interrupt affinity setting.
In __setup_irq(), IRQD_GIC_MULTI_TARGET in irq_data is set
if IRQF_GIC_MULTI_TARGET is set.
Change-Id: Id65066e2ea85e3aadb078b644e2410c02b184b8c
Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
#define IRQF_NO_THREAD 0x00010000
#define IRQF_EARLY_RESUME 0x00020000
#define IRQF_COND_SUSPEND 0x00040000
+#define IRQF_GIC_MULTI_TARGET 0x10000000
#define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD)
IRQD_MANAGED_SHUTDOWN = (1 << 23),
IRQD_SINGLE_TARGET = (1 << 24),
IRQD_DEFAULT_TRIGGER_SET = (1 << 25),
+ IRQD_GIC_MULTI_TARGET = (1 << 28),
};
#define __irqd_to_state(d) ACCESS_PRIVATE((d)->common, state_use_accessors)
desc->depth = 1;
}
+ if (new->flags & IRQF_GIC_MULTI_TARGET)
+ irqd_set(&desc->irq_data, IRQD_GIC_MULTI_TARGET);
+
} else if (new->flags & IRQF_TRIGGER_MASK) {
unsigned int nmsk = new->flags & IRQF_TRIGGER_MASK;
unsigned int omsk = irqd_get_trigger_type(&desc->irq_data);