/openbsd/sys/dev/pci/drm/amd/amdgpu/ |
H A D | amdgpu_ih.c | 55 ih->ptr_mask = ih->ring_size - 1; in amdgpu_ih_ring_init() 56 ih->rptr = 0; in amdgpu_ih_ring_init() 62 if (ih->ring) in amdgpu_ih_ring_init() 86 ih->wptr_addr = dma_addr + ih->ring_size; in amdgpu_ih_ring_init() 87 ih->wptr_cpu = &ih->ring[ih->ring_size / 4]; in amdgpu_ih_ring_init() 88 ih->rptr_addr = dma_addr + ih->ring_size + 4; in amdgpu_ih_ring_init() 89 ih->rptr_cpu = &ih->ring[(ih->ring_size / 4) + 1]; in amdgpu_ih_ring_init() 105 &ih->ring_obj, &ih->gpu_addr, in amdgpu_ih_ring_init() 145 (void *)ih->ring, ih->gpu_addr); in amdgpu_ih_ring_fini() 151 amdgpu_bo_free_kernel(&ih->ring_obj, &ih->gpu_addr, in amdgpu_ih_ring_fini() [all …]
|
H A D | vega10_ih.c | 109 if (ih == &adev->irq.ih) in vega10_ih_toggle_ring_interrupts() 127 ih->rptr = 0; in vega10_ih_toggle_ring_interrupts() 222 if (ih == &adev->irq.ih) in vega10_ih_enable_ring() 235 if (ih == &adev->irq.ih) { in vega10_ih_enable_ring() 341 if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) { in vega10_ih_get_wptr() 370 ih->rptr = tmp; in vega10_ih_get_wptr() 404 if ((v < ih->ring_size) && (v != ih->rptr)) in vega10_ih_irq_rearm() 405 WDOORBELL32(ih->doorbell_index, ih->rptr); in vega10_ih_irq_rearm() 429 *ih->rptr_cpu = ih->rptr; in vega10_ih_set_rptr() 430 WDOORBELL32(ih->doorbell_index, ih->rptr); in vega10_ih_set_rptr() [all …]
|
H A D | vega20_ih.c | 118 if (ih == &adev->irq.ih) in vega20_ih_toggle_ring_interrupts() 136 ih->rptr = 0; in vega20_ih_toggle_ring_interrupts() 231 if (ih == &adev->irq.ih) in vega20_ih_enable_ring() 244 if (ih == &adev->irq.ih) { in vega20_ih_enable_ring() 389 if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) { in vega20_ih_get_wptr() 418 ih->rptr = tmp; in vega20_ih_get_wptr() 453 if ((v < ih->ring_size) && (v != ih->rptr)) in vega20_ih_irq_rearm() 454 WDOORBELL32(ih->doorbell_index, ih->rptr); in vega20_ih_irq_rearm() 478 *ih->rptr_cpu = ih->rptr; in vega20_ih_set_rptr() 479 WDOORBELL32(ih->doorbell_index, ih->rptr); in vega20_ih_set_rptr() [all …]
|
H A D | navi10_ih.c | 165 if (ih == &adev->irq.ih) in navi10_ih_toggle_ring_interrupts() 182 ih->rptr = 0; in navi10_ih_toggle_ring_interrupts() 277 if (ih == &adev->irq.ih) in navi10_ih_enable_ring() 291 if (ih == &adev->irq.ih) { in navi10_ih_enable_ring() 412 if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) { in navi10_ih_get_wptr() 440 ih->rptr = tmp; in navi10_ih_get_wptr() 474 if ((v < ih->ring_size) && (v != ih->rptr)) in navi10_ih_irq_rearm() 475 WDOORBELL32(ih->doorbell_index, ih->rptr); in navi10_ih_irq_rearm() 499 *ih->rptr_cpu = ih->rptr; in navi10_ih_set_rptr() 500 WDOORBELL32(ih->doorbell_index, ih->rptr); in navi10_ih_set_rptr() [all …]
|
H A D | ih_v6_0.c | 139 if (ih == &adev->irq.ih) in ih_v6_0_toggle_ring_interrupts() 156 ih->rptr = 0; in ih_v6_0_toggle_ring_interrupts() 172 struct amdgpu_ih_ring *ih[] = {&adev->irq.ih, &adev->irq.ih1}; in ih_v6_0_toggle_interrupts() local 251 if (ih == &adev->irq.ih) in ih_v6_0_enable_ring() 267 if (ih == &adev->irq.ih) { in ih_v6_0_enable_ring() 416 ih->rptr = tmp; in ih_v6_0_get_wptr() 450 if ((v < ih->ring_size) && (v != ih->rptr)) in ih_v6_0_irq_rearm() 451 WDOORBELL32(ih->doorbell_index, ih->rptr); in ih_v6_0_irq_rearm() 472 *ih->rptr_cpu = ih->rptr; in ih_v6_0_set_rptr() 473 WDOORBELL32(ih->doorbell_index, ih->rptr); in ih_v6_0_set_rptr() [all …]
|
H A D | ih_v6_1.c | 139 if (ih == &adev->irq.ih) in ih_v6_1_toggle_ring_interrupts() 156 ih->rptr = 0; in ih_v6_1_toggle_ring_interrupts() 172 struct amdgpu_ih_ring *ih[] = {&adev->irq.ih, &adev->irq.ih1}; in ih_v6_1_toggle_interrupts() local 251 if (ih == &adev->irq.ih) in ih_v6_1_enable_ring() 267 if (ih == &adev->irq.ih) { in ih_v6_1_enable_ring() 416 ih->rptr = tmp; in ih_v6_1_get_wptr() 451 if ((v < ih->ring_size) && (v != ih->rptr)) in ih_v6_1_irq_rearm() 452 WDOORBELL32(ih->doorbell_index, ih->rptr); in ih_v6_1_irq_rearm() 473 *ih->rptr_cpu = ih->rptr; in ih_v6_1_set_rptr() 474 WDOORBELL32(ih->doorbell_index, ih->rptr); in ih_v6_1_set_rptr() [all …]
|
H A D | amdgpu_ih.h | 85 u32 (*get_wptr)(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih); 86 void (*decode_iv)(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih, 88 uint64_t (*decode_iv_ts)(struct amdgpu_ih_ring *ih, u32 rptr, 90 void (*set_rptr)(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih); 93 #define amdgpu_ih_get_wptr(adev, ih) (adev)->irq.ih_funcs->get_wptr((adev), (ih)) argument 95 (adev)->irq.ih_funcs->decode_iv((adev), (ih), (iv)) 96 #define amdgpu_ih_decode_iv_ts(adev, ih, rptr, offset) \ argument 98 (adev)->irq.ih_funcs->decode_iv_ts((ih), (rptr), (offset))) 99 #define amdgpu_ih_set_rptr(adev, ih) (adev)->irq.ih_funcs->set_rptr((adev), (ih)) argument 107 struct amdgpu_ih_ring *ih); [all …]
|
H A D | tonga_ih.c | 67 adev->irq.ih.enabled = true; in tonga_ih_enable_interrupts() 87 adev->irq.ih.enabled = false; in tonga_ih_disable_interrupts() 88 adev->irq.ih.rptr = 0; in tonga_ih_disable_interrupts() 105 struct amdgpu_ih_ring *ih = &adev->irq.ih; in tonga_ih_irq_init() local 216 wptr, ih->rptr, (wptr + 16) & ih->ptr_mask); in tonga_ih_get_wptr() 217 ih->rptr = (wptr + 16) & ih->ptr_mask; in tonga_ih_get_wptr() 263 ih->rptr += 16; in tonga_ih_decode_iv() 277 if (ih->use_doorbell) { in tonga_ih_set_rptr() 279 *ih->rptr_cpu = ih->rptr; in tonga_ih_set_rptr() 280 WDOORBELL32(ih->doorbell_index, ih->rptr); in tonga_ih_set_rptr() [all …]
|
/openbsd/sys/arch/sparc64/sparc64/ |
H A D | intr.c | 89 rc = (*ih->ih_fun)(ih->ih_arg ? ih->ih_arg : tf); in intr_handler() 112 rv = ih->ih_fun(ih->ih_arg); in intr_list_handler() 120 ih = ih->ih_next; in intr_list_handler() 162 evcount_attach(&ih->ih_count, ih->ih_name, NULL); in intr_establish() 172 if (ih->ih_number <= 0 || ih->ih_number >= MAXINTNUM) in intr_establish() 178 intrlev[ih->ih_number] = ih; in intr_establish() 257 ih->ih_number, ih->ih_pil, (void *)ih->ih_map, in intr_establish() 258 (void *)ih->ih_clr, (void *)ih->ih_fun, in intr_establish() 259 (void *)ih->ih_arg, (int)(ih->ih_map ? INTTID(*ih->ih_map) : -1)); in intr_establish() 303 free(ih, M_DEVBUF, sizeof(*ih)); in softintr_disestablish() [all …]
|
/openbsd/sys/arch/landisk/landisk/ |
H A D | intr.c | 97 if ((*ih->ih_func)(ih->ih_arg) != 0) in intc_intr() 105 if ((*ih->ih_func)(ih->ih_arg) != 0) in intc_intr() 143 if (ih == NULL) in extintr_establish() 186 memset(ih, 0, sizeof(*ih)); in extintr_establish() 196 evcount_attach(&ih->ih_count, ih_name, &ih->ih_irq); in extintr_establish() 197 *p = ih; in extintr_establish() 206 return (ih); in extintr_establish() 240 free(ih, M_DEVBUF, sizeof *ih); in extintr_disestablish() 336 for (ih = eih->eih_ih; ih != NULL; ih = ih->ih_next) { in extintr_disable_by_num() 358 for (ih = eih->eih_ih; ih != NULL; ih = ih->ih_next) { in extintr_intr_handler() [all …]
|
/openbsd/sys/arch/loongson/loongson/ |
H A D | loongson3_intr.c | 149 for (ih = loongson3_intrhand[irq]; ih != NULL; ih = ih->ih_next) in loongson3_update_imask() 155 ih = ih->ih_next) { in loongson3_update_imask() 234 ih = malloc(sizeof(*ih), M_DEVBUF, M_NOWAIT); in loongson3_intr_establish() 273 free(ih, M_DEVBUF, sizeof(*ih)); in loongson3_intr_disestablish() 294 ih = malloc(sizeof(*ih), M_DEVBUF, M_NOWAIT); in loongson3_ht_intr_establish() 334 free(ih, M_DEVBUF, sizeof(*ih)); in loongson3_ht_intr_disestablish() 400 for (ih = loongson3_intrhand[irq]; ih != NULL; in loongson3_intr() 401 ih = ih->ih_next) { in loongson3_intr() 415 if (ih->ih_fun(ih->ih_arg) != 0) { in loongson3_intr() 477 ih = ih->ih_next) { in loongson3_ht_intr() [all …]
|
/openbsd/sys/arch/riscv64/dev/ |
H A D | sfgpio.c | 221 handled = ih->ih_func(ih->ih_arg); in sfgpio_intr() 246 struct intrhand *ih; in sfgpio_intr_establish() local 256 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in sfgpio_intr_establish() 257 ih->ih_func = func; in sfgpio_intr_establish() 258 ih->ih_arg = arg; in sfgpio_intr_establish() 259 ih->ih_pin = pin; in sfgpio_intr_establish() 260 ih->ih_level = level; in sfgpio_intr_establish() 261 ih->ih_sc = sc; in sfgpio_intr_establish() 266 free(ih, M_DEVBUF, sizeof(*ih)); in sfgpio_intr_establish() 293 return ih; in sfgpio_intr_establish() [all …]
|
/openbsd/sys/arch/octeon/dev/ |
H A D | octeon_intr.c | 95 ih = malloc(sizeof(*ih), M_DEVBUF, M_NOWAIT); in octeon_intr_establish() 96 if (ih == NULL) in octeon_intr_establish() 101 free(ih, M_DEVBUF, sizeof(*ih)); in octeon_intr_establish() 105 ih->ih_ic = ic; in octeon_intr_establish() 108 return ih; in octeon_intr_establish() 139 ih = malloc(sizeof(*ih), M_DEVBUF, M_NOWAIT); in octeon_intr_establish_fdt_idx() 140 if (ih == NULL) in octeon_intr_establish_fdt_idx() 146 free(ih, M_DEVBUF, sizeof(*ih)); in octeon_intr_establish_fdt_idx() 150 ih->ih_ic = ic; in octeon_intr_establish_fdt_idx() 153 return ih; in octeon_intr_establish_fdt_idx() [all …]
|
/openbsd/sys/dev/fdt/ |
H A D | qcspmi.c | 445 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK | M_ZERO); in qcspmi_intr_establish() 446 ih->ih_func = func; in qcspmi_intr_establish() 447 ih->ih_arg = arg; in qcspmi_intr_establish() 448 ih->ih_sc = sc; in qcspmi_intr_establish() 449 ih->ih_sid = cells[0]; in qcspmi_intr_establish() 450 ih->ih_per = cells[1]; in qcspmi_intr_establish() 451 ih->ih_pin = cells[2]; in qcspmi_intr_establish() 497 qcspmi_intr_enable(ih); in qcspmi_intr_establish() 502 return ih; in qcspmi_intr_establish() 514 free(ih, M_DEVBUF, sizeof(*ih)); in qcspmi_intr_disestablish() [all …]
|
H A D | imxgpio.c | 221 if (ih->ih_func(ih->ih_arg)) in imxgpio_intr() 255 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in imxgpio_intr_establish() 257 ih->ih_arg = arg; in imxgpio_intr_establish() 262 ih->ih_sc = sc; in imxgpio_intr_establish() 269 evcount_attach(&ih->ih_count, name, &ih->ih_irq); in imxgpio_intr_establish() 272 printf("%s: irq %d ipl %d [%s]\n", __func__, ih->ih_irq, ih->ih_ipl, in imxgpio_intr_establish() 273 ih->ih_name); in imxgpio_intr_establish() 312 return (ih); in imxgpio_intr_establish() 327 ih->ih_name); in imxgpio_intr_disestablish() 337 free(ih, M_DEVBUF, sizeof(*ih)); in imxgpio_intr_disestablish() [all …]
|
H A D | qcipcc.c | 153 struct qcipcc_intrhand *ih; in qcipcc_intr() local 170 ih->ih_func(ih->ih_arg); in qcipcc_intr() 183 struct qcipcc_intrhand *ih; in qcipcc_intr_establish() local 185 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK | M_ZERO); in qcipcc_intr_establish() 186 ih->ih_func = func; in qcipcc_intr_establish() 187 ih->ih_arg = arg; in qcipcc_intr_establish() 188 ih->ih_sc = sc; in qcipcc_intr_establish() 193 qcipcc_intr_enable(ih); in qcipcc_intr_establish() 198 return ih; in qcipcc_intr_establish() 207 qcipcc_intr_disable(ih); in qcipcc_intr_disestablish() [all …]
|
H A D | rkgpio.c | 293 if (ih->ih_func(ih->ih_arg)) in rkgpio_intr() 333 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in rkgpio_intr_establish() 335 ih->ih_arg = arg; in rkgpio_intr_establish() 340 ih->ih_sc = sc; in rkgpio_intr_establish() 347 evcount_attach(&ih->ih_count, name, &ih->ih_irq); in rkgpio_intr_establish() 350 printf("%s: irq %d ipl %d [%s]\n", __func__, ih->ih_irq, ih->ih_ipl, in rkgpio_intr_establish() 351 ih->ih_name); in rkgpio_intr_establish() 411 return (ih); in rkgpio_intr_establish() 428 ih->ih_name); in rkgpio_intr_disestablish() 439 free(ih, M_DEVBUF, sizeof(*ih)); in rkgpio_intr_disestablish() [all …]
|
/openbsd/sys/arch/armv7/marvell/ |
H A D | mvmpic.c | 185 if (ih == NULL) in mpic_calc_mask() 189 max = ih->ih_ipl; in mpic_calc_mask() 229 if (ih->ih_func(ih->ih_arg)) in mpic_intr() 257 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in mpic_intr_establish() 259 ih->ih_arg = arg; in mpic_intr_establish() 263 ih->ih_sc = sc; in mpic_intr_establish() 270 evcount_attach(&ih->ih_count, name, &ih->ih_irq); in mpic_intr_establish() 281 return (ih); in mpic_intr_establish() 294 printf("%s: irq %d ipl %d [%s]\n", __func__, ih->ih_irq, ih->ih_ipl, in mpic_intr_disestablish() 295 ih->ih_name); in mpic_intr_disestablish() [all …]
|
/openbsd/sys/arch/arm64/dev/ |
H A D | aplintc.c | 493 aplintc_sw_set(sc, ih->ih_die, ih->ih_irq); in aplintc_splx() 494 aplintc_mask_clr(sc, ih->ih_die, ih->ih_irq); in aplintc_splx() 524 if (ih == NULL || (ih->ih_flags & IPL_WAKEUP)) in aplintc_enable_wakeup() 541 if (ih == NULL || (ih->ih_flags & IPL_WAKEUP)) in aplintc_disable_wakeup() 585 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in aplintc_intr_establish() 596 evcount_attach(&ih->ih_count, name, &ih->ih_irq); in aplintc_intr_establish() 606 return ih; in aplintc_intr_establish() 621 aplintc_sw_clr(sc, ih->ih_die, ih->ih_irq); in aplintc_intr_disestablish() 622 aplintc_mask_set(sc, ih->ih_die, ih->ih_irq); in aplintc_intr_disestablish() 633 sc->sc_irq_handler[ih->ih_die][ih->ih_irq] = NULL; in aplintc_intr_disestablish() [all …]
|
H A D | aplpinctrl.c | 287 if (ih->ih_func(ih->ih_arg)) in aplpinctrl_intr() 335 if (ih && ih->ih_type != type) in aplpinctrl_intr_establish() 338 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in aplpinctrl_intr_establish() 340 ih->ih_arg = arg; in aplpinctrl_intr_establish() 341 ih->ih_irq = pin; in aplpinctrl_intr_establish() 345 ih->ih_sc = sc; in aplpinctrl_intr_establish() 347 evcount_attach(&ih->ih_count, name, &ih->ih_irq); in aplpinctrl_intr_establish() 378 return ih; in aplpinctrl_intr_establish() 391 TAILQ_REMOVE(&sc->sc_handler[ih->ih_irq], ih, ih_list); in aplpinctrl_intr_disestablish() 392 if (ih->ih_name) in aplpinctrl_intr_disestablish() [all …]
|
/openbsd/sys/arch/powerpc64/dev/ |
H A D | xicp.c | 181 struct intrhand *ih; in xicp_intr_establish() local 188 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in xicp_intr_establish() 189 ih->ih_func = func; in xicp_intr_establish() 190 ih->ih_arg = arg; in xicp_intr_establish() 193 ih->ih_girq = girq; in xicp_intr_establish() 194 ih->ih_name = name; in xicp_intr_establish() 198 evcount_attach(&ih->ih_count, name, &ih->ih_girq); in xicp_intr_establish() 206 free(ih, M_DEVBUF, sizeof(*ih)); in xicp_intr_establish() 210 return ih; in xicp_intr_establish() 255 if (ih != NULL) { in xicp_exi() [all …]
|
H A D | xive.c | 255 struct intrhand *ih; in xive_intr_establish() local 300 ih = malloc(sizeof(*ih), M_DEVBUF, M_WAITOK); in xive_intr_establish() 301 ih->ih_func = func; in xive_intr_establish() 302 ih->ih_arg = arg; in xive_intr_establish() 305 ih->ih_girq = girq; in xive_intr_establish() 306 ih->ih_name = name; in xive_intr_establish() 313 evcount_attach(&ih->ih_count, name, &ih->ih_girq); in xive_intr_establish() 317 return ih; in xive_intr_establish() 326 if (ih && ih->ih_esb_trig) in xive_intr_send_ipi() 385 handled = ih->ih_func(ih->ih_arg); in xive_run_handler() [all …]
|
/openbsd/usr.sbin/mkuboot/ |
H A D | mkuboot.c | 140 struct image_header ih; in main() local 215 bzero(&ih, sizeof ih); in main() 219 ih.ih_ep = htobe32(ep); in main() 224 strlcpy((char *)ih.ih_name, imgname, sizeof ih.ih_name); in main() 240 if (write(ofd, &ih, sizeof ih) != sizeof ih) in main() 268 ih.ih_size = htobe32(ih.ih_size); in main() 271 crc = crc32(0, (Bytef *)&ih, sizeof ih); in main() 277 if (write(ofd, &ih, sizeof ih) != sizeof ih) in main() 322 ih->ih_size += nbytes; in copy_data() 342 ih->ih_size += nbytes; in copy_mem() [all …]
|
/openbsd/sys/arch/alpha/dev/ |
H A D | shared_intr.c | 112 rv = (*ih->ih_fn)(ih->ih_arg); 145 ih = malloc(sizeof *ih, M_DEVBUF, cold ? M_NOWAIT : M_WAITOK); 146 if (ih == NULL) 181 ih->ih_intrhead = intr; 182 ih->ih_fn = fn; 183 ih->ih_arg = arg; 184 ih->ih_level = level; 185 ih->ih_num = num; 186 evcount_attach(&ih->ih_count, basename, &ih->ih_num); 191 return (ih); [all …]
|
/openbsd/sys/arch/alpha/pci/ |
H A D | pci_550.c | 242 dec_550_intr_string(ccv, ih) in dec_550_intr_string() argument 244 pci_intr_handle_t ih; 252 if (DEC_550_LINE_IS_ISA(ih)) 257 if (ih >= DEC_550_MAX_IRQ) 264 dec_550_intr_line(ccv, ih) in dec_550_intr_line() argument 266 pci_intr_handle_t ih; 269 if (DEC_550_LINE_IS_ISA(ih)) 273 return (ih); 279 pci_intr_handle_t ih; 296 if (ih >= DEC_550_MAX_IRQ) [all …]
|