diff options
| author | tls <tls@NetBSD.org> | 2005-10-15 04:31:20 +0000 |
|---|---|---|
| committer | tls <tls@NetBSD.org> | 2005-10-15 04:31:20 +0000 |
| commit | 15cb9441e1a9b4b9bfeb8d782552ae384113123d (patch) | |
| tree | bcbc76846636154002a393393de68f3d7168cb2a /sys/dev | |
| parent | 387175fffecbfa53edcdbf7d838f2038806ac556 (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.c | 12 |
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; |
