diff options
| author | riastradh <riastradh@NetBSD.org> | 2021-12-19 11:49:57 +0000 |
|---|---|---|
| committer | riastradh <riastradh@NetBSD.org> | 2021-12-19 11:49:57 +0000 |
| commit | c51620cc8092f91de68ba01de0334012d645a07e (patch) | |
| tree | 5d4bafd6e7f9cdeba9008f55a927f73024ee13ad /sys/external/bsd/drm2/include/linux | |
| parent | d90bc72869ff71532f38d83ddac2ffd8d08bb7ab (diff) | |
linux: Draft irq_work shims, in terms of a softint.
Doesn't actually run in hardirq context, but who's gonna notice...
Diffstat (limited to 'sys/external/bsd/drm2/include/linux')
| -rw-r--r-- | sys/external/bsd/drm2/include/linux/irq_work.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/external/bsd/drm2/include/linux/irq_work.h b/sys/external/bsd/drm2/include/linux/irq_work.h index 23c9e51771a..f40d7a7daa7 100644 --- a/sys/external/bsd/drm2/include/linux/irq_work.h +++ b/sys/external/bsd/drm2/include/linux/irq_work.h @@ -1,4 +1,4 @@ -/* $NetBSD: irq_work.h,v 1.5 2021/12/19 11:35:51 riastradh Exp $ */ +/* $NetBSD: irq_work.h,v 1.6 2021/12/19 11:49:57 riastradh Exp $ */ /*- * Copyright (c) 2020 The NetBSD Foundation, Inc. @@ -29,6 +29,7 @@ #ifndef _LINUX_IRQ_WORK_H #define _LINUX_IRQ_WORK_H +#include <sys/queue.h> #include <sys/stdbool.h> #include <asm/cpufeature.h> @@ -38,11 +39,17 @@ #define irq_work_queue linux_irq_work_queue struct irq_work { + SIMPLEQ_ENTRY(irq_work) iw_entry; + volatile unsigned iw_flags; + /* Linux API */ - void (*func)(struct irq_work *); + void (*func)(struct irq_work *); }; void init_irq_work(struct irq_work *, void (*)(struct irq_work *)); bool irq_work_queue(struct irq_work *); +void linux_irq_work_init(void); +void linux_irq_work_fini(void); + #endif /* _LINUX_IRQ_WORK_H */ |
