Lines Matching refs:ino_p

68 pcmu_spurintr(pcmu_ib_ino_info_t *ino_p) {
70 ih_t *ih_p = ino_p->pino_ih_start;
71 pcmu_t *pcmu_p = ino_p->pino_ib_p->pib_pcmu_p;
74 if (ino_p->pino_unclaimed > pcmu_unclaimed_intr_max) {
77 if (!ino_p->pino_unclaimed) {
78 ino_p->pino_spurintr_begin = ddi_get_lbolt();
80 ino_p->pino_unclaimed++;
81 if (ino_p->pino_unclaimed <= pcmu_unclaimed_intr_max) {
84 if (drv_hztousec(ddi_get_lbolt() - ino_p->pino_spurintr_begin)
86 ino_p->pino_unclaimed = 0;
93 PCMU_IB_INO_INTR_CLEAR(ino_p->pino_clr_reg);
97 ino_p->pino_ino);
98 for (i = 0; i < ino_p->pino_ih_size; i++, ih_p = ih_p->ih_next) {
127 pcmu_ib_ino_info_t *ino_p = (pcmu_ib_ino_info_t *)arg;
129 ih_t *ih_p = ino_p->pino_ih_start;
132 pcmu_t *pcmu_p = ino_p->pino_ib_p->pib_pcmu_p;
136 for (i = 0; i < ino_p->pino_ih_size; i++, ih_p = ih_p->ih_next) {
146 ddi_get_instance(dip), ino_p->pino_ino);
161 return (pcmu_spurintr(ino_p));
163 ino_p->pino_unclaimed = 0;
165 PCMU_IB_INO_INTR_CLEAR(ino_p->pino_clr_reg);
176 pcmu_ib_ino_info_t *ino_p; /* pulse interrupts have no ino */
200 if (ino_p = pcmu_ib_locate_ino(pib_p, ino)) { /* sharing ino */
202 if (pcmu_ib_ino_locate_intr(ino_p, rdip, intr_index)) {
212 cpu_id = ino_p->pino_cpuid;
214 pcmu_ib_ino_add_intr(pcmu_p, ino_p, ih_p);
218 ino_p = pcmu_ib_new_ino(pib_p, ino, ih_p);
225 (ddi_intr_handler_t *)pcmu_intr_wrapper, (caddr_t)ino_p, NULL);
240 ino_p->pino_pil = hdlp->ih_pri;
243 PCMU_IB_INO_INTR_CLEAR(ino_p->pino_clr_reg);
246 cpu_id = pcmu_intr_dist_cpuid(pib_p, ino_p);
247 ino_p->pino_cpuid = cpu_id;
248 ino_p->pino_established = 1;
252 cpu_id, ino_p->pino_map_reg);
253 *ino_p->pino_map_reg = ib_get_map_reg(mondo, cpu_id);
254 *ino_p->pino_map_reg;
262 pcmu_ib_delete_ino(pib_p, ino_p);
282 pcmu_ib_ino_info_t *ino_p; /* non-pulse only */
300 ino_p = pcmu_ib_locate_ino(pib_p, ino);
301 if (!ino_p) {
306 ih_p = pcmu_ib_ino_locate_intr(ino_p, rdip, hdlp->ih_inum);
307 if (pcmu_ib_ino_rem_intr(pcmu_p, ino_p, ih_p) != DDI_SUCCESS) {
311 intr_dist_cpuid_rem_device_weight(ino_p->pino_cpuid, rdip);
312 if (ino_p->pino_ih_size == 0) {
316 pcmu_ib_delete_ino(pib_p, ino_p);
320 if (ino_p->pino_ih_size) {
321 PCMU_IB_INO_INTR_ON(ino_p->pino_map_reg);
322 *ino_p->pino_map_reg;
325 if (ino_p->pino_ih_size == 0) {
326 kmem_free(ino_p, sizeof (pcmu_ib_ino_info_t));