8#ifndef __ZEPHYR_RTOS_INTERRUPT_H__
9#define __ZEPHYR_RTOS_INTERRUPT_H__
14#if defined(CONFIG_AMD) && !defined(CONFIG_ZEPHYR_NATIVE_DRIVERS)
19#include <zephyr/device.h>
20#include <zephyr/kernel.h>
23#include <sof/trace/trace.h>
29#ifdef CONFIG_DYNAMIC_INTERRUPTS
30 return arch_irq_connect_dynamic(irq, 0, (
void (*)(
const void *))handler,
34 tr_err(&
zephyr_tr,
"Cannot register handler for IRQ %u: dynamic IRQs are disabled",
82#define irq_local_disable(flags) \
83 (flags = arch_irq_lock())
86#define irq_local_enable(flags) \
87 arch_irq_unlock(flags)
#define LOG_MODULE_DECLARE(ctx, level)
Definition trace.h:163
#define tr_err(ctx, fmt,...)
Definition trace-soflogger.h:337
void interrupt_unregister(uint32_t irq, const void *arg)
void platform_interrupt_init(void)
uint32_t interrupt_enable(uint32_t irq, void *arg)
void interrupt_mask(uint32_t irq, unsigned int cpu)
int interrupt_register(uint32_t irq, void(*handler)(void *arg), void *arg)
uint32_t interrupt_disable(uint32_t irq, void *arg)
void interrupt_unmask(uint32_t irq, unsigned int cpu)
int interrupt_get_irq(unsigned int irq, const char *cascade)
static void interrupt_clear_mask(int irq, uint32_t mask)
Definition interrupt.h:168