Lines Matching defs:pic

64 static void __iomem *spider_get_irq_config(struct spider_pic *pic,
67 return pic->regs + TIR_CFGA + 8 * src;
72 struct spider_pic *pic = spider_irq_data_to_pic(d);
73 void __iomem *cfg = spider_get_irq_config(pic, irqd_to_hwirq(d));
80 struct spider_pic *pic = spider_irq_data_to_pic(d);
81 void __iomem *cfg = spider_get_irq_config(pic, irqd_to_hwirq(d));
88 struct spider_pic *pic = spider_irq_data_to_pic(d);
101 out_be32(pic->regs + TIR_EDC, 0x100 | (src & 0xf));
107 struct spider_pic *pic = spider_irq_data_to_pic(d);
109 void __iomem *cfg = spider_get_irq_config(pic, hw);
145 (pic->node_id << 4) | 0xe);
193 struct spider_pic *pic = irq_desc_get_handler_data(desc);
196 cs = in_be32(pic->regs + TIR_CS) >> 24;
198 generic_handle_domain_irq(pic->host, cs);
211 static unsigned int __init spider_find_cascade_and_node(struct spider_pic *pic)
219 of_node = irq_domain_get_of_node(pic->host);
255 pic->node_id = (*tmp) >> 1;
264 (pic->node_id << IIC_IRQ_NODE_SHIFT) |
276 struct spider_pic *pic = &spider_pics[chip];
280 pic->regs = ioremap(addr, 0x1000);
281 if (pic->regs == NULL)
285 pic->host = irq_domain_add_linear(of_node, SPIDER_SRC_COUNT,
286 &spider_host_ops, pic);
287 if (pic->host == NULL)
292 void __iomem *cfg = pic->regs + TIR_CFGA + 8 * i;
297 out_be32(pic->regs + TIR_MSK, 0x0);
300 out_be32(pic->regs + TIR_PIEN, in_be32(pic->regs + TIR_PIEN) | 0x1);
303 virq = spider_find_cascade_and_node(pic);
306 irq_set_handler_data(virq, pic);
310 pic->node_id, addr, of_node);
313 out_be32(pic->regs + TIR_DEN, in_be32(pic->regs + TIR_DEN) | 0x1);
330 if (of_device_is_compatible(dn, "CBEA,platform-spider-pic")) {
332 printk(KERN_WARNING "spider-pic: Failed\n");
335 } else if (of_device_is_compatible(dn, "sti,platform-spider-pic")