• Home
  • Raw
  • Download

Lines Matching refs:pic

76 static void __iomem *spider_get_irq_config(struct spider_pic *pic,  in spider_get_irq_config()  argument
79 return pic->regs + TIR_CFGA + 8 * src; in spider_get_irq_config()
84 struct spider_pic *pic = spider_irq_data_to_pic(d); in spider_unmask_irq() local
85 void __iomem *cfg = spider_get_irq_config(pic, irqd_to_hwirq(d)); in spider_unmask_irq()
92 struct spider_pic *pic = spider_irq_data_to_pic(d); in spider_mask_irq() local
93 void __iomem *cfg = spider_get_irq_config(pic, irqd_to_hwirq(d)); in spider_mask_irq()
100 struct spider_pic *pic = spider_irq_data_to_pic(d); in spider_ack_irq() local
113 out_be32(pic->regs + TIR_EDC, 0x100 | (src & 0xf)); in spider_ack_irq()
119 struct spider_pic *pic = spider_irq_data_to_pic(d); in spider_set_irq_type() local
121 void __iomem *cfg = spider_get_irq_config(pic, hw); in spider_set_irq_type()
157 (pic->node_id << 4) | 0xe); in spider_set_irq_type()
205 struct spider_pic *pic = irq_desc_get_handler_data(desc); in spider_irq_cascade() local
208 cs = in_be32(pic->regs + TIR_CS) >> 24; in spider_irq_cascade()
212 virq = irq_linear_revmap(pic->host, cs); in spider_irq_cascade()
228 static unsigned int __init spider_find_cascade_and_node(struct spider_pic *pic) in spider_find_cascade_and_node() argument
236 of_node = irq_domain_get_of_node(pic->host); in spider_find_cascade_and_node()
272 pic->node_id = (*tmp) >> 1; in spider_find_cascade_and_node()
281 (pic->node_id << IIC_IRQ_NODE_SHIFT) | in spider_find_cascade_and_node()
293 struct spider_pic *pic = &spider_pics[chip]; in spider_init_one() local
297 pic->regs = ioremap(addr, 0x1000); in spider_init_one()
298 if (pic->regs == NULL) in spider_init_one()
302 pic->host = irq_domain_add_linear(of_node, SPIDER_SRC_COUNT, in spider_init_one()
303 &spider_host_ops, pic); in spider_init_one()
304 if (pic->host == NULL) in spider_init_one()
309 void __iomem *cfg = pic->regs + TIR_CFGA + 8 * i; in spider_init_one()
314 out_be32(pic->regs + TIR_MSK, 0x0); in spider_init_one()
317 out_be32(pic->regs + TIR_PIEN, in_be32(pic->regs + TIR_PIEN) | 0x1); in spider_init_one()
320 virq = spider_find_cascade_and_node(pic); in spider_init_one()
323 irq_set_handler_data(virq, pic); in spider_init_one()
327 pic->node_id, addr, of_node); in spider_init_one()
330 out_be32(pic->regs + TIR_DEN, in_be32(pic->regs + TIR_DEN) | 0x1); in spider_init_one()