/arch/powerpc/platforms/ps3/ |
D | interrupt.c | 102 static void ps3_chip_mask(unsigned int virq) in ps3_chip_mask() argument 104 struct ps3_private *pd = get_irq_chip_data(virq); in ps3_chip_mask() 108 pd->thread_id, virq); in ps3_chip_mask() 111 clear_bit(63 - virq, &pd->bmp.mask); in ps3_chip_mask() 123 static void ps3_chip_unmask(unsigned int virq) in ps3_chip_unmask() argument 125 struct ps3_private *pd = get_irq_chip_data(virq); in ps3_chip_unmask() 129 pd->thread_id, virq); in ps3_chip_unmask() 132 set_bit(63 - virq, &pd->bmp.mask); in ps3_chip_unmask() 144 static void ps3_chip_eoi(unsigned int virq) in ps3_chip_eoi() argument 146 const struct ps3_private *pd = get_irq_chip_data(virq); in ps3_chip_eoi() [all …]
|
/arch/powerpc/platforms/cell/ |
D | spider-pic.c | 71 static struct spider_pic *spider_virq_to_pic(unsigned int virq) in spider_virq_to_pic() argument 73 return irq_map[virq].host->host_data; in spider_virq_to_pic() 82 static void spider_unmask_irq(unsigned int virq) in spider_unmask_irq() argument 84 struct spider_pic *pic = spider_virq_to_pic(virq); in spider_unmask_irq() 85 void __iomem *cfg = spider_get_irq_config(pic, irq_map[virq].hwirq); in spider_unmask_irq() 90 static void spider_mask_irq(unsigned int virq) in spider_mask_irq() argument 92 struct spider_pic *pic = spider_virq_to_pic(virq); in spider_mask_irq() 93 void __iomem *cfg = spider_get_irq_config(pic, irq_map[virq].hwirq); in spider_mask_irq() 98 static void spider_ack_irq(unsigned int virq) in spider_ack_irq() argument 100 struct spider_pic *pic = spider_virq_to_pic(virq); in spider_ack_irq() [all …]
|
D | setup.c | 180 unsigned int virq; in cell_mpic_cascade() local 182 virq = mpic_get_one_irq(mpic); in cell_mpic_cascade() 183 if (virq != NO_IRQ) in cell_mpic_cascade() 184 generic_handle_irq(virq); in cell_mpic_cascade() 192 unsigned int virq; in mpic_init_IRQ() local 207 virq = irq_of_parse_and_map(dn, 0); in mpic_init_IRQ() 208 if (virq == NO_IRQ) in mpic_init_IRQ() 212 dn->full_name, virq); in mpic_init_IRQ() 213 set_irq_data(virq, mpic); in mpic_init_IRQ() 214 set_irq_chained_handler(virq, cell_mpic_cascade); in mpic_init_IRQ()
|
D | beat.c | 182 static irqreturn_t beat_power_event(int virq, void *arg) in beat_power_event() argument 190 static irqreturn_t beat_reset_event(int virq, void *arg) in beat_reset_event() argument 201 unsigned int virq; member 211 unsigned int virq; in beat_register_event() local 223 virq = irq_create_mapping(NULL, data[0]); in beat_register_event() 224 if (virq == NO_IRQ) { in beat_register_event() 231 ev->virq = virq; in beat_register_event() 233 rc = request_irq(virq, ev->handler, IRQF_DISABLED, in beat_register_event()
|
D | axon_msi.c | 263 unsigned int virq, rc; in axon_msi_setup_msi_irqs() local 280 virq = irq_create_direct_mapping(msic->irq_host); in axon_msi_setup_msi_irqs() 281 if (virq == NO_IRQ) { in axon_msi_setup_msi_irqs() 286 dev_dbg(&dev->dev, "axon_msi: allocated virq 0x%x\n", virq); in axon_msi_setup_msi_irqs() 288 set_irq_msi(virq, entry); in axon_msi_setup_msi_irqs() 289 msg.data = virq; in axon_msi_setup_msi_irqs() 290 write_msi_msg(virq, &msg); in axon_msi_setup_msi_irqs() 318 static int msic_host_map(struct irq_host *h, unsigned int virq, in msic_host_map() argument 321 set_irq_chip_and_handler(virq, &msic_irq_chip, handle_simple_irq); in msic_host_map() 349 unsigned int virq; in axon_msi_probe() local [all …]
|
D | beat_interrupt.c | 125 static void beatic_pic_host_unmap(struct irq_host *h, unsigned int virq) in beatic_pic_host_unmap() argument 127 beat_destruct_irq_plug(virq); in beatic_pic_host_unmap() 136 static int beatic_pic_host_map(struct irq_host *h, unsigned int virq, in beatic_pic_host_map() argument 139 struct irq_desc *desc = get_irq_desc(virq); in beatic_pic_host_map() 142 err = beat_construct_and_connect_irq_plug(virq, hw); in beatic_pic_host_map() 147 set_irq_chip_and_handler(virq, &beatic_pic, handle_fasteoi_irq); in beatic_pic_host_map() 155 static void beatic_pic_host_remap(struct irq_host *h, unsigned int virq, in beatic_pic_host_remap() argument 158 beat_construct_and_connect_irq_plug(virq, hw); in beatic_pic_host_remap()
|
D | interrupt.c | 147 unsigned int virq; in iic_get_irq() local 154 virq = irq_linear_revmap(iic_host, iic_pending_to_hwnum(pending)); in iic_get_irq() 155 if (virq == NO_IRQ) in iic_get_irq() 159 return virq; in iic_get_irq() 203 int virq; in iic_request_ipi() local 205 virq = irq_create_mapping(iic_host, iic_ipi_to_irq(ipi)); in iic_request_ipi() 206 if (virq == NO_IRQ) { in iic_request_ipi() 211 if (request_irq(virq, iic_ipi_action, IRQF_DISABLED, name, in iic_request_ipi() 284 static int iic_host_map(struct irq_host *h, unsigned int virq, in iic_host_map() argument 289 set_irq_chip_and_handler(virq, &iic_chip, handle_percpu_irq); in iic_host_map() [all …]
|
/arch/powerpc/sysdev/ |
D | uic.c | 44 #define uic_irq_to_hw(virq) (irq_map[virq].hwirq) argument 58 static void uic_unmask_irq(unsigned int virq) in uic_unmask_irq() argument 60 struct irq_desc *desc = get_irq_desc(virq); in uic_unmask_irq() 61 struct uic *uic = get_irq_chip_data(virq); in uic_unmask_irq() 62 unsigned int src = uic_irq_to_hw(virq); in uic_unmask_irq() 77 static void uic_mask_irq(unsigned int virq) in uic_mask_irq() argument 79 struct uic *uic = get_irq_chip_data(virq); in uic_mask_irq() 80 unsigned int src = uic_irq_to_hw(virq); in uic_mask_irq() 91 static void uic_ack_irq(unsigned int virq) in uic_ack_irq() argument 93 struct uic *uic = get_irq_chip_data(virq); in uic_ack_irq() [all …]
|
D | xilinx_intc.c | 47 static void xilinx_intc_mask(unsigned int virq) in xilinx_intc_mask() argument 49 int irq = virq_to_hw(virq); in xilinx_intc_mask() 50 void * regs = get_irq_chip_data(virq); in xilinx_intc_mask() 55 static void xilinx_intc_unmask(unsigned int virq) in xilinx_intc_unmask() argument 57 int irq = virq_to_hw(virq); in xilinx_intc_unmask() 58 void * regs = get_irq_chip_data(virq); in xilinx_intc_unmask() 63 static void xilinx_intc_ack(unsigned int virq) in xilinx_intc_ack() argument 65 int irq = virq_to_hw(virq); in xilinx_intc_ack() 66 void * regs = get_irq_chip_data(virq); in xilinx_intc_ack() 81 static int xilinx_intc_map(struct irq_host *h, unsigned int virq, in xilinx_intc_map() argument [all …]
|
D | mv64x60_pic.c | 79 static void mv64x60_mask_low(unsigned int virq) in mv64x60_mask_low() argument 81 int level2 = irq_map[virq].hwirq & MV64x60_LEVEL2_MASK; in mv64x60_mask_low() 92 static void mv64x60_unmask_low(unsigned int virq) in mv64x60_unmask_low() argument 94 int level2 = irq_map[virq].hwirq & MV64x60_LEVEL2_MASK; in mv64x60_unmask_low() 116 static void mv64x60_mask_high(unsigned int virq) in mv64x60_mask_high() argument 118 int level2 = irq_map[virq].hwirq & MV64x60_LEVEL2_MASK; in mv64x60_mask_high() 129 static void mv64x60_unmask_high(unsigned int virq) in mv64x60_unmask_high() argument 131 int level2 = irq_map[virq].hwirq & MV64x60_LEVEL2_MASK; in mv64x60_unmask_high() 153 static void mv64x60_mask_gpp(unsigned int virq) in mv64x60_mask_gpp() argument 155 int level2 = irq_map[virq].hwirq & MV64x60_LEVEL2_MASK; in mv64x60_mask_gpp() [all …]
|
D | mpc8xx_pic.c | 28 static void mpc8xx_unmask_irq(unsigned int virq) in mpc8xx_unmask_irq() argument 31 unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; in mpc8xx_unmask_irq() 40 static void mpc8xx_mask_irq(unsigned int virq) in mpc8xx_mask_irq() argument 43 unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; in mpc8xx_mask_irq() 52 static void mpc8xx_ack(unsigned int virq) in mpc8xx_ack() argument 55 unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; in mpc8xx_ack() 61 static void mpc8xx_end_irq(unsigned int virq) in mpc8xx_end_irq() argument 64 unsigned int irq_nr = (unsigned int)irq_map[virq].hwirq; in mpc8xx_end_irq() 73 static int mpc8xx_set_irq_type(unsigned int virq, unsigned int flow_type) in mpc8xx_set_irq_type() argument 75 struct irq_desc *desc = get_irq_desc(virq); in mpc8xx_set_irq_type() [all …]
|
D | cpm2_pic.c | 81 static void cpm2_mask_irq(unsigned int virq) in cpm2_mask_irq() argument 84 unsigned int irq_nr = virq_to_hw(virq); in cpm2_mask_irq() 93 static void cpm2_unmask_irq(unsigned int virq) in cpm2_unmask_irq() argument 96 unsigned int irq_nr = virq_to_hw(virq); in cpm2_unmask_irq() 105 static void cpm2_ack(unsigned int virq) in cpm2_ack() argument 108 unsigned int irq_nr = virq_to_hw(virq); in cpm2_ack() 116 static void cpm2_end_irq(unsigned int virq) in cpm2_end_irq() argument 119 unsigned int irq_nr = virq_to_hw(virq); in cpm2_end_irq() 138 static int cpm2_set_irq_type(unsigned int virq, unsigned int flow_type) in cpm2_set_irq_type() argument 140 unsigned int src = virq_to_hw(virq); in cpm2_set_irq_type() [all …]
|
D | mpic_pasemi_msi.c | 95 unsigned int virq; in pasemi_msi_setup_msi_irqs() local 119 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in pasemi_msi_setup_msi_irqs() 120 if (virq == NO_IRQ) { in pasemi_msi_setup_msi_irqs() 132 mpic_set_vector(virq, 0); in pasemi_msi_setup_msi_irqs() 134 set_irq_msi(virq, entry); in pasemi_msi_setup_msi_irqs() 135 set_irq_chip(virq, &mpic_pasemi_msi_chip); in pasemi_msi_setup_msi_irqs() 136 set_irq_type(virq, IRQ_TYPE_EDGE_RISING); in pasemi_msi_setup_msi_irqs() 139 "addr 0x%x\n", virq, hwirq, msg.address_lo); in pasemi_msi_setup_msi_irqs() 145 write_msi_msg(virq, &msg); in pasemi_msi_setup_msi_irqs()
|
D | mpic_u3msi.c | 115 unsigned int virq; in u3msi_setup_msi_irqs() local 132 virq = irq_create_mapping(msi_mpic->irqhost, hwirq); in u3msi_setup_msi_irqs() 133 if (virq == NO_IRQ) { in u3msi_setup_msi_irqs() 139 set_irq_msi(virq, entry); in u3msi_setup_msi_irqs() 140 set_irq_chip(virq, &mpic_u3msi_chip); in u3msi_setup_msi_irqs() 141 set_irq_type(virq, IRQ_TYPE_EDGE_RISING); in u3msi_setup_msi_irqs() 144 virq, hwirq, (unsigned long)addr); in u3msi_setup_msi_irqs() 147 write_msi_msg(virq, &msg); in u3msi_setup_msi_irqs()
|
D | i8259.c | 171 static int i8259_host_map(struct irq_host *h, unsigned int virq, in i8259_host_map() argument 174 pr_debug("i8259_host_map(%d, 0x%lx)\n", virq, hw); in i8259_host_map() 178 get_irq_desc(virq)->status |= IRQ_NOREQUEST; in i8259_host_map() 183 get_irq_desc(virq)->status |= IRQ_LEVEL; in i8259_host_map() 184 set_irq_chip_and_handler(virq, &i8259_pic, handle_level_irq); in i8259_host_map() 188 static void i8259_host_unmap(struct irq_host *h, unsigned int virq) in i8259_host_unmap() argument 191 i8259_mask_irq(virq); in i8259_host_unmap() 194 set_irq_chip_and_handler(virq, NULL, NULL); in i8259_host_unmap() 197 synchronize_irq(virq); in i8259_host_unmap()
|
D | ipic.c | 519 static inline struct ipic * ipic_from_irq(unsigned int virq) in ipic_from_irq() argument 524 #define ipic_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) argument 526 static void ipic_unmask_irq(unsigned int virq) in ipic_unmask_irq() argument 528 struct ipic *ipic = ipic_from_irq(virq); in ipic_unmask_irq() 529 unsigned int src = ipic_irq_to_hw(virq); in ipic_unmask_irq() 542 static void ipic_mask_irq(unsigned int virq) in ipic_mask_irq() argument 544 struct ipic *ipic = ipic_from_irq(virq); in ipic_mask_irq() 545 unsigned int src = ipic_irq_to_hw(virq); in ipic_mask_irq() 562 static void ipic_ack_irq(unsigned int virq) in ipic_ack_irq() argument 564 struct ipic *ipic = ipic_from_irq(virq); in ipic_ack_irq() [all …]
|
/arch/powerpc/kernel/ |
D | irq.c | 448 irq_hw_number_t virq_to_hw(unsigned int virq) in virq_to_hw() argument 450 return irq_map[virq].hwirq; in virq_to_hw() 586 static int irq_setup_virq(struct irq_host *host, unsigned int virq, in irq_setup_virq() argument 590 get_irq_desc(virq)->status &= ~IRQ_NOREQUEST; in irq_setup_virq() 594 irq_map[virq].hwirq = hwirq; in irq_setup_virq() 597 if (host->ops->map(host, virq, hwirq)) { in irq_setup_virq() 599 irq_free_virt(virq, 1); in irq_setup_virq() 608 unsigned int virq; in irq_create_direct_mapping() local 616 virq = irq_alloc_virt(host, 1, 0); in irq_create_direct_mapping() 617 if (virq == NO_IRQ) { in irq_create_direct_mapping() [all …]
|
/arch/powerpc/platforms/82xx/ |
D | pq2ads-pci-pic.c | 41 static void pq2ads_pci_mask_irq(unsigned int virq) in pq2ads_pci_mask_irq() argument 43 struct pq2ads_pci_pic *priv = get_irq_chip_data(virq); in pq2ads_pci_mask_irq() 44 int irq = NUM_IRQS - virq_to_hw(virq) - 1; in pq2ads_pci_mask_irq() 57 static void pq2ads_pci_unmask_irq(unsigned int virq) in pq2ads_pci_unmask_irq() argument 59 struct pq2ads_pci_pic *priv = get_irq_chip_data(virq); in pq2ads_pci_unmask_irq() 60 int irq = NUM_IRQS - virq_to_hw(virq) - 1; in pq2ads_pci_unmask_irq() 100 int virq = irq_linear_revmap(priv->host, bit); in pq2ads_pci_irq_demux() local 101 generic_handle_irq(virq); in pq2ads_pci_irq_demux() 107 static int pci_pic_host_map(struct irq_host *h, unsigned int virq, in pci_pic_host_map() argument 110 get_irq_desc(virq)->status |= IRQ_LEVEL; in pci_pic_host_map() [all …]
|
/arch/powerpc/platforms/86xx/ |
D | gef_pic.c | 49 #define gef_irq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) argument 113 static void gef_pic_mask(unsigned int virq) in gef_pic_mask() argument 119 hwirq = gef_irq_to_hw(virq); in gef_pic_mask() 128 static void gef_pic_mask_ack(unsigned int virq) in gef_pic_mask_ack() argument 133 gef_pic_mask(virq); in gef_pic_mask_ack() 136 static void gef_pic_unmask(unsigned int virq) in gef_pic_unmask() argument 142 hwirq = gef_irq_to_hw(virq); in gef_pic_unmask() 162 static int gef_pic_host_map(struct irq_host *h, unsigned int virq, in gef_pic_host_map() argument 166 get_irq_desc(virq)->status |= IRQ_LEVEL; in gef_pic_host_map() 167 set_irq_chip_and_handler(virq, &gef_pic_chip, handle_level_irq); in gef_pic_host_map() [all …]
|
/arch/powerpc/platforms/52xx/ |
D | mpc52xx_pic.c | 158 static void mpc52xx_extirq_mask(unsigned int virq) in mpc52xx_extirq_mask() argument 163 irq = irq_map[virq].hwirq; in mpc52xx_extirq_mask() 171 static void mpc52xx_extirq_unmask(unsigned int virq) in mpc52xx_extirq_unmask() argument 176 irq = irq_map[virq].hwirq; in mpc52xx_extirq_unmask() 184 static void mpc52xx_extirq_ack(unsigned int virq) in mpc52xx_extirq_ack() argument 189 irq = irq_map[virq].hwirq; in mpc52xx_extirq_ack() 197 static int mpc52xx_extirq_set_type(unsigned int virq, unsigned int flow_type) in mpc52xx_extirq_set_type() argument 199 struct irq_desc *desc = get_irq_desc(virq); in mpc52xx_extirq_set_type() 204 irq = irq_map[virq].hwirq; in mpc52xx_extirq_set_type() 250 static void mpc52xx_main_mask(unsigned int virq) in mpc52xx_main_mask() argument [all …]
|
/arch/powerpc/platforms/pseries/ |
D | xics.c | 152 static int get_irq_server(unsigned int virq, unsigned int strict_check) in get_irq_server() argument 156 cpumask_t cpumask = irq_desc[virq].affinity; in get_irq_server() 180 static int get_irq_server(unsigned int virq, unsigned int strict_check) in get_irq_server() argument 186 static void xics_unmask_irq(unsigned int virq) in xics_unmask_irq() argument 192 pr_debug("xics: unmask virq %d\n", virq); in xics_unmask_irq() 194 irq = (unsigned int)irq_map[virq].hwirq; in xics_unmask_irq() 199 server = get_irq_server(virq, 0); in xics_unmask_irq() 219 static unsigned int xics_startup(unsigned int virq) in xics_startup() argument 222 xics_unmask_irq(virq); in xics_startup() 250 static void xics_mask_irq(unsigned int virq) in xics_mask_irq() argument [all …]
|
/arch/powerpc/sysdev/qe_lib/ |
D | qe_ic.c | 190 static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) in qe_ic_from_irq() argument 192 return irq_desc[virq].chip_data; in qe_ic_from_irq() 195 #define virq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) argument 197 static void qe_ic_unmask_irq(unsigned int virq) in qe_ic_unmask_irq() argument 199 struct qe_ic *qe_ic = qe_ic_from_irq(virq); in qe_ic_unmask_irq() 200 unsigned int src = virq_to_hw(virq); in qe_ic_unmask_irq() 213 static void qe_ic_mask_irq(unsigned int virq) in qe_ic_mask_irq() argument 215 struct qe_ic *qe_ic = qe_ic_from_irq(virq); in qe_ic_mask_irq() 216 unsigned int src = virq_to_hw(virq); in qe_ic_mask_irq() 252 static int qe_ic_host_map(struct irq_host *h, unsigned int virq, in qe_ic_host_map() argument [all …]
|
/arch/powerpc/include/asm/ |
D | irq.h | 85 int (*map)(struct irq_host *h, unsigned int virq, irq_hw_number_t hw); 88 void (*unmap)(struct irq_host *h, unsigned int virq); 91 void (*remap)(struct irq_host *h, unsigned int virq, irq_hw_number_t hw); 142 extern irq_hw_number_t virq_to_hw(unsigned int virq); 214 extern void irq_dispose_mapping(unsigned int virq); 247 extern void irq_radix_revmap_insert(struct irq_host *host, unsigned int virq, 300 extern void irq_free_virt(unsigned int virq, unsigned int count);
|
D | ps3.h | 182 unsigned int *virq); 183 int ps3_irq_plug_destroy(unsigned int virq); 184 int ps3_event_receive_port_setup(enum ps3_cpu_binding cpu, unsigned int *virq); 185 int ps3_event_receive_port_destroy(unsigned int virq); 186 int ps3_send_event_locally(unsigned int virq); 189 unsigned int *virq); 190 int ps3_io_irq_destroy(unsigned int virq); 192 unsigned int *virq); 193 int ps3_vuart_irq_destroy(unsigned int virq); 195 unsigned int class, unsigned int *virq); [all …]
|
/arch/powerpc/platforms/powermac/ |
D | pic.c | 81 static void pmac_mask_and_ack_irq(unsigned int virq) in pmac_mask_and_ack_irq() argument 83 unsigned int src = irq_map[virq].hwirq; in pmac_mask_and_ack_irq() 103 static void pmac_ack_irq(unsigned int virq) in pmac_ack_irq() argument 105 unsigned int src = irq_map[virq].hwirq; in pmac_ack_irq() 148 static unsigned int pmac_startup_irq(unsigned int virq) in pmac_startup_irq() argument 151 unsigned int src = irq_map[virq].hwirq; in pmac_startup_irq() 156 if ((irq_desc[virq].status & IRQ_LEVEL) == 0) in pmac_startup_irq() 165 static void pmac_mask_irq(unsigned int virq) in pmac_mask_irq() argument 168 unsigned int src = irq_map[virq].hwirq; in pmac_mask_irq() 176 static void pmac_unmask_irq(unsigned int virq) in pmac_unmask_irq() argument [all …]
|