summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authortls <tls@NetBSD.org>2005-10-15 04:31:20 +0000
committertls <tls@NetBSD.org>2005-10-15 04:31:20 +0000
commit15cb9441e1a9b4b9bfeb8d782552ae384113123d (patch)
treebcbc76846636154002a393393de68f3d7168cb2a /sys/dev
parent387175fffecbfa53edcdbf7d838f2038806ac556 (diff)
From OpenBSD hifn7751.c revision 1.149: enable the command-wait interrupt
even if there's only one request in the queue. Sometimes we seem to miss multiple interrupts, and command-wait saves us.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/hifn7751.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/pci/hifn7751.c b/sys/dev/pci/hifn7751.c
index a511438143d..bb85b55f698 100644
--- a/sys/dev/pci/hifn7751.c
+++ b/sys/dev/pci/hifn7751.c
@@ -1,4 +1,4 @@
-/* $NetBSD: hifn7751.c,v 1.23 2005/06/28 00:28:42 thorpej Exp $ */
+/* $NetBSD: hifn7751.c,v 1.24 2005/10/15 04:31:20 tls Exp $ */
/* $FreeBSD: hifn7751.c,v 1.5.2.7 2003/10/08 23:52:00 sam Exp $ */
/* $OpenBSD: hifn7751.c,v 1.140 2003/08/01 17:55:54 deraadt Exp $ */
@@ -48,7 +48,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hifn7751.c,v 1.23 2005/06/28 00:28:42 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hifn7751.c,v 1.24 2005/10/15 04:31:20 tls Exp $");
#include "rnd.h"
#include "opencrypto.h"
@@ -1702,11 +1702,19 @@ hifn_crypto(struct hifn_softc *sc, struct hifn_command *cmd,
* We don't worry about missing an interrupt (which a "command wait"
* interrupt salvages us from), unless there is more than one command
* in the queue.
+ *
+ * XXX We do seem to miss some interrupts. So we always enable
+ * XXX command wait. From OpenBSD revision 1.149.
+ *
*/
+#if 0
if (dma->cmdu > 1) {
+#endif
sc->sc_dmaier |= HIFN_DMAIER_C_WAIT;
WRITE_REG_1(sc, HIFN_1_DMA_IER, sc->sc_dmaier);
+#if 0
}
+#endif
hifnstats.hst_ipackets++;
hifnstats.hst_ibytes += cmd->src_map->dm_mapsize;