|
libmetal
|
Linux libmetal irq definitions. More...
#include <pthread.h>#include <sched.h>#include "metal/device.h"#include "metal/irq.h"#include "metal/sys.h"#include "metal/mutex.h"#include <sys/time.h>#include <sys/eventfd.h>#include <stdint.h>#include <errno.h>#include <unistd.h>#include <string.h>#include <poll.h>Data Structures | |
| struct | metal_irq_hddesc |
| struct | metal_irqs_state |
Macros | |
| #define | MAX_IRQS FD_SETSIZE |
| #define | MAX_HDS 20 |
| #define | METAL_IRQ_STOP 0xFFFFFFFF |
Functions | |
| int | metal_irq_register (int irq, metal_irq_handler hd, struct metal_device *dev, void *drv_id) |
| Register interrupt or register interrupt handling of a specific interrupt. More... | |
| unsigned int | metal_irq_save_disable () |
| disable interrupts More... | |
| void | metal_irq_restore_enable (unsigned flags) |
| void | metal_irq_enable (unsigned int vector) |
| metal_irq_enable More... | |
| void | metal_irq_disable (unsigned int vector) |
| metal_irq_disable More... | |
| static void * | metal_linux_irq_handling (void *args) |
| IRQ handler. More... | |
| int | metal_linux_irq_init () |
| irq handling initialization More... | |
| void | metal_linux_irq_shutdown () |
| irq handling shutdown More... | |
Variables | |
| struct metal_irqs_state | _irqs |
Linux libmetal irq definitions.
| #define MAX_HDS 20 |
maximum number of handlers per IRQ
| #define MAX_IRQS FD_SETSIZE |
maximum number of irqs
| #define METAL_IRQ_STOP 0xFFFFFFFF |
stop interrupts handling thread
| void metal_irq_restore_enable | ( | unsigned | flags | ) |
|
static |
IRQ handler.
| [in] | args | not used. required for pthread. |
< irq handler descriptro
< irq handler
< metal device which a IRQ belongs to
< A flag to indicate if irq is handled
| int metal_linux_irq_init | ( | ) |
irq handling initialization
| void metal_linux_irq_shutdown | ( | ) |
irq handling shutdown
| struct metal_irqs_state _irqs |
1.8.14