Lines Matching refs:pc
95 pci_display_console(bus_space_tag_t iot, bus_space_tag_t memt, pci_chipset_tag_t pc, int bus, int device, int function)
109 tag = pci_make_tag(pc, bus, device, function);
110 id = pci_conf_read(pc, tag, PCI_ID_REG);
115 class = pci_conf_read(pc, tag, PCI_CLASS_REG);
132 nmatch = tga_cnmatch(iot, memt, pc, tag);
140 (*fn)(iot, memt, pc, bus, device, function);
163 pci_chipset_tag_t pc)
170 (*impl)->intr_init(core, iot, memt, pc);
178 alpha_pci_intr_alloc(pci_chipset_tag_t pc, unsigned int maxstrays)
184 pc->pc_shared_intrs = alpha_shared_intr_alloc(pc->pc_nirq);
186 for (i = 0; i < pc->pc_nirq; i++) {
187 alpha_shared_intr_set_maxstrays(pc->pc_shared_intrs, i,
189 alpha_shared_intr_set_private(pc->pc_shared_intrs, i,
190 pc->pc_intr_v);
192 ev = alpha_shared_intr_evcnt(pc->pc_shared_intrs, i);
193 cp = alpha_shared_intr_string(pc->pc_shared_intrs, i);
196 pc->pc_intr_desc, cp);
207 pci_chipset_tag_t const pc = pa->pa_pc;
219 pci_decompose_tag(pc, bustag, &bus, &device, &function);
231 if (line < 0 || line >= pc->pc_nirq) {
242 alpha_pci_generic_intr_string(pci_chipset_tag_t const pc,
247 KASSERT(irq < pc->pc_nirq);
249 snprintf(buf, len, "%s irq %u", pc->pc_intr_desc, irq);
254 alpha_pci_generic_intr_evcnt(pci_chipset_tag_t const pc,
259 KASSERT(irq < pc->pc_nirq);
261 return alpha_shared_intr_evcnt(pc->pc_shared_intrs, irq);
265 alpha_pci_generic_intr_select_cpu(pci_chipset_tag_t const pc, u_int const irq,
277 if (pc->pc_eligible_cpus == 0) {
285 ci = alpha_shared_intr_get_cpu(pc->pc_shared_intrs, irq);
298 if ((pc->pc_eligible_cpus & __BIT(ci->ci_cpuid)) == 0) {
322 alpha_pci_generic_intr_establish(pci_chipset_tag_t const pc,
330 KASSERT(irq < pc->pc_nirq);
332 cookie = alpha_shared_intr_alloc_intrhand(pc->pc_shared_intrs,
333 irq, IST_LEVEL, level, flags, func, arg, pc->pc_intr_desc);
341 alpha_pci_generic_intr_select_cpu(pc, irq, flags);
343 alpha_shared_intr_get_cpu(pc->pc_shared_intrs, irq);
346 ! alpha_shared_intr_isactive(pc->pc_shared_intrs, irq);
354 alpha_shared_intr_set_cpu(pc->pc_shared_intrs, irq, target_ci);
355 if (pc->pc_intr_set_affinity != NULL) {
356 pc->pc_intr_set_affinity(pc, irq, target_ci);
360 if (! alpha_shared_intr_link(pc->pc_shared_intrs, cookie,
361 pc->pc_intr_desc)) {
368 scb_set(pc->pc_vecbase + SCB_IDXTOVEC(irq),
369 alpha_pci_generic_iointr, pc);
370 pc->pc_intr_enable(pc, irq);
379 alpha_pci_generic_intr_disestablish(pci_chipset_tag_t const pc,
387 if (alpha_shared_intr_firstactive(pc->pc_shared_intrs, irq)) {
388 pc->pc_intr_disable(pc, irq);
389 alpha_shared_intr_set_dfltsharetype(pc->pc_shared_intrs,
391 scb_free(pc->pc_vecbase + SCB_IDXTOVEC(irq));
394 alpha_shared_intr_unlink(pc->pc_shared_intrs, cookie, pc->pc_intr_desc);
404 pci_chipset_tag_t const pc = arg;
405 const u_int irq = SCB_VECTOIDX(vec - pc->pc_vecbase);
407 if (!alpha_shared_intr_dispatch(pc->pc_shared_intrs, irq)) {
408 alpha_shared_intr_stray(pc->pc_shared_intrs, irq,
409 pc->pc_intr_desc);
410 if (ALPHA_SHARED_INTR_DISABLE(pc->pc_shared_intrs, irq)) {
411 pc->pc_intr_disable(pc, irq);
414 alpha_shared_intr_reset_strays(pc->pc_shared_intrs, irq);
419 alpha_pci_generic_intr_redistribute(pci_chipset_tag_t const pc)
428 if (pc->pc_eligible_cpus == 0 || pc->pc_intr_set_affinity == NULL) {
436 for (irq = 0; irq < pc->pc_nirq; irq++) {
438 alpha_shared_intr_get_cpu(pc->pc_shared_intrs, irq);
444 new_ci = alpha_pci_generic_intr_select_cpu(pc, irq, 0);
450 alpha_shared_intr_set_cpu(pc->pc_shared_intrs, irq, new_ci);
451 pc->pc_intr_set_affinity(pc, irq, new_ci);
503 pci_chipset_tag_t const pc = pba->pba_pc;
505 if (pc->pc_attach_hook != NULL) {
506 pc->pc_attach_hook(parent, self, pba);
511 pci_bus_maxdevs(pci_chipset_tag_t const pc, int const busno)
513 if (pc->pc_bus_maxdevs == NULL) {
517 return pc->pc_bus_maxdevs(pc->pc_conf_v, busno);
521 pci_make_tag(pci_chipset_tag_t const pc, int const bus, int const dev,
524 if (__predict_true(pc->pc_make_tag == NULL)) {
531 return pc->pc_make_tag(pc->pc_conf_v, bus, dev, func);
535 pci_decompose_tag(pci_chipset_tag_t const pc, pcitag_t const tag,
538 if (__predict_true(pc->pc_decompose_tag == NULL)) {
548 pc->pc_decompose_tag(pc->pc_conf_v, tag, busp, devp, funcp);
552 pci_conf_read(pci_chipset_tag_t const pc, pcitag_t const tag, int const reg)
554 KASSERT(pc->pc_conf_read != NULL);
555 return pc->pc_conf_read(pc->pc_conf_v, tag, reg);
559 pci_conf_write(pci_chipset_tag_t const pc, pcitag_t const tag, int const reg,
562 KASSERT(pc->pc_conf_write != NULL);
563 pc->pc_conf_write(pc->pc_conf_v, tag, reg, val);
570 pci_chipset_tag_t const pc = pa->pa_pc;
572 KASSERT(pc->pc_intr_map != NULL);
573 return pc->pc_intr_map(pa, ihp);
577 pci_intr_string(pci_chipset_tag_t const pc, pci_intr_handle_t const ih,
580 KASSERT(pc->pc_intr_string != NULL);
581 return pc->pc_intr_string(pc, ih, buf, len);
585 pci_intr_evcnt(pci_chipset_tag_t const pc, pci_intr_handle_t const ih)
587 KASSERT(pc->pc_intr_evcnt != NULL);
588 return pc->pc_intr_evcnt(pc, ih);
592 pci_intr_establish(pci_chipset_tag_t const pc, pci_intr_handle_t const ih,
595 KASSERT(pc->pc_intr_establish != NULL);
596 return pc->pc_intr_establish(pc, ih, ipl, func, arg);
600 pci_intr_disestablish(pci_chipset_tag_t const pc, void * const cookie)
602 KASSERT(pc->pc_intr_disestablish != NULL);
603 pc->pc_intr_disestablish(pc, cookie);
607 pci_intr_setattr(pci_chipset_tag_t const pc __unused,