summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/pci/isp_pci.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/sys/dev/pci/isp_pci.c b/sys/dev/pci/isp_pci.c
index 7c5827e1498..a848fddfc9f 100644
--- a/sys/dev/pci/isp_pci.c
+++ b/sys/dev/pci/isp_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isp_pci.c,v 1.28 2002/05/17 01:22:38 mjacob Exp $ */
+/* $OpenBSD: isp_pci.c,v 1.29 2002/08/17 17:35:48 mjacob Exp $ */
/*
* PCI specific probe and attach routines for Qlogic ISP SCSI adapters.
*
@@ -613,6 +613,9 @@ isp_pci_attach(struct device *parent, struct device *self, void *aux)
if (IS_2300(isp)) { /* per QLogic errata */
data &= ~PCI_COMMAND_PARITY_ENABLE;
}
+ if (IS_23XX(isp)) {
+ isp->isp_touched = 1;
+ }
data |= PCI_COMMAND_MASTER_ENABLE | PCI_COMMAND_INVALIDATE_ENABLE;
/*
@@ -782,11 +785,23 @@ isp_pci_rd_isr_2300(struct ispsoftc *isp, u_int16_t *isrp,
case ISPR2HST_MBX_OK:
case ISPR2HST_MBX_FAIL:
case ISPR2HST_ASYNC_EVENT:
+ *isrp = r2hisr & 0xffff;
+ *mbox0p = (r2hisr >> 16);
+ *semap = 1;
+ return (1);
case ISPR2HST_RIO_16:
+ *isrp = r2hisr & 0xffff;
+ *mbox0p = ASYNC_RIO1;
+ *semap = 1;
+ return (1);
case ISPR2HST_FPOST:
+ *isrp = r2hisr & 0xffff;
+ *mbox0p = ASYNC_CMD_CMPLT;
+ *semap = 1;
+ return (1);
case ISPR2HST_FPOST_CTIO:
*isrp = r2hisr & 0xffff;
- *mbox0p = (r2hisr >> 16);
+ *mbox0p = ASYNC_CTIO_DONE;
*semap = 1;
return (1);
case ISPR2HST_RSPQ_UPDATE: