summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp/isp_pci.c
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2006-01-26 05:04:35 +0000
committermjacob <mjacob@FreeBSD.org>2006-01-26 05:04:35 +0000
commit3c93597c0f0360a17add34bed82f0afce62f313c (patch)
tree8f053ed48f3fb70fa4710b006850755dd95e9b5d /sys/dev/isp/isp_pci.c
parentbce3c351bf522e9b06c4921168a05d2a3cf933f3 (diff)
downloadFreeBSD-src-3c93597c0f0360a17add34bed82f0afce62f313c.zip
FreeBSD-src-3c93597c0f0360a17add34bed82f0afce62f313c.tar.gz
Put in at least an attempt to ID the 2422 (4Gb part)
Diffstat (limited to 'sys/dev/isp/isp_pci.c')
-rw-r--r--sys/dev/isp/isp_pci.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/isp/isp_pci.c b/sys/dev/isp/isp_pci.c
index 4d2810e..0da07f7 100644
--- a/sys/dev/isp/isp_pci.c
+++ b/sys/dev/isp/isp_pci.c
@@ -226,6 +226,10 @@ static struct ispmdvec mdvec_2300 = {
#define PCI_PRODUCT_QLOGIC_ISP2322 0x2322
#endif
+#ifndef PCI_PRODUCT_QLOGIC_ISP2422
+#define PCI_PRODUCT_QLOGIC_ISP2422 0x2422
+#endif
+
#ifndef PCI_PRODUCT_QLOGIC_ISP6312
#define PCI_PRODUCT_QLOGIC_ISP6312 0x6312
#endif
@@ -348,6 +352,9 @@ isp_pci_probe(device_t dev)
case PCI_QLOGIC_ISP2322:
device_set_desc(dev, "Qlogic ISP 2322 PCI FC-AL Adapter");
break;
+ case PCI_QLOGIC_ISP2422:
+ device_set_desc(dev, "Qlogic ISP 2422 PCI FC-AL Adapter");
+ break;
case PCI_QLOGIC_ISP6312:
device_set_desc(dev, "Qlogic ISP 6312 PCI FC-AL Adapter");
break;
@@ -553,6 +560,13 @@ isp_pci_attach(device_t dev)
pcs->pci_poff[MBOX_BLOCK >> _BLK_REG_SHFT] =
PCI_MBOX_REGS2300_OFF;
}
+ if (pci_get_devid(dev) == PCI_QLOGIC_ISP2422) {
+ mdvp = &mdvec_2300;
+ basetype = ISP_HA_FC_2422;
+ psize = sizeof (fcparam);
+ pcs->pci_poff[MBOX_BLOCK >> _BLK_REG_SHFT] =
+ PCI_MBOX_REGS2300_OFF;
+ }
isp = &pcs->pci_isp;
isp->isp_param = malloc(psize, M_DEVBUF, M_NOWAIT | M_ZERO);
if (isp->isp_param == NULL) {
OpenPOWER on IntegriCloud