summaryrefslogtreecommitdiff
path: root/sys/dev/ic/ami.c
diff options
context:
space:
mode:
authorMarco Peereboom <marco@cvs.openbsd.org>2005-04-27 21:54:48 +0000
committerMarco Peereboom <marco@cvs.openbsd.org>2005-04-27 21:54:48 +0000
commit2fc46bcb92cc57661b73ddb14ff85961277a44c7 (patch)
tree91a676f81fe04a778b2f43cfd123cbb32e7ae71d /sys/dev/ic/ami.c
parent56ea603a4ddd37181a88c59c9014ae7d102c67e2 (diff)
Remove unnecessary step in ack sequence.
Help LSI, ok mickey@
Diffstat (limited to 'sys/dev/ic/ami.c')
-rw-r--r--sys/dev/ic/ami.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/sys/dev/ic/ami.c b/sys/dev/ic/ami.c
index f420d384f26..c745bf1e5bb 100644
--- a/sys/dev/ic/ami.c
+++ b/sys/dev/ic/ami.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ami.c,v 1.34 2005/04/17 17:37:38 mickey Exp $ */
+/* $OpenBSD: ami.c,v 1.35 2005/04/27 21:54:47 marco Exp $ */
/*
* Copyright (c) 2001 Michael Shalayeff
@@ -673,16 +673,6 @@ ami_quartz_done(sc, mbox)
sc->sc_mbox->acc_status = 0xff;
- /* ack interrupt */
- ami_write_inbound_db(sc, AMI_QIDB_ACK);
-
- i = 0;
- while(ami_read_inbound_db(sc) & AMI_QIDB_ACK) {
- delay(1);
- if (i++ > 1000000)
- return (0); /* nothing to do */
- }
-
/* copy mailbox to temporary one and fixup other changed values */
bus_dmamap_sync(sc->dmat, sc->sc_cmdmap, 0, 16,
BUS_DMASYNC_POSTWRITE);
@@ -693,6 +683,9 @@ ami_quartz_done(sc, mbox)
mbox->acc_cmplidl[n] = completed[n];
}
+ /* ack interrupt */
+ ami_write_inbound_db(sc, AMI_QIDB_ACK);
+
return (1); /* ready to complete all IOs in acc_cmplidl */
}