/* Acknowledge a hardware event by writing its bit back to its ESR */ static void mask_ack_systemasic_irq(struct irq_data *data) { unsigned int irq = data->irq; __u32 esr = ESR_BASE + (LEVEL(irq) << 2); disable_systemasic_irq(data); outl((1 << EVENT_BIT(irq)), esr); }
/* Enable the hardware event by setting its bit in its EMR */ static inline void enable_systemasic_irq(unsigned int irq) { __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); __u32 mask; mask = inl(emr); mask |= (1 << EVENT_BIT(irq)); outl(mask, emr); }
/* Enable the hardware event by setting its bit in its EMR */ static inline void enable_systemasic_irq(struct irq_data *data) { unsigned int irq = data->irq; __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); __u32 mask; mask = inl(emr); mask |= (1 << EVENT_BIT(irq)); outl(mask, emr); }
/* Enable the hardware event by setting its bit in its EMR */ static inline void enable_systemasic_irq(unsigned int irq) { unsigned long flags; __u32 emr = EMR_BASE + (LEVEL(irq) << 4) + (LEVEL(irq) << 2); __u32 mask; save_and_cli(flags); mask = inl(emr); mask |= (1 << EVENT_BIT(irq)); outl(mask, emr); restore_flags(flags); }
/* Acknowledge a hardware event by writing its bit back to its ESR */ static void ack_systemasic_irq(unsigned int irq) { __u32 esr = ESR_BASE + (LEVEL(irq) << 2); disable_systemasic_irq(irq); outl((1 << EVENT_BIT(irq)), esr); }