Lines Matching refs:hdlp

446     ddi_intr_handle_impl_t *hdlp, void *result)
454 (void *)pdip, (void *)rdip, intr_op, (void *)hdlp));
471 if (hdlp->ih_type == DDI_INTR_TYPE_FIXED) {
476 hdlp->ih_cap |= XENDEV_INTR_CAPABILITIES;
484 ispec = xpvd_get_ispec(rdip, (int)hdlp->ih_inum);
491 if (xpvd_get_priority(rdip, hdlp->ih_inum, &priority) !=
509 if ((*psm_intr_ops)(rdip, hdlp, PSM_INTR_OP_SET_PRI, result) ==
513 ispec = xpvd_get_ispec(rdip, (int)hdlp->ih_inum);
521 ispec = xpvd_get_ispec(rdip, (int)hdlp->ih_inum);
524 ispec->intrspec_func = hdlp->ih_cb_func;
529 ispec = xpvd_get_ispec(rdip, (int)hdlp->ih_inum);
543 if (hdlp->ih_type == DDI_INTR_TYPE_FIXED) {
562 if ((*psm_intr_ops)(rdip, hdlp, PSM_INTR_OP_SET_CAP, result)) {
573 if (xpvd_enable_intr(rdip, hdlp, (int)hdlp->ih_inum) !=
578 hdlp->ih_vector));
584 xpvd_disable_intr(rdip, hdlp, hdlp->ih_inum);
586 hdlp->ih_vector));
601 if (hdlp->ih_type != DDI_INTR_TYPE_FIXED)
604 ec_disable_irq(hdlp->ih_vector);
606 ec_enable_irq(hdlp->ih_vector);
614 if (hdlp->ih_type != DDI_INTR_TYPE_FIXED)
616 *(int *)result = ec_pending_irq(hdlp->ih_vector);
629 return (i_ddi_intr_ops(pdip, rdip, intr_op, hdlp, result));
637 xpvd_enable_intr(dev_info_t *rdip, ddi_intr_handle_impl_t *hdlp, int inum)
640 ihdl_plat_t *ihdl_plat_datap = (ihdl_plat_t *)hdlp->ih_private;
642 DDI_INTR_NEXDBG((CE_CONT, "xpvd_enable_intr: hdlp %p inum %x\n",
643 (void *)hdlp, inum));
650 (void) (*psm_intr_ops)(rdip, hdlp, PSM_INTR_OP_XLATE_VECTOR, &vector);
652 hdlp->ih_pri, vector));
655 if (!add_avintr((void *)hdlp, hdlp->ih_pri, hdlp->ih_cb_func,
656 DEVI(rdip)->devi_name, vector, hdlp->ih_cb_arg1,
657 hdlp->ih_cb_arg2, NULL, rdip))
661 hdlp->ih_vector = (ushort_t)vector;
668 xpvd_disable_intr(dev_info_t *rdip, ddi_intr_handle_impl_t *hdlp, int inum)
671 ihdl_plat_t *ihdl_plat_datap = (ihdl_plat_t *)hdlp->ih_private;
679 (void) (*psm_intr_ops)(rdip, hdlp, PSM_INTR_OP_XLATE_VECTOR, &vector);
682 rem_avintr((void *)hdlp, hdlp->ih_pri, hdlp->ih_cb_func, vector);