|
libmetal
|
Linux libmetal irq operations. More...
#include <pthread.h>#include <sched.h>#include <metal/device.h>#include <metal/irq.h>#include <metal/sys.h>#include <metal/mutex.h>#include <metal/list.h>#include <metal/utilities.h>#include <metal/alloc.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 | METAL_IRQ_STOP 0xFFFFFFFF |
Functions | |
| int | metal_irq_register (int irq, metal_irq_handler hd, struct metal_device *dev, void *drv_id) |
| Register interrupt handler for driver ID/device. More... | |
| int | metal_irq_unregister (int irq, metal_irq_handler hd, struct metal_device *dev, void *drv_id) |
| Unregister interrupt handler for driver ID and/or device. 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 operations.
| #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 descriptor
< metal device IRQ belongs to
< 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.16