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,
33 LOG_MODULE_DECLARE(zephyr, CONFIG_SOF_LOG_LEVEL);
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)
void interrupt_clear_mask(uint32_t irq, uint32_t mask)
static int interrupt_get_irq(unsigned int irq, const char *cascade)
Definition interrupt.h:50
static int interrupt_register(uint32_t irq, void(*handler)(void *arg), void *arg)
Definition interrupt.h:27
static void platform_interrupt_init(void)
Definition interrupt.h:79
void interrupt_mask(uint32_t irq, unsigned int cpu)
static uint32_t interrupt_disable(uint32_t irq, void *arg)
Definition interrupt.h:66
static void interrupt_unregister(uint32_t irq, const void *arg)
Definition interrupt.h:41
void interrupt_unmask(uint32_t irq, unsigned int cpu)
static uint32_t interrupt_enable(uint32_t irq, void *arg)
Definition interrupt.h:58
#define tr_err(ctx, fmt,...)
Definition trace-soflogger.h:438