summaryrefslogtreecommitdiffstats
path: root/sys/sys/intr.h
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2016-05-16 09:11:40 +0000
committerandrew <andrew@FreeBSD.org>2016-05-16 09:11:40 +0000
commitf1a8e245ae18e4d5cbe0a64739b2f8f092ecdcdd (patch)
tree1a5b256ed0cc34205d0c81d9e55ac1c30ac8af0d /sys/sys/intr.h
parent3761743489689618f0e7668cc92077979f225df9 (diff)
downloadFreeBSD-src-f1a8e245ae18e4d5cbe0a64739b2f8f092ecdcdd.zip
FreeBSD-src-f1a8e245ae18e4d5cbe0a64739b2f8f092ecdcdd.tar.gz
Introduce MSI and MSI-X support to intrng. This adds a new msi device
interface with 5 methods to mirror the 5 MSI/MSI-X methods in the pcib interface. The pcib driver will need to perform a device specific lookup to find the MSI controller and pass this to intrng as the xref. Intrng will finally find the controller and have it handle the requested operation. Obtained from: ABT Systems Ltd MFH: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D5985
Diffstat (limited to 'sys/sys/intr.h')
-rw-r--r--sys/sys/intr.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/sys/intr.h b/sys/sys/intr.h
index e1e2a22..14267c4 100644
--- a/sys/sys/intr.h
+++ b/sys/sys/intr.h
@@ -128,6 +128,14 @@ int intr_teardown_irq(device_t, struct resource *, void *);
int intr_describe_irq(device_t, struct resource *, void *, const char *);
+/* MSI/MSI-X handling */
+int intr_msi_register(device_t, intptr_t);
+int intr_alloc_msi(device_t, device_t, intptr_t, int, int, int *);
+int intr_release_msi(device_t, device_t, intptr_t, int, int *);
+int intr_map_msi(device_t, device_t, intptr_t, int, uint64_t *, uint32_t *);
+int intr_alloc_msix(device_t, device_t, intptr_t, int *);
+int intr_release_msix(device_t, device_t, intptr_t, int);
+
#ifdef DEV_ACPI
u_int intr_acpi_map_irq(device_t, u_int, enum intr_polarity,
enum intr_trigger);
OpenPOWER on IntegriCloud