summaryrefslogtreecommitdiffstats
path: root/sys/ofed
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2015-10-26 13:28:34 +0000
committerhselasky <hselasky@FreeBSD.org>2015-10-26 13:28:34 +0000
commita165c14ffd676d0e765cf43780f8e1182d152e3e (patch)
tree146e88b948c0b3b421a96cbc05c053eec7fed79c /sys/ofed
parentfe415de27805bf91f348fdfdafefcde837020adc (diff)
downloadFreeBSD-src-a165c14ffd676d0e765cf43780f8e1182d152e3e.zip
FreeBSD-src-a165c14ffd676d0e765cf43780f8e1182d152e3e.tar.gz
Add support for binding IRQs to CPUs in the LinuxKPI. The new function
added is for BSD only and does not exist in Linux. MFC after: 1 week Sponsored by: Mellanox Technologies
Diffstat (limited to 'sys/ofed')
-rw-r--r--sys/ofed/include/linux/interrupt.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/sys/ofed/include/linux/interrupt.h b/sys/ofed/include/linux/interrupt.h
index 26ad592..4c0ad80 100644
--- a/sys/ofed/include/linux/interrupt.h
+++ b/sys/ofed/include/linux/interrupt.h
@@ -2,7 +2,7 @@
* Copyright (c) 2010 Isilon Systems, Inc.
* Copyright (c) 2010 iX Systems, Inc.
* Copyright (c) 2010 Panasas, Inc.
- * Copyright (c) 2013, 2014 Mellanox Technologies, Ltd.
+ * Copyright (c) 2013-2015 Mellanox Technologies, Ltd.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -118,6 +118,23 @@ request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
return 0;
}
+static inline int
+bind_irq_to_cpu(unsigned int irq, int cpu_id)
+{
+ struct irq_ent *irqe;
+ struct device *dev;
+
+ dev = _pci_find_irq_dev(irq);
+ if (dev == NULL)
+ return (-ENOENT);
+
+ irqe = _irq_ent(dev, irq);
+ if (irqe == NULL)
+ return (-ENOENT);
+
+ return (-bus_bind_intr(dev->bsddev, irqe->res, cpu_id));
+}
+
static inline void
free_irq(unsigned int irq, void *device)
{
OpenPOWER on IntegriCloud