qe_ic 185 drivers/soc/fsl/qe/qe_ic.c static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) qe_ic 190 drivers/soc/fsl/qe/qe_ic.c static inline struct qe_ic *qe_ic_from_irq_data(struct irq_data *d) qe_ic 197 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic = qe_ic_from_irq_data(d); qe_ic 204 drivers/soc/fsl/qe/qe_ic.c temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); qe_ic 205 drivers/soc/fsl/qe/qe_ic.c qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, qe_ic 213 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic = qe_ic_from_irq_data(d); qe_ic 220 drivers/soc/fsl/qe/qe_ic.c temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); qe_ic 221 drivers/soc/fsl/qe/qe_ic.c qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, qe_ic 255 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic = h->host_data; qe_ic 268 drivers/soc/fsl/qe/qe_ic.c chip = &qe_ic->hc_irq; qe_ic 270 drivers/soc/fsl/qe/qe_ic.c irq_set_chip_data(virq, qe_ic); qe_ic 285 drivers/soc/fsl/qe/qe_ic.c unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) qe_ic 289 drivers/soc/fsl/qe/qe_ic.c BUG_ON(qe_ic == NULL); qe_ic 292 drivers/soc/fsl/qe/qe_ic.c irq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26; qe_ic 297 drivers/soc/fsl/qe/qe_ic.c return irq_linear_revmap(qe_ic->irqhost, irq); qe_ic 301 drivers/soc/fsl/qe/qe_ic.c unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) qe_ic 305 drivers/soc/fsl/qe/qe_ic.c BUG_ON(qe_ic == NULL); qe_ic 308 drivers/soc/fsl/qe/qe_ic.c irq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26; qe_ic 313 drivers/soc/fsl/qe/qe_ic.c return irq_linear_revmap(qe_ic->irqhost, irq); qe_ic 320 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic; qe_ic 328 drivers/soc/fsl/qe/qe_ic.c qe_ic = kzalloc(sizeof(*qe_ic), GFP_KERNEL); qe_ic 329 drivers/soc/fsl/qe/qe_ic.c if (qe_ic == NULL) qe_ic 332 drivers/soc/fsl/qe/qe_ic.c qe_ic->irqhost = irq_domain_add_linear(node, NR_QE_IC_INTS, qe_ic 333 drivers/soc/fsl/qe/qe_ic.c &qe_ic_host_ops, qe_ic); qe_ic 334 drivers/soc/fsl/qe/qe_ic.c if (qe_ic->irqhost == NULL) { qe_ic 335 drivers/soc/fsl/qe/qe_ic.c kfree(qe_ic); qe_ic 339 drivers/soc/fsl/qe/qe_ic.c qe_ic->regs = ioremap(res.start, resource_size(&res)); qe_ic 341 drivers/soc/fsl/qe/qe_ic.c qe_ic->hc_irq = qe_ic_irq_chip; qe_ic 343 drivers/soc/fsl/qe/qe_ic.c qe_ic->virq_high = irq_of_parse_and_map(node, 0); qe_ic 344 drivers/soc/fsl/qe/qe_ic.c qe_ic->virq_low = irq_of_parse_and_map(node, 1); qe_ic 346 drivers/soc/fsl/qe/qe_ic.c if (qe_ic->virq_low == NO_IRQ) { qe_ic 348 drivers/soc/fsl/qe/qe_ic.c kfree(qe_ic); qe_ic 373 drivers/soc/fsl/qe/qe_ic.c qe_ic_write(qe_ic->regs, QEIC_CICR, temp); qe_ic 375 drivers/soc/fsl/qe/qe_ic.c irq_set_handler_data(qe_ic->virq_low, qe_ic); qe_ic 376 drivers/soc/fsl/qe/qe_ic.c irq_set_chained_handler(qe_ic->virq_low, low_handler); qe_ic 378 drivers/soc/fsl/qe/qe_ic.c if (qe_ic->virq_high != NO_IRQ && qe_ic 379 drivers/soc/fsl/qe/qe_ic.c qe_ic->virq_high != qe_ic->virq_low) { qe_ic 380 drivers/soc/fsl/qe/qe_ic.c irq_set_handler_data(qe_ic->virq_high, qe_ic); qe_ic 381 drivers/soc/fsl/qe/qe_ic.c irq_set_chained_handler(qe_ic->virq_high, high_handler); qe_ic 387 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic = qe_ic_from_irq(virq); qe_ic 391 drivers/soc/fsl/qe/qe_ic.c temp = qe_ic_read(qe_ic->regs, QEIC_CICR); qe_ic 399 drivers/soc/fsl/qe/qe_ic.c qe_ic_write(qe_ic->regs, QEIC_CICR, temp); qe_ic 405 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic = qe_ic_from_irq(virq); qe_ic 417 drivers/soc/fsl/qe/qe_ic.c temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].pri_reg); qe_ic 427 drivers/soc/fsl/qe/qe_ic.c qe_ic_write(qe_ic->regs, qe_ic_info[src].pri_reg, temp); qe_ic 435 drivers/soc/fsl/qe/qe_ic.c struct qe_ic *qe_ic = qe_ic_from_irq(virq); qe_ic 471 drivers/soc/fsl/qe/qe_ic.c temp = qe_ic_read(qe_ic->regs, control_reg); qe_ic 474 drivers/soc/fsl/qe/qe_ic.c qe_ic_write(qe_ic->regs, control_reg, temp); qe_ic 17 include/soc/fsl/qe/qe_ic.h struct qe_ic; qe_ic 60 include/soc/fsl/qe/qe_ic.h unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic); qe_ic 61 include/soc/fsl/qe/qe_ic.h unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic); qe_ic 67 include/soc/fsl/qe/qe_ic.h static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) qe_ic 69 include/soc/fsl/qe/qe_ic.h static inline unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) qe_ic 79 include/soc/fsl/qe/qe_ic.h struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic 80 include/soc/fsl/qe/qe_ic.h unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); qe_ic 88 include/soc/fsl/qe/qe_ic.h struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic 89 include/soc/fsl/qe/qe_ic.h unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); qe_ic 97 include/soc/fsl/qe/qe_ic.h struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic 98 include/soc/fsl/qe/qe_ic.h unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic); qe_ic 109 include/soc/fsl/qe/qe_ic.h struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic 110 include/soc/fsl/qe/qe_ic.h unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic); qe_ic 121 include/soc/fsl/qe/qe_ic.h struct qe_ic *qe_ic = irq_desc_get_handler_data(desc); qe_ic 125 include/soc/fsl/qe/qe_ic.h cascade_irq = qe_ic_get_high_irq(qe_ic); qe_ic 127 include/soc/fsl/qe/qe_ic.h cascade_irq = qe_ic_get_low_irq(qe_ic);