5.1.0pre4 work du jour

Robert G. Brown rgb at phy.duke.edu
Tue Jul 21 15:38:32 PDT 1998


Dear Doug et. al.;

I did work some on the remaining problem today, but didn't get very
far.  Justin Gibbs sent me a copy of the current freebsd sources
(thanks Justin) but going through the two versions didn't get me very
far as there is significant drift between the two.  I did find what I
suspect is another bug; in the restart sequencer routine, I think that
writing the sequencer address needs to be prefaced by FAILDIS -- I did
notice another Data Parity Error occurring that might have been
ameliorated by the following but didn't take time to be sure.  I'm not
sure why the sequencer address has to be set here -- it is different
in Justin's code.  Similarly, the linux version leaves
restart_sequencer with the sequencer paused, in the freebsd version
unpaused.  Anyway, I added this and it made things no worse:

static inline void
restart_sequencer(struct aic7xxx_host *p)
{
  /* Set the sequencer address to 0. */
+  aic_outb(p, FAILDIS | FASTMODE, SEQCTL);
  aic_outb(p, 0, SEQADDR0);
  aic_outb(p, 0, SEQADDR1);

Beyond that I tried a bunch of things, all to no avail.  It looks (to
my untrained eye) like the controller is coming out of the setup phase
in a paused state; what I imagine to be the first commands sent to the
controller by the scsi layer don't seem to be executing and time out.
However, I haven't yet traced execution up into the scsi layer, and so
far I bomb out with a timeout (or loop of timeout/resets) before the
controller returns its attached devices to the driver.

Hopefully Doug will be back and knows right where the problem lies; I
will try again tomorrow, work permitting.

   rgb

Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at phy.duke.edu




To Unsubscribe: send mail to majordomo at FreeBSD.org
with "unsubscribe aic7xxx" in the body of the message



More information about the aic7xxx mailing list