Subject: Re: sbic_wait TIMEO
To: None <Jarkko.Hietaniemi@hut.fi, amiga-dev@sun-lamp.cs.berkeley.edu>
From: Eduardo E. Horvath eeh@btr.com <eeh@btr.btr.com>
List: amiga-dev
Date: 06/05/1994 11:44:23
> On Fri, 3 Jun 1994, Jarkko Hietaniemi wrote:
> 
> > My original whining on Sat May 14 12:57:37 +0300 1994 was:
> > 
> > dma0: A3000 32bit DMA
> > scsi0: scsi id 7
> > a3000scsi0 [1/1]
> > scsi0: target 0 now asynchronous, period=208ns, offset=12
> > sbic_wait TIMEO @1210 with asr=x0 csr=x41
> > ---
> > Stephen Roznowski advised me to try newer kernels.  Here are the results:
> > ---
> > netbsd  a3000   0427    locks up after the "scsi0: target 0 now async..." *)
> > netbsd  generic -"-     1/2 time the aforementioned timeout,
> >                         1/2 time it gets past this but then hits swfree panic
> > netbsd  a3000   0413    locks up
> > netbsd  generic -"-     1/2 the time timeout, 1/2 the time boots ok
> > vmunix  generic 0325    -"-
> > vmunix  generic 0305    -"-
> > 

I have been able to establish at least one problem with my Quantum P40S 
drive and a suggested fix.

Apparently it sometimes goes to a msg-in phase, and then disconnects 
before transfering any data.  While IMHO this is a violation of the SCSI 
spec, since we can't fix the drive, we need a workaround.

The solution I found is as follows:

diff -c -r1.1 /sys/arch/amiga/dev/sbic.c
*** 1.1	1994/05/26 10:17:34
--- /sys/arch/amiga/dev/sbic.c	1994/06/05 10:15:15
***************
*** 866,872 ****
  	case MESG_IN_PHASE:
  		if (sbicxfstart(regs, sizeof(dev->sc_msg), phase, wait) == 0)
  			break;
! 		dev->sc_msg[0] = 0xff;
  		sbicxfin(regs, sizeof(dev->sc_msg), dev->sc_msg);
  		/*
  		 * get the command completion interrupt, or we 
--- 866,872 ----
  	case MESG_IN_PHASE:
  		if (sbicxfstart(regs, sizeof(dev->sc_msg), phase, wait) == 0)
  			break;
! 		dev->sc_msg[0] = MSG_CMD_COMPLETE;
  		sbicxfin(regs, sizeof(dev->sc_msg), dev->sc_msg);
  		/*
  		 * get the command completion interrupt, or we 

=========================================================================
Eduardo Horvath				eeh@btr.com
					..!{decwrl,mips,fernwood}!btr!eeh
	"Trust me, I am cognizant of what I am doing." - Hammeroid




------------------------------------------------------------------------------