summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/ispmbox.h
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2017-04-02 10:50:49 +0000
committermav <mav@FreeBSD.org>2017-04-02 10:50:49 +0000
commita176739740d6e0ee4fdf184c4788e59191bf4315 (patch)
treed0764044fd53195c07535cd80e069bd868293d72 /sys/dev/isp/ispmbox.h
parent1175886037d66118604f4430f50da9809c6f709e (diff)
downloadFreeBSD-src-a176739740d6e0ee4fdf184c4788e59191bf4315.zip
FreeBSD-src-a176739740d6e0ee4fdf184c4788e59191bf4315.tar.gz
MFC r315579, r315670: Add initial support for multiple MSI-X vectors.
For 24xx and above use 2 vectors (default and response queue). For 26xx and above use 3 vectors (default, response and ATIO queues). Due to global lock interrupt hardlers never run simultaneously now, but at least this allows to save one regitster read per interrupt.
Diffstat (limited to 'sys/dev/isp/ispmbox.h')
-rw-r--r--sys/dev/isp/ispmbox.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/isp/ispmbox.h b/sys/dev/isp/ispmbox.h
index 8bd4d1a..e929e86 100644
--- a/sys/dev/isp/ispmbox.h
+++ b/sys/dev/isp/ispmbox.h
@@ -895,6 +895,8 @@ typedef struct {
(IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MULTIID) : 0)
#define ISP_GET_VPIDX(isp, tag) \
(ISP_CAP_MULTI_ID(isp) ? tag : 0)
+#define ISP_CAP_MSIX(isp) \
+ (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MSIX) : 0)
#define ISP_CAP_VP0(isp) \
(IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_VP0) : 0)
OpenPOWER on IntegriCloud