Update of /project/movitz/cvsroot/movitz/losp/x86-pc
In directory common-lisp.net:/tmp/cvs-serv15284
Modified Files:
dp8390.lisp
Log Message:
Added some information to dp8390 DMA protocol.
Date: Mon Feb 2 08:41:53 2004
Author: ffjeld
Index: movitz/losp/x86-pc/dp8390.lisp
diff -u movitz/losp/x86-pc/dp8390.lisp:1.3 movitz/losp/x86-pc/dp8390.lisp:1.4
--- movitz/losp/x86-pc/dp8390.lisp:1.3 Mon Jan 19 06:23:52 2004
+++ movitz/losp/x86-pc/dp8390.lisp Mon Feb 2 08:41:52 2004
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef(a)acm.org>
;;;; Created at: Wed Sep 18 12:21:36 2002
;;;;
-;;;; $Id: dp8390.lisp,v 1.3 2004/01/19 11:23:52 ffjeld Exp $
+;;;; $Id: dp8390.lisp,v 1.4 2004/02/02 13:41:52 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -102,15 +102,15 @@
`((with-io-register-syntax (,var ,io-base-form)
,@body)))))
-(defun wait-for-dma-completion (io-base)
+(defun wait-for-dma-completion (io-base &optional command)
(with-dp8390 (dp8390 io-base)
(setf (dp8390 ($page0-write cr)) ($command page-0 abort-complete))
(if (logbitp ($interrupt-status dma-complete)
(dp8390 ($page0-read isr)))
(setf (dp8390 ($page0-write isr))
(ash 1 ($interrupt-status dma-complete)))
- (error "Incomplete dp8390 @ #x~X DMA: crda=#x~X."
- io-base
+ (error "Incomplete dp8390~@[ ~A~] @ #x~X DMA: crda=#x~X."
+ command io-base
(io-register8x2 dp8390 ($page0-read crda1) ($page0-read crda0)))))
nil)
@@ -131,7 +131,7 @@
`(setf (,dp8390-var ($page0-write cr)) ($command abort-complete))))
(initialize-dma ,dp8390-var ($command ,rdma-command) ,size ,address)
,@body)
- (wait-for-dma-completion ,dp8390-var)))
+ (wait-for-dma-completion ,dp8390-var ',rdma-command)))
;;; Utility functions