Lines Matching refs:iv

116 static void intr_assign_next_cpu(struct intr_vector *iv);
219 struct intr_vector *iv;
222 iv = cookie;
223 vec = iv->iv_vec;
264 struct intr_vector *iv;
274 iv = arg;
276 iv->iv_mid = pc->pc_mid;
277 iv->iv_ic->ic_assign(iv);
289 struct intr_vector *iv;
291 iv = cookie;
292 if (__predict_false(intr_event_handle(iv->iv_event, NULL) != 0))
293 intr_stray_vector(iv);
301 struct intr_vector *iv;
307 iv = &intr_vectors[vec];
308 ie = iv->iv_event;
312 error = intr_event_create(&ie, iv, 0, vec, NULL, ic->ic_clear,
317 if (iv->iv_event != NULL) {
322 iv->iv_ic = ic;
323 iv->iv_icarg = icarg;
324 iv->iv_event = ie;
325 iv->iv_mid = PCPU_GET(mid);
337 struct intr_vector *iv;
349 iv = &intr_vectors[vec];
350 ic = iv->iv_ic;
351 ie = iv->iv_event;
361 ic->ic_disable(iv);
362 iv->iv_refcnt++;
363 if (iv->iv_refcnt == 1)
366 vec, intr_execute_handlers, iv);
383 intr_execute_handlers, iv);
389 intr_assign_next_cpu(iv);
391 ic->ic_enable(iv);
394 ic->ic_clear(iv);
402 struct intr_vector *iv;
414 iv = &intr_vectors[vec];
415 iv->iv_refcnt--;
416 if (iv->iv_refcnt == 0) {
422 intr_stray_vector, iv);
433 struct intr_vector *iv;
439 iv = &intr_vectors[vec];
440 if (iv == NULL) {
444 error = intr_event_describe_handler(iv->iv_event, ih, descr);
449 intrcnt_updatename(vec, iv->iv_event->ie_fullname, 0);
464 intr_assign_next_cpu(struct intr_vector *iv)
476 iv->iv_mid = pc->pc_mid;
477 iv->iv_ic->ic_assign(iv);
489 struct intr_vector *iv;
495 iv = &intr_vectors[vec];
496 if (iv == NULL) {
500 error = intr_event_bind(iv->iv_event, cpu);
529 struct intr_vector *iv;
539 iv = &intr_vectors[i];
540 if (iv != NULL && iv->iv_refcnt > 0) {
546 if (iv->iv_event->ie_cpu != NOCPU &&
547 (pc = pcpu_find(iv->iv_event->ie_cpu)) != NULL) {
548 iv->iv_mid = pc->pc_mid;
549 iv->iv_ic->ic_assign(iv);
551 intr_assign_next_cpu(iv);