Searched refs:qe_ic (Results 1 - 13 of 13) sorted by relevance

/linux-4.4.14/arch/powerpc/include/asm/
H A Dqe_ic.h21 struct qe_ic;
64 unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic);
65 unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic);
71 static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) qe_ic_get_low_irq() argument
73 static inline unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) qe_ic_get_high_irq() argument
83 struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic_cascade_low_ipic() local
84 unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); qe_ic_cascade_low_ipic()
92 struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic_cascade_high_ipic() local
93 unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); qe_ic_cascade_high_ipic()
101 struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic_cascade_low_mpic() local
102 unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); qe_ic_cascade_low_mpic()
113 struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic_cascade_high_mpic() local
114 unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); qe_ic_cascade_high_mpic()
125 struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic_cascade_muxed_mpic() local
129 cascade_irq = qe_ic_get_high_irq(qe_ic); qe_ic_cascade_muxed_mpic()
131 cascade_irq = qe_ic_get_low_irq(qe_ic); qe_ic_cascade_muxed_mpic()
/linux-4.4.14/arch/powerpc/sysdev/qe_lib/
H A Dqe_ic.c2 * arch/powerpc/sysdev/qe_lib/qe_ic.c
30 #include <asm/qe_ic.h>
32 #include "qe_ic.h"
188 static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) qe_ic_from_irq()
193 static inline struct qe_ic *qe_ic_from_irq_data(struct irq_data *d) qe_ic_from_irq_data()
200 struct qe_ic *qe_ic = qe_ic_from_irq_data(d); qe_ic_unmask_irq() local
207 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); qe_ic_unmask_irq()
208 qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, qe_ic_unmask_irq()
216 struct qe_ic *qe_ic = qe_ic_from_irq_data(d); qe_ic_mask_irq() local
223 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); qe_ic_mask_irq()
224 qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, qe_ic_mask_irq()
250 /* Exact match, unless qe_ic node is NULL */ qe_ic_host_match()
258 struct qe_ic *qe_ic = h->host_data; qe_ic_host_map() local
266 chip = &qe_ic->hc_irq; qe_ic_host_map()
268 irq_set_chip_data(virq, qe_ic); qe_ic_host_map()
283 unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) qe_ic_get_low_irq() argument
287 BUG_ON(qe_ic == NULL); qe_ic_get_low_irq()
290 irq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26; qe_ic_get_low_irq()
295 return irq_linear_revmap(qe_ic->irqhost, irq); qe_ic_get_low_irq()
299 unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) qe_ic_get_high_irq() argument
303 BUG_ON(qe_ic == NULL); qe_ic_get_high_irq()
306 irq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26; qe_ic_get_high_irq()
311 return irq_linear_revmap(qe_ic->irqhost, irq); qe_ic_get_high_irq()
318 struct qe_ic *qe_ic; qe_ic_init() local
326 qe_ic = kzalloc(sizeof(*qe_ic), GFP_KERNEL); qe_ic_init()
327 if (qe_ic == NULL) qe_ic_init()
330 qe_ic->irqhost = irq_domain_add_linear(node, NR_QE_IC_INTS, qe_ic_init()
331 &qe_ic_host_ops, qe_ic); qe_ic_init()
332 if (qe_ic->irqhost == NULL) { qe_ic_init()
333 kfree(qe_ic); qe_ic_init()
337 qe_ic->regs = ioremap(res.start, resource_size(&res)); qe_ic_init()
339 qe_ic->hc_irq = qe_ic_irq_chip; qe_ic_init()
341 qe_ic->virq_high = irq_of_parse_and_map(node, 0); qe_ic_init()
342 qe_ic->virq_low = irq_of_parse_and_map(node, 1); qe_ic_init()
344 if (qe_ic->virq_low == NO_IRQ) { qe_ic_init()
346 kfree(qe_ic); qe_ic_init()
371 qe_ic_write(qe_ic->regs, QEIC_CICR, temp); qe_ic_init()
373 irq_set_handler_data(qe_ic->virq_low, qe_ic); qe_ic_init()
374 irq_set_chained_handler(qe_ic->virq_low, low_handler); qe_ic_init()
376 if (qe_ic->virq_high != NO_IRQ && qe_ic_init()
377 qe_ic->virq_high != qe_ic->virq_low) { qe_ic_init()
378 irq_set_handler_data(qe_ic->virq_high, qe_ic); qe_ic_init()
379 irq_set_chained_handler(qe_ic->virq_high, high_handler); qe_ic_init()
385 struct qe_ic *qe_ic = qe_ic_from_irq(virq); qe_ic_set_highest_priority() local
389 temp = qe_ic_read(qe_ic->regs, QEIC_CICR); qe_ic_set_highest_priority()
397 qe_ic_write(qe_ic->regs, QEIC_CICR, temp); qe_ic_set_highest_priority()
403 struct qe_ic *qe_ic = qe_ic_from_irq(virq); qe_ic_set_priority() local
414 temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].pri_reg); qe_ic_set_priority()
424 qe_ic_write(qe_ic->regs, qe_ic_info[src].pri_reg, temp); qe_ic_set_priority()
432 struct qe_ic *qe_ic = qe_ic_from_irq(virq); qe_ic_set_high_priority() local
465 temp = qe_ic_read(qe_ic->regs, control_reg); qe_ic_set_high_priority()
468 qe_ic_write(qe_ic->regs, control_reg, temp); qe_ic_set_high_priority()
474 .name = "qe_ic",
475 .dev_name = "qe_ic",
487 printk(KERN_DEBUG "Registering qe_ic with sysfs...\n"); init_qe_ic_sysfs()
491 printk(KERN_ERR "Failed registering qe_ic sys class\n"); init_qe_ic_sysfs()
496 printk(KERN_ERR "Failed registering qe_ic sys device\n"); init_qe_ic_sysfs()
H A Dqe_ic.h2 * arch/powerpc/sysdev/qe_lib/qe_ic.h
19 #include <asm/qe_ic.h>
77 struct qe_ic { struct
/linux-4.4.14/arch/powerpc/platforms/83xx/
H A Dmpc836x_rdk.c24 #include <asm/qe_ic.h>
H A Dmisc.c20 #include <asm/qe_ic.h>
H A Dmpc832x_mds.c40 #include <asm/qe_ic.h>
H A Dkm83xx.c41 #include <asm/qe_ic.h>
H A Dmpc832x_rdb.c29 #include <asm/qe_ic.h>
H A Dmpc836x_mds.c48 #include <asm/qe_ic.h>
/linux-4.4.14/arch/powerpc/platforms/85xx/
H A Dtwr_p102x.c26 #include <asm/qe_ic.h>
H A Dcorenet_generic.c30 #include <asm/qe_ic.h>
H A Dmpc85xx_mds.c52 #include <asm/qe_ic.h>
H A Dmpc85xx_rdb.c30 #include <asm/qe_ic.h>

Completed in 350 milliseconds