Subject: Re: 1.6 on IPC (tagged queuing bug still there)
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Ronald van der Pol <Ronald.vanderPol@rvdp.org>
List: port-sparc
Date: 09/08/2002 16:46:01
On Tue, Sep 03, 2002 at 21:55:33 +0200, Manuel Bouyer wrote:

> scsipi will think the adapter can do tagged queuing while that's not true.
> This one is probably better
> 
> --- ncr53c9x.c.orig	Tue Sep  3 21:53:54 2002
> +++ ncr53c9x.c	Tue Sep  3 21:54:24 2002
> @@ -901,7 +901,8 @@
>  		ti->offset = 0;
>  
>  		if ((sc->sc_cfflags & (1<<(xm->xm_target+16))) == 0 &&
> -		    (xm->xm_mode & PERIPH_CAP_TQING))
> +		    (xm->xm_mode & PERIPH_CAP_TQING) &&
> +		    (sc->sc_features & NCR_F_SELATN3) != 0)
>  			ti->flags |= T_TAG;
>  		else
>  			ti->flags &= ~T_TAG;

I have done this on a SPARCstation 1 with 1.6_RC1 and 1.6_RC3:
esp0 at sbus0 slot 0 offset 0x800000 level 3: ESP100, 25MHz, SCSI ID 7
sd0 at scsibus0 target 1 lun 0: <SEAGATE, ST32430N, 0510> SCSI2 0/direct fixed

It does not fix my disk problem. After running fine for some time the
disk is failing with a clicking sound and on the console:

sd0(esp0:0:1:0): esp0: timed out [ecb 0xf03f6000 (flags 0x1, dleft 2000,
stat 0)], <state 1, nexus 0x0, phase(l 10, c 100, p 7), resid 2000,
msg(q 0,o 0) >

Escaping to the boot prom and syncing gives:

dump sd0(esp0:0:1:0): esp0: timed out [ecb 0xf03f6038 (flags 0x3,
dleft 200, stat 0)], <state 1, nexus 0x0, phase(l 10, c 100, p 7),
resid 2000, msg(q 0,o 0) > sd0(esp0:0:1:0): esp0: timed out [ecb
0xf03f6038 (flags 0x43, dleft 200, stat 0)], <state 1, nexus 0x0,
phase(l 10, c 100, p 7), resid 2000, msg(q 0,o 0) > AGAIN
i/o error
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0(esp0:0:1:0): failed to enqueue polling command, retrying...
sd0: cache synchronization failed

Any ideas?

	rvdp