Skip to content

Commit

Permalink
irqchip/gic-v3: Use IRQD_FORWARDED_TO_VCPU flag
Browse files Browse the repository at this point in the history
Get rid of the handler_data abuse.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
  • Loading branch information
Thomas Gleixner committed Sep 16, 2015
1 parent 7146653 commit 4df7f54
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions drivers/irqchip/irq-gic-v3.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,6 @@ static inline int gic_irq_in_rdist(struct irq_data *d)
return gic_irq(d) < 32;
}

static inline bool forwarded_irq(struct irq_data *d)
{
return d->handler_data != NULL;
}

static inline void __iomem *gic_dist_base(struct irq_data *d)
{
if (gic_irq_in_rdist(d)) /* SGI+PPI -> SGI_base for this CPU */
Expand Down Expand Up @@ -249,7 +244,7 @@ static void gic_eoimode1_mask_irq(struct irq_data *d)
* disabled/masked will not get "stuck", because there is
* noone to deactivate it (guest is being terminated).
*/
if (forwarded_irq(d))
if (irqd_is_forwarded_to_vcpu(d))
gic_poke_irq(d, GICD_ICACTIVER);
}

Expand Down Expand Up @@ -324,7 +319,7 @@ static void gic_eoimode1_eoi_irq(struct irq_data *d)
* No need to deactivate an LPI, or an interrupt that
* is is getting forwarded to a vcpu.
*/
if (gic_irq(d) >= 8192 || forwarded_irq(d))
if (gic_irq(d) >= 8192 || irqd_is_forwarded_to_vcpu(d))
return;
gic_write_dir(gic_irq(d));
}
Expand Down Expand Up @@ -357,7 +352,10 @@ static int gic_set_type(struct irq_data *d, unsigned int type)

static int gic_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu)
{
d->handler_data = vcpu;
if (vcpu)
irqd_set_forwarded_to_vcpu(d);
else
irqd_clr_forwarded_to_vcpu(d);
return 0;
}

Expand Down

0 comments on commit 4df7f54

Please sign in to comment.