Lines Matching refs:cpcht_irqmap
126 static struct cpcht_irq *cpcht_irqmap = NULL; variable
208 cpcht_irqmap = sc->htirq_map; in cpcht_attach()
621 if (cpcht_irqmap != NULL && irq < 128 && in openpic_cpcht_config()
622 cpcht_irqmap[irq].ht_base > 0 && !cpcht_irqmap[irq].edge) { in openpic_cpcht_config()
626 out8rb(cpcht_irqmap[irq].ht_base + PCIR_HT_COMMAND, in openpic_cpcht_config()
627 0x10 + (cpcht_irqmap[irq].ht_source << 1)); in openpic_cpcht_config()
630 ht_irq = in32rb(cpcht_irqmap[irq].ht_base + 4); in openpic_cpcht_config()
633 out32rb(cpcht_irqmap[irq].ht_base + 4, ht_irq | HTAPIC_MASK); in openpic_cpcht_config()
638 cpcht_irqmap[irq].edge = 1; in openpic_cpcht_config()
640 cpcht_irqmap[irq].edge = 0; in openpic_cpcht_config()
643 out32rb(cpcht_irqmap[irq].ht_base + 4, ht_irq); in openpic_cpcht_config()
659 if (cpcht_irqmap != NULL && irq < 128 && in openpic_cpcht_enable()
660 cpcht_irqmap[irq].ht_base > 0) { in openpic_cpcht_enable()
664 out8rb(cpcht_irqmap[irq].ht_base + PCIR_HT_COMMAND, in openpic_cpcht_enable()
665 0x10 + (cpcht_irqmap[irq].ht_source << 1)); in openpic_cpcht_enable()
668 ht_irq = in32rb(cpcht_irqmap[irq].ht_base + 4); in openpic_cpcht_enable()
670 out32rb(cpcht_irqmap[irq].ht_base + 4, ht_irq); in openpic_cpcht_enable()
688 if (cpcht_irqmap != NULL && irq < 128 && in openpic_cpcht_unmask()
689 cpcht_irqmap[irq].ht_base > 0) { in openpic_cpcht_unmask()
693 out8rb(cpcht_irqmap[irq].ht_base + PCIR_HT_COMMAND, in openpic_cpcht_unmask()
694 0x10 + (cpcht_irqmap[irq].ht_source << 1)); in openpic_cpcht_unmask()
697 ht_irq = in32rb(cpcht_irqmap[irq].ht_base + 4); in openpic_cpcht_unmask()
699 out32rb(cpcht_irqmap[irq].ht_base + 4, ht_irq); in openpic_cpcht_unmask()
718 if (cpcht_irqmap != NULL && irq < 128 && in openpic_cpcht_eoi()
719 cpcht_irqmap[irq].ht_base > 0 && !cpcht_irqmap[irq].edge) { in openpic_cpcht_eoi()
722 if (cpcht_irqmap[irq].apple_eoi) { in openpic_cpcht_eoi()
723 off = (cpcht_irqmap[irq].ht_source >> 3) & ~3; in openpic_cpcht_eoi()
724 mask = 1 << (cpcht_irqmap[irq].ht_source & 0x1f); in openpic_cpcht_eoi()
725 out32rb(cpcht_irqmap[irq].apple_eoi + off, mask); in openpic_cpcht_eoi()
729 out8rb(cpcht_irqmap[irq].ht_base + PCIR_HT_COMMAND, in openpic_cpcht_eoi()
730 0x11 + (cpcht_irqmap[irq].ht_source << 1)); in openpic_cpcht_eoi()
731 out32rb(cpcht_irqmap[irq].ht_base + 4, in openpic_cpcht_eoi()
732 cpcht_irqmap[irq].eoi_data); in openpic_cpcht_eoi()