media5200.c (31d44b57c508971c083ce038d7c5ededd09cea01) | media5200.c (476eb4912601a8c01e6702b9a029f476b4b131d2) |
---|---|
1/* 2 * Support for 'media5200-platform' compatible boards. 3 * 4 * Copyright (C) 2008 Secret Lab Technologies Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2 of the License, or (at your --- 42 unchanged lines hidden (view full) --- 51 52static void media5200_irq_unmask(struct irq_data *d) 53{ 54 unsigned long flags; 55 u32 val; 56 57 spin_lock_irqsave(&media5200_irq.lock, flags); 58 val = in_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE); | 1/* 2 * Support for 'media5200-platform' compatible boards. 3 * 4 * Copyright (C) 2008 Secret Lab Technologies Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2 of the License, or (at your --- 42 unchanged lines hidden (view full) --- 51 52static void media5200_irq_unmask(struct irq_data *d) 53{ 54 unsigned long flags; 55 u32 val; 56 57 spin_lock_irqsave(&media5200_irq.lock, flags); 58 val = in_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE); |
59 val |= 1 << (MEDIA5200_IRQ_SHIFT + irq_map[d->irq].hwirq); | 59 val |= 1 << (MEDIA5200_IRQ_SHIFT + irqd_to_hwirq(d)); |
60 out_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE, val); 61 spin_unlock_irqrestore(&media5200_irq.lock, flags); 62} 63 64static void media5200_irq_mask(struct irq_data *d) 65{ 66 unsigned long flags; 67 u32 val; 68 69 spin_lock_irqsave(&media5200_irq.lock, flags); 70 val = in_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE); | 60 out_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE, val); 61 spin_unlock_irqrestore(&media5200_irq.lock, flags); 62} 63 64static void media5200_irq_mask(struct irq_data *d) 65{ 66 unsigned long flags; 67 u32 val; 68 69 spin_lock_irqsave(&media5200_irq.lock, flags); 70 val = in_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE); |
71 val &= ~(1 << (MEDIA5200_IRQ_SHIFT + irq_map[d->irq].hwirq)); | 71 val &= ~(1 << (MEDIA5200_IRQ_SHIFT + irqd_to_hwirq(d))); |
72 out_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE, val); 73 spin_unlock_irqrestore(&media5200_irq.lock, flags); 74} 75 76static struct irq_chip media5200_irq_chip = { 77 .name = "Media5200 FPGA", 78 .irq_unmask = media5200_irq_unmask, 79 .irq_mask = media5200_irq_mask, --- 181 unchanged lines hidden --- | 72 out_be32(media5200_irq.regs + MEDIA5200_IRQ_ENABLE, val); 73 spin_unlock_irqrestore(&media5200_irq.lock, flags); 74} 75 76static struct irq_chip media5200_irq_chip = { 77 .name = "Media5200 FPGA", 78 .irq_unmask = media5200_irq_unmask, 79 .irq_mask = media5200_irq_mask, --- 181 unchanged lines hidden --- |