Subject: Re: More SMD adventures.
To: None <firstname.lastname@example.org>
From: Chuck Cranor <email@example.com>
Date: 12/30/1996 09:27:57
> > Now... does anyone know what's going wrong? Is there some
> > critial date for the SMD support? I had several of the watchdog
> > resets this time. Does that affect things?
>What's probably happening is that the controller misses and interrupt,
>the reset happens (thus tossing the data transfer), and the FFS code
>gets confused as a result.
>I remember Chuck mentioned some lost interrupt problem to me some time
>ago, and he added the watchdog timer to get past the missed interrupt.
>I don't believe he's found the bug that causes it yet. I recall someone
>here on port-sun3 had the same problem (I'm sorry, I don't recall exactly
>who it was), and was looking into it...
i had some trouble with the xy driver in relation to the
watchdog timer, but i believe i fixed that last spring [march 4th]
(although i have not had time to test it recently). i have not had
that sort of trouble with xd.
the way the xd driver works is that there is an IOPB data
structure in host memory for each I/O request it is working on (and
it can work on 30 or so at the same time). when it finishes working
on the I/O request it sets a "done" bit in the IOPB and generates an
interrupt. in order to make sure the controller doesn't accept
an IOPB and then never gives it back (i.e. never set the "done" bit)
i put in the xd watchdog timer code which basically gives the controller
a finite amount of time to complete work on an I/O request (i.e. IOPB).