Lines Matching defs:vi

517 static void iosapic_rd_irt_entry(struct vector_info *vi , u32 *dp0, u32 *dp1)
519 struct iosapic_info *isp = vi->iosapic;
520 u8 idx = vi->irqline;
527 static void iosapic_wr_irt_entry(struct vector_info *vi, u32 dp0, u32 dp1)
529 struct iosapic_info *isp = vi->iosapic;
532 vi->irqline, isp->isi_hpa, dp0, dp1);
534 iosapic_write(isp->addr, IOSAPIC_IRDT_ENTRY(vi->irqline), dp0);
539 iosapic_write(isp->addr, IOSAPIC_IRDT_ENTRY_HI(vi->irqline), dp1);
551 iosapic_set_irt_data( struct vector_info *vi, u32 *dp0, u32 *dp1)
554 struct irt_entry *p = vi->irte;
567 *dp0 = mode | (u32) vi->txn_data;
578 *dp1 = (u32) (vi->txn_addr);
587 *dp1 = (((u32)vi->txn_addr & 0x0ff00000) >> 4) |
588 (((u32)vi->txn_addr & 0x000ff000) << 12);
597 struct vector_info *vi = irq_data_get_irq_chip_data(d);
601 iosapic_rd_irt_entry(vi, &d0, &d1);
603 iosapic_wr_irt_entry(vi, d0, d1);
609 struct vector_info *vi = irq_data_get_irq_chip_data(d);
613 WARN_ON(vi->txn_irq == 0);
615 iosapic_set_irt_data(vi, &d0, &d1);
616 iosapic_wr_irt_entry(vi, d0, d1);
620 u32 *t = (u32 *) ((ulong) vi->eoi_addr & ~0xffUL);
621 printk("iosapic_enable_irq(): regs %p", vi->eoi_addr);
622 for ( ; t < vi->eoi_addr; t++)
629 struct iosapic_info *isp = vi->iosapic;
646 vi->eoi_addr, vi->eoi_data);
647 iosapic_eoi(vi->eoi_addr, vi->eoi_data);
652 struct vector_info *vi = irq_data_get_irq_chip_data(d);
654 iosapic_eoi(vi->eoi_addr, vi->eoi_data);
662 struct vector_info *vi = irq_data_get_irq_chip_data(d);
672 vi->txn_addr = txn_affinity_addr(d->irq, dest_cpu);
677 iosapic_rd_irt_entry(vi, &d0, &d1);
678 iosapic_set_irt_data(vi, &dummy_d0, &d1);
679 iosapic_wr_irt_entry(vi, d0, d1);
701 struct vector_info *vi;
749 vi = isi->isi_vector + isi_line;
750 DBG_IRT("iosapic_fixup_irq: line %d vi 0x%p\n", isi_line, vi);
753 if (vi->irte)
756 vi->irte = irte;
767 vi->txn_irq = txn_alloc_irq(8);
769 if (vi->txn_irq < 0)
773 vi->txn_addr = txn_alloc_addr(vi->txn_irq);
774 vi->txn_data = txn_alloc_data(vi->txn_irq);
776 vi->eoi_addr = isi->addr + IOSAPIC_REG_EOI;
777 vi->eoi_data = cpu_to_le32(vi->txn_data);
779 cpu_claim_irq(vi->txn_irq, &iosapic_interrupt_type, vi);
782 pcidev->irq = vi->txn_irq;
798 struct vector_info *vi;
833 vi = isi->isi_vector + intin;
834 DBG_IRT("iosapic_serial_irq: line %d vi 0x%p\n", iosapic_intin, vi);
837 if (vi->irte)
840 vi->irte = irte;
851 vi->txn_irq = txn_alloc_irq(8);
853 if (vi->txn_irq < 0)
857 vi->txn_addr = txn_alloc_addr(vi->txn_irq);
858 vi->txn_data = txn_alloc_data(vi->txn_irq);
860 vi->eoi_addr = isi->addr + IOSAPIC_REG_EOI;
861 vi->eoi_data = cpu_to_le32(vi->txn_data);
863 cpu_claim_irq(vi->txn_irq, &iosapic_interrupt_type, vi);
867 return vi->txn_irq;
962 iosapic_prt_vi(struct vector_info *vi)
964 printk(KERN_DEBUG MODULE_NAME ": vector_info[%d] is at %p\n", vi->irqline, vi);
965 printk(KERN_DEBUG "\t\tstatus: %.4x\n", vi->status);
966 printk(KERN_DEBUG "\t\ttxn_irq: %d\n", vi->txn_irq);
967 printk(KERN_DEBUG "\t\ttxn_addr: %lx\n", vi->txn_addr);
968 printk(KERN_DEBUG "\t\ttxn_data: %lx\n", vi->txn_data);
969 printk(KERN_DEBUG "\t\teoi_addr: %p\n", vi->eoi_addr);
970 printk(KERN_DEBUG "\t\teoi_data: %x\n", vi->eoi_data);