#include "assert_support.h"
#include "irq.h"
#ifndef __INLINE_GP_DEVICE__
#define __INLINE_GP_DEVICE__
#endif
#include "gp_device.h"
static inline void irq_wait_for_write_complete(
const irq_ID_t ID);
static inline bool any_irq_channel_enabled(
const irq_ID_t ID);
static inline irq_ID_t virq_get_irq_id(const enum virq_id irq_ID,
unsigned int *channel_ID);
#ifndef __INLINE_IRQ__
#include "irq_private.h"
#endif
static unsigned short IRQ_N_CHANNEL[N_IRQ_ID] = …;
static unsigned short IRQ_N_ID_OFFSET[N_IRQ_ID + 1] = …;
static enum virq_id IRQ_NESTING_ID[N_IRQ_ID] = …;
void irq_clear_all(
const irq_ID_t ID)
{ … }
void irq_enable_channel(
const irq_ID_t ID,
const unsigned int irq_id)
{ … }
void irq_enable_pulse(
const irq_ID_t ID,
bool pulse)
{ … }
void irq_disable_channel(
const irq_ID_t ID,
const unsigned int irq_id)
{ … }
enum hrt_isp_css_irq_status irq_get_channel_id(
const irq_ID_t ID,
unsigned int *irq_id)
{ … }
static const hrt_address IRQ_REQUEST_ADDR[N_IRQ_SW_CHANNEL_ID] = …;
void irq_raise(
const irq_ID_t ID,
const irq_sw_channel_id_t irq_id)
{ … }
bool any_virq_signal(void)
{ … }
void cnd_virq_enable_channel(
const enum virq_id irq_ID,
const bool en)
{ … }
void virq_clear_all(void)
{ … }
enum hrt_isp_css_irq_status
virq_get_channel_signals(struct virq_info *irq_info)
{ … }
void virq_clear_info(struct virq_info *irq_info)
{ … }
enum hrt_isp_css_irq_status virq_get_channel_id(
enum virq_id *irq_id)
{ … }
static inline void irq_wait_for_write_complete(
const irq_ID_t ID)
{ … }
static inline bool any_irq_channel_enabled(
const irq_ID_t ID)
{ … }
static inline irq_ID_t virq_get_irq_id(
const enum virq_id irq_ID,
unsigned int *channel_ID)
{ … }