Date: Wed, 20 Dec 1995 11:36:42 -0800 From: "Justin T. Gibbs" <gibbs@freefall.freebsd.org> To: Scott Mace <smace@metal.neosoft.com> Cc: hackers@freebsd.org, scsi@freebsd.org Subject: Re: AHA2940W problem. Message-ID: <199512201936.LAA11829@freefall.freebsd.org> In-Reply-To: Your message of "Wed, 20 Dec 1995 10:44:13 CST." <199512201644.KAA04924@metal.ops.neosoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>I'm having a problem with an AHA2940W with a AIC7870P chip on it. > >It only probes 16 SCBs (is this normal?). And periodically I get: As far as I know, the 7870 chips only have 16SCBs. > >/kernel: ahc_scsi_cmd0: more than 256 DMA segs >/kernel: sd0: oops not queued >/kernel: biodone: buffer already done DMA segs != SCBs. Each SCB has 256 possiblle DMA segs == ~1MB of data (give or take an initial page offset or only a partially used last page). Since a buffer maxes out at 64k, the driver should never encounter an I/O that consumes this many segs. Perhaps you are attempting to read/write to a tape drive with a really large block size? >I forced the driver (sys/i386/scsi/aic7xxx.c) to walk the SCBs >and when I did this I get 255 SCBs. I think that the aic7870 will only look at the first 4 bits of the SCBPTR register if EXTSCB is not turned on. Forcing the walk just confuses the driver since it usally only performs the walk if EXTSCB is turned on. It looks like the Ultra cards may come with external SCB SRAM, but I haven't fully confirmed this. I'll look through my data books later tonight to make sure that the probe is doing the right thing there. > > Scott -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512201936.LAA11829>