io7 297 arch/alpha/include/asm/core_marvel.h struct io7 *io7; io7 310 arch/alpha/include/asm/core_marvel.h struct io7 *next; io7 49 arch/alpha/kernel/core_marvel.c static struct io7 *io7_head = NULL; io7 94 arch/alpha/kernel/core_marvel.c inline struct io7 * io7 95 arch/alpha/kernel/core_marvel.c marvel_next_io7(struct io7 *prev) io7 100 arch/alpha/kernel/core_marvel.c struct io7 * io7 103 arch/alpha/kernel/core_marvel.c struct io7 *io7; io7 105 arch/alpha/kernel/core_marvel.c for (io7 = io7_head; io7 && io7->pe != pe; io7 = io7->next) io7 108 arch/alpha/kernel/core_marvel.c return io7; io7 111 arch/alpha/kernel/core_marvel.c static struct io7 * __init io7 114 arch/alpha/kernel/core_marvel.c struct io7 *io7; io7 115 arch/alpha/kernel/core_marvel.c struct io7 *insp; io7 123 arch/alpha/kernel/core_marvel.c io7 = memblock_alloc(sizeof(*io7), SMP_CACHE_BYTES); io7 124 arch/alpha/kernel/core_marvel.c if (!io7) io7 126 arch/alpha/kernel/core_marvel.c sizeof(*io7)); io7 127 arch/alpha/kernel/core_marvel.c io7->pe = pe; io7 128 arch/alpha/kernel/core_marvel.c raw_spin_lock_init(&io7->irq_lock); io7 131 arch/alpha/kernel/core_marvel.c io7->ports[h].io7 = io7; io7 132 arch/alpha/kernel/core_marvel.c io7->ports[h].port = h; io7 133 arch/alpha/kernel/core_marvel.c io7->ports[h].enabled = 0; /* default to disabled */ io7 140 arch/alpha/kernel/core_marvel.c io7_head = io7; io7 141 arch/alpha/kernel/core_marvel.c else if (io7_head->pe > io7->pe) { /* insert at head */ io7 142 arch/alpha/kernel/core_marvel.c io7->next = io7_head; io7 143 arch/alpha/kernel/core_marvel.c io7_head = io7; io7 146 arch/alpha/kernel/core_marvel.c if (insp->pe == io7->pe) { io7 148 arch/alpha/kernel/core_marvel.c io7->pe); io7 153 arch/alpha/kernel/core_marvel.c insp->next->pe > io7->pe) { /* insert here */ io7 154 arch/alpha/kernel/core_marvel.c io7->next = insp->next; io7 155 arch/alpha/kernel/core_marvel.c insp->next = io7; io7 162 arch/alpha/kernel/core_marvel.c " - adding at head of list\n", io7->pe); io7 163 arch/alpha/kernel/core_marvel.c io7->next = io7_head; io7 164 arch/alpha/kernel/core_marvel.c io7_head = io7; io7 168 arch/alpha/kernel/core_marvel.c return io7; io7 172 arch/alpha/kernel/core_marvel.c io7_clear_errors(struct io7 *io7) io7 183 arch/alpha/kernel/core_marvel.c csrs = IO7_CSRS_KERN(io7->pe, port); io7 194 arch/alpha/kernel/core_marvel.c p7csrs = IO7_PORT7_CSRS_KERN(io7->pe); io7 206 arch/alpha/kernel/core_marvel.c io7_init_hose(struct io7 *io7, int port) io7 211 arch/alpha/kernel/core_marvel.c struct io7_port *io7_port = &io7->ports[port]; io7 212 arch/alpha/kernel/core_marvel.c io7_ioport_csrs *csrs = IO7_CSRS_KERN(io7->pe, port); io7 240 arch/alpha/kernel/core_marvel.c hose->dense_mem_base = IO7_MEM_PHYS(io7->pe, port); io7 241 arch/alpha/kernel/core_marvel.c hose->dense_io_base = IO7_IO_PHYS(io7->pe, port); io7 246 arch/alpha/kernel/core_marvel.c hose->config_space_base = (unsigned long)IO7_CONF_KERN(io7->pe, port); io7 248 arch/alpha/kernel/core_marvel.c hose->io_space->start = (unsigned long)IO7_IO_KERN(io7->pe, port); io7 250 arch/alpha/kernel/core_marvel.c hose->io_space->name = mk_resource_name(io7->pe, port, "IO"); io7 253 arch/alpha/kernel/core_marvel.c hose->mem_space->start = (unsigned long)IO7_MEM_KERN(io7->pe, port); io7 255 arch/alpha/kernel/core_marvel.c hose->mem_space->name = mk_resource_name(io7->pe, port, "MEM"); io7 291 arch/alpha/kernel/core_marvel.c hose->sg_isa = iommu_arena_new_node(marvel_cpuid_to_nid(io7->pe), io7 309 arch/alpha/kernel/core_marvel.c hose->sg_pci = iommu_arena_new_node(marvel_cpuid_to_nid(io7->pe), io7 338 arch/alpha/kernel/core_marvel.c marvel_init_io7(struct io7 *io7) io7 342 arch/alpha/kernel/core_marvel.c printk("Initializing IO7 at PID %d\n", io7->pe); io7 347 arch/alpha/kernel/core_marvel.c io7->csrs = IO7_PORT7_CSRS_KERN(io7->pe); io7 353 arch/alpha/kernel/core_marvel.c io7_ioport_csrs *csrs = IO7_CSRS_KERN(io7->pe, i); io7 355 arch/alpha/kernel/core_marvel.c io7->ports[i].enabled = 1; io7 356 arch/alpha/kernel/core_marvel.c io7_init_hose(io7, i); io7 385 arch/alpha/kernel/core_marvel.c struct io7 *io7; io7 405 arch/alpha/kernel/core_marvel.c if ((io7 = marvel_find_io7(pid))) io7 406 arch/alpha/kernel/core_marvel.c hose = io7->ports[port].hose; io7 430 arch/alpha/kernel/core_marvel.c struct io7 *io7; io7 437 arch/alpha/kernel/core_marvel.c io7 = alloc_io7(pid); io7 438 arch/alpha/kernel/core_marvel.c if (io7) marvel_init_io7(io7); io7 452 arch/alpha/kernel/core_marvel.c struct io7 *io7; io7 465 arch/alpha/kernel/core_marvel.c for (io7 = NULL; NULL != (io7 = marvel_next_io7(io7)); ) io7 466 arch/alpha/kernel/core_marvel.c marvel_init_io7(io7); io7 962 arch/alpha/kernel/core_marvel.c struct io7 *io7 = ((struct io7_port *)agp->hose->sysdata)->io7; io7 971 arch/alpha/kernel/core_marvel.c agp_pll = io7->csrs->POx_RST[IO7_AGP_PORT].csr; io7 1075 arch/alpha/kernel/core_marvel.c struct io7 *io7; io7 1084 arch/alpha/kernel/core_marvel.c for (io7 = NULL; (io7 = marvel_next_io7(io7)) != NULL; ) { io7 1088 arch/alpha/kernel/core_marvel.c if (!io7->ports[IO7_AGP_PORT].enabled) io7 1091 arch/alpha/kernel/core_marvel.c h = io7->ports[IO7_AGP_PORT].hose; io7 801 arch/alpha/kernel/err_marvel.c struct io7 *io7; io7 815 arch/alpha/kernel/err_marvel.c for (io7 = NULL; NULL != (io7 = marvel_next_io7(io7)); ) { io7 818 arch/alpha/kernel/err_marvel.c err_sum |= io7->csrs->PO7_ERROR_SUM.csr; io7 820 arch/alpha/kernel/err_marvel.c if (!io7->ports[i].enabled) io7 822 arch/alpha/kernel/err_marvel.c err_sum |= io7->ports[i].csrs->POx_ERR_SUM.csr; io7 835 arch/alpha/kernel/err_marvel.c if (!io7) io7 843 arch/alpha/kernel/err_marvel.c io->io_asic_rev = io7->csrs->IO_ASIC_REV.csr; io7 844 arch/alpha/kernel/err_marvel.c io->io_sys_rev = io7->csrs->IO_SYS_REV.csr; io7 845 arch/alpha/kernel/err_marvel.c io->io7_uph = io7->csrs->IO7_UPH.csr; io7 846 arch/alpha/kernel/err_marvel.c io->hpi_ctl = io7->csrs->HPI_CTL.csr; io7 847 arch/alpha/kernel/err_marvel.c io->crd_ctl = io7->csrs->CRD_CTL.csr; io7 848 arch/alpha/kernel/err_marvel.c io->hei_ctl = io7->csrs->HEI_CTL.csr; io7 849 arch/alpha/kernel/err_marvel.c io->po7_error_sum = io7->csrs->PO7_ERROR_SUM.csr; io7 850 arch/alpha/kernel/err_marvel.c io->po7_uncrr_sym = io7->csrs->PO7_UNCRR_SYM.csr; io7 851 arch/alpha/kernel/err_marvel.c io->po7_crrct_sym = io7->csrs->PO7_CRRCT_SYM.csr; io7 852 arch/alpha/kernel/err_marvel.c io->po7_ugbge_sym = io7->csrs->PO7_UGBGE_SYM.csr; io7 853 arch/alpha/kernel/err_marvel.c io->po7_err_pkt0 = io7->csrs->PO7_ERR_PKT[0].csr; io7 854 arch/alpha/kernel/err_marvel.c io->po7_err_pkt1 = io7->csrs->PO7_ERR_PKT[1].csr; io7 857 arch/alpha/kernel/err_marvel.c io7_ioport_csrs *csrs = io7->ports[i].csrs; io7 859 arch/alpha/kernel/err_marvel.c if (!io7->ports[i].enabled) io7 890 arch/alpha/kernel/err_marvel.c io7->csrs->PO7_ERROR_SUM.csr = io->po7_error_sum; io7 892 arch/alpha/kernel/err_marvel.c io7->csrs->PO7_ERROR_SUM.csr; io7 897 arch/alpha/kernel/err_marvel.c lf_subpackets->io_pid = io7->pe; io7 59 arch/alpha/kernel/proto.h struct io7 *marvel_find_io7(int pe); io7 60 arch/alpha/kernel/proto.h struct io7 *marvel_next_io7(struct io7 *prev); io7 61 arch/alpha/kernel/proto.h void io7_clear_errors(struct io7 *io7); io7 72 arch/alpha/kernel/sys_marvel.c io7_get_irq_ctl(unsigned int irq, struct io7 **pio7) io7 76 arch/alpha/kernel/sys_marvel.c struct io7 *io7; io7 80 arch/alpha/kernel/sys_marvel.c if (!(io7 = marvel_find_io7(pid))) { io7 97 arch/alpha/kernel/sys_marvel.c ctl = &io7->csrs->PO7_LSI_CTL[irq & 0xff].csr; /* assume LSI */ io7 99 arch/alpha/kernel/sys_marvel.c ctl = &io7->csrs->PO7_MSI_CTL[((irq - 0x80) >> 5) & 0x0f].csr; io7 101 arch/alpha/kernel/sys_marvel.c if (pio7) *pio7 = io7; io7 110 arch/alpha/kernel/sys_marvel.c struct io7 *io7; io7 112 arch/alpha/kernel/sys_marvel.c ctl = io7_get_irq_ctl(irq, &io7); io7 113 arch/alpha/kernel/sys_marvel.c if (!ctl || !io7) { io7 119 arch/alpha/kernel/sys_marvel.c raw_spin_lock(&io7->irq_lock); io7 123 arch/alpha/kernel/sys_marvel.c raw_spin_unlock(&io7->irq_lock); io7 131 arch/alpha/kernel/sys_marvel.c struct io7 *io7; io7 133 arch/alpha/kernel/sys_marvel.c ctl = io7_get_irq_ctl(irq, &io7); io7 134 arch/alpha/kernel/sys_marvel.c if (!ctl || !io7) { io7 140 arch/alpha/kernel/sys_marvel.c raw_spin_lock(&io7->irq_lock); io7 144 arch/alpha/kernel/sys_marvel.c raw_spin_unlock(&io7->irq_lock); io7 174 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(struct io7 *io7, io7 190 arch/alpha/kernel/sys_marvel.c io7_redirect_one_lsi(struct io7 *io7, unsigned int which, unsigned int where) io7 197 arch/alpha/kernel/sys_marvel.c val = io7->csrs->PO7_LSI_CTL[which].csr; io7 201 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_LSI_CTL[which].csr = val; io7 203 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_LSI_CTL[which].csr; io7 207 arch/alpha/kernel/sys_marvel.c io7_redirect_one_msi(struct io7 *io7, unsigned int which, unsigned int where) io7 214 arch/alpha/kernel/sys_marvel.c val = io7->csrs->PO7_MSI_CTL[which].csr; io7 218 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_MSI_CTL[which].csr = val; io7 220 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_MSI_CTL[which].csr; io7 224 arch/alpha/kernel/sys_marvel.c init_one_io7_lsi(struct io7 *io7, unsigned int which, unsigned int where) io7 229 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_LSI_CTL[which].csr = ((unsigned long)where << 14); io7 231 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_LSI_CTL[which].csr; io7 235 arch/alpha/kernel/sys_marvel.c init_one_io7_msi(struct io7 *io7, unsigned int which, unsigned int where) io7 240 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_MSI_CTL[which].csr = ((unsigned long)where << 14); io7 242 arch/alpha/kernel/sys_marvel.c io7->csrs->PO7_MSI_CTL[which].csr; io7 246 arch/alpha/kernel/sys_marvel.c init_io7_irqs(struct io7 *io7, io7 250 arch/alpha/kernel/sys_marvel.c long base = (io7->pe << MARVEL_IRQ_VEC_PE_SHIFT) + 16; io7 254 arch/alpha/kernel/sys_marvel.c io7->pe, base); io7 267 arch/alpha/kernel/sys_marvel.c raw_spin_lock(&io7->irq_lock); io7 270 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->HLT_CTL.csr, boot_cpuid); io7 271 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->HPI_CTL.csr, boot_cpuid); io7 272 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->CRD_CTL.csr, boot_cpuid); io7 273 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->STV_CTL.csr, boot_cpuid); io7 274 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->HEI_CTL.csr, boot_cpuid); io7 284 arch/alpha/kernel/sys_marvel.c init_one_io7_lsi(io7, i, boot_cpuid); io7 286 arch/alpha/kernel/sys_marvel.c init_one_io7_lsi(io7, 0x74, boot_cpuid); io7 287 arch/alpha/kernel/sys_marvel.c init_one_io7_lsi(io7, 0x75, boot_cpuid); io7 297 arch/alpha/kernel/sys_marvel.c init_one_io7_msi(io7, i, boot_cpuid); io7 299 arch/alpha/kernel/sys_marvel.c raw_spin_unlock(&io7->irq_lock); io7 306 arch/alpha/kernel/sys_marvel.c struct io7 *io7 = NULL; io7 315 arch/alpha/kernel/sys_marvel.c for (io7 = NULL; (io7 = marvel_next_io7(io7)) != NULL; ) io7 316 arch/alpha/kernel/sys_marvel.c init_io7_irqs(io7, &io7_lsi_irq_type, &io7_msi_irq_type); io7 325 arch/alpha/kernel/sys_marvel.c struct io7 *io7 = io7_port->io7; io7 360 arch/alpha/kernel/sys_marvel.c (irq + 16) | (io7->pe << MARVEL_IRQ_VEC_PE_SHIFT), io7 361 arch/alpha/kernel/sys_marvel.c (irq + 16) | (io7->pe << MARVEL_IRQ_VEC_PE_SHIFT)); io7 375 arch/alpha/kernel/sys_marvel.c irq |= io7->pe << MARVEL_IRQ_VEC_PE_SHIFT; /* merge the pid */ io7 383 arch/alpha/kernel/sys_marvel.c struct io7 *io7; io7 393 arch/alpha/kernel/sys_marvel.c for (io7 = NULL; (io7 = marvel_next_io7(io7)) != NULL; ) io7 394 arch/alpha/kernel/sys_marvel.c io7_clear_errors(io7); io7 407 arch/alpha/kernel/sys_marvel.c struct io7 *io7 = marvel_find_io7(cpuid); io7 410 arch/alpha/kernel/sys_marvel.c if (!io7) io7 419 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->HLT_CTL.csr, cpuid); io7 420 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->HPI_CTL.csr, cpuid); io7 421 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->CRD_CTL.csr, cpuid); io7 422 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->STV_CTL.csr, cpuid); io7 423 arch/alpha/kernel/sys_marvel.c io7_redirect_irq(io7, &io7->csrs->HEI_CTL.csr, cpuid); io7 427 arch/alpha/kernel/sys_marvel.c io7_redirect_one_lsi(io7, i, cpuid); io7 429 arch/alpha/kernel/sys_marvel.c io7_redirect_one_lsi(io7, 0x74, cpuid); io7 430 arch/alpha/kernel/sys_marvel.c io7_redirect_one_lsi(io7, 0x75, cpuid); io7 434 arch/alpha/kernel/sys_marvel.c io7_redirect_one_msi(io7, i, cpuid);