Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jan 1999 20:28:50 +0100
From:      Stefan Esser <se@mi.uni-koeln.de>
To:        Greg Rowe <greg@uswest.net>
Cc:        Mike Smith <mike@smith.net.au>, freebsd-scsi@FreeBSD.ORG, freebsd-smp@FreeBSD.ORG, Stefan Esser <se@FreeBSD.ORG>
Subject:   Re: Symbios & SC450NX
Message-ID:  <19990109202850.A320@dialup124.mi.uni-koeln.de>
In-Reply-To: <XFMail.990104164031.greg@uswest.net>; from Greg Rowe on Mon, Jan 04, 1999 at 04:40:31PM -0600
References:  <199901041931.LAA14216@dingo.cdrom.com> <XFMail.990104164031.greg@uswest.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1999-01-04 16:40 -0600, Greg Rowe <greg@uswest.net> wrote:
>  I've also copied the -scsi list on this. Below is the output of the boot (-hv)

Since I'm only on the SCSI list, I only now got to hear that there
apparently is some problem with the NCR driver and the 53c896 ...

>    CCB > CCB_H  pci/ncr.c Target ID Failed at 5079

This is an assert() for a "can't happen" case, which I never before 
heard was triggered ...

The probable cause is, that Symbios changed the definition of the
CTEST0 register (it was a general purpose R/W register, but has been
labeled "reserves the right to use these bits for future 53C8XX family
enhancements"). The latest data book I have is for the 53c895, and the
register is available to the driver, for that controller. I don't know
about the 896, but I've got to assume, that Symbios started to assign
internal status and(or command bits to CTEST0 ...

The solution to this problem is to either only use those bits of CTEST0, 
that still are available, or to use some other register to hold the 
current SCSI target information.

The problem is, that CTEST0 is the only reasonable choice for early 
53c8xx family members. Later chips got 16 more bytes of internal scratch
register storage, but the driver had to be modified in a number of places,
if CTEST0 was to to be replaced by, say, the low byte of SCRATCHC.

This is not really hard to do, but will require some testing and more
time than a weekend ;-)

Access to a 53c896 card would help, as did having copies of the pages
that describe CTEST0 in the "SYM53C896 Data Manual". Symbios has been
very responsive when I asked for programming info in the past, but it 
will probably take many weeks until I receive the data books, if I order 
them today ...

I could send patches that print register info at the place where the 
assert() fails, but I doubt this is the correct way to deal with this
problem. Rather, I'd have the docs, and then will provide a solution
that fixes the problem for the 896, without giving up 53c810 support 
in the driver, which is the real hard problem :)

Regards, STefan

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990109202850.A320>