Lines Matching refs:vector
64 static bool gic_is_valid_interrupt(unsigned int vector, uint32_t flags) { in gic_is_valid_interrupt() argument
65 return (vector < gic_max_int); in gic_is_valid_interrupt()
89 static void gic_set_enable(uint vector, bool enable) { in gic_set_enable() argument
90 int reg = vector / 32; in gic_set_enable()
91 uint32_t mask = (uint32_t)(1ULL << (vector % 32)); in gic_set_enable()
93 if (vector < 32) { in gic_set_enable()
252 static zx_status_t gic_mask_interrupt(unsigned int vector) { in gic_mask_interrupt() argument
253 LTRACEF("vector %u\n", vector); in gic_mask_interrupt()
255 if (vector >= gic_max_int) { in gic_mask_interrupt()
259 gic_set_enable(vector, false); in gic_mask_interrupt()
264 static zx_status_t gic_unmask_interrupt(unsigned int vector) { in gic_unmask_interrupt() argument
265 LTRACEF("vector %u\n", vector); in gic_unmask_interrupt()
267 if (vector >= gic_max_int) { in gic_unmask_interrupt()
271 gic_set_enable(vector, true); in gic_unmask_interrupt()
276 static zx_status_t gic_configure_interrupt(unsigned int vector, in gic_configure_interrupt() argument
279 LTRACEF("vector %u, trigger mode %d, polarity %d\n", vector, tm, pol); in gic_configure_interrupt()
281 if (vector <= 15 || vector >= gic_max_int) { in gic_configure_interrupt()
290 uint reg = vector / 16; in gic_configure_interrupt()
291 uint mask = 0x2 << ((vector % 16) * 2); in gic_configure_interrupt()
303 static zx_status_t gic_get_interrupt_config(unsigned int vector, in gic_get_interrupt_config() argument
306 LTRACEF("vector %u\n", vector); in gic_get_interrupt_config()
308 if (vector >= gic_max_int) { in gic_get_interrupt_config()
322 static unsigned int gic_remap_interrupt(unsigned int vector) { in gic_remap_interrupt() argument
323 LTRACEF("vector %u\n", vector); in gic_remap_interrupt()
324 return vector; in gic_remap_interrupt()
331 unsigned vector = iar & 0x3ff; in gic_handle_irq() local
333 LTRACEF_LEVEL(2, "iar %#x, vector %u\n", iar, vector); in gic_handle_irq()
335 if (vector >= 0x3fe) { in gic_handle_irq()
342 if (vector >= 32) { in gic_handle_irq()
348 ktrace_tiny(TAG_IRQ_ENTER, (vector << 8) | cpu); in gic_handle_irq()
351 iar, cpu, get_current_thread(), vector, (uintptr_t)IFRAME_PC(frame)); in gic_handle_irq()
354 struct int_handler_struct* handler = pdev_get_int_handler(vector); in gic_handle_irq()
359 gic_write_eoir(vector); in gic_handle_irq()
361 gic_write_dir(vector); in gic_handle_irq()
366 ktrace_tiny(TAG_IRQ_EXIT, (vector << 8) | cpu); in gic_handle_irq()