From owner-freebsd-stable Mon Sep 25 8:44:16 2000 Delivered-To: freebsd-stable@freebsd.org Received: from ns1.jonelrienton.org (dsl-64-34-25-237.telocity.com [64.34.25.237]) by hub.freebsd.org (Postfix) with SMTP id B526337B59E for ; Mon, 25 Sep 2000 08:43:57 -0700 (PDT) Received: (qmail 2255 invoked from network); 25 Sep 2000 16:03:50 -0000 Received: from debian (10.29.22.23) by zeus with SMTP; 25 Sep 2000 16:03:50 -0000 Message-ID: <010e01c02709$075edbe0$17161d0a@jonelrienton.org> From: "Jonel Rienton" To: "Justin T. Gibbs" Cc: References: <200009251501.JAA44574@pluto.plutotech.com> Subject: Re: MFC of ahc driver updates (long-ish) Date: Mon, 25 Sep 2000 10:55:29 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Justin, it didn't get hit. Jonel Rienton http://qmail.freebsduser.org sent by qmail-1.03 on a FreeBSD 4.1-STABLE ----- Original Message ----- From: "Justin T. Gibbs" To: "Jonel Rienton" Cc: Sent: Monday, September 25, 2000 10:02 AM Subject: Re: MFC of ahc driver updates (long-ish) | >Justin, | > | >i've attached the log today. thanks. | | In the future, send text as text. Using uudecode is a pain. | | I believe the your problem is caused by a firmware bug in | the Seagate drive and perhaps the aic7xxx driver being | overly strict in its conformance to the SPI-3 spec. If | you search for this code in aic7xxx.c: | | /* | * According to the spec, a DT only | * period factor with no DT option | * set implies async. | */ | if ((ppr_options & MSG_EXT_PPR_DT_REQ) == 0 | && period == 9) | offset = 0; | | And add braces and a printf to where offset is set to 0, I would | bet money that your printf will get hit. The code might look like | this: | | if ((ppr_options & MSG_EXT_PPR_DT_REQ) == 0 | && period == 9) { | printf("%s: target %d returned DT sync period " | "without specifying DT transfers. " | "Async transfers implied.\n", | ahc_name(ahc), devinfo->target); | offset = 0; | } | | I can't see any other way for the driver to drop all the way to async | like this. The funny thing is that the drive seems to be agreeing that | transfers are now async since you are not getting parity errors for later | I/O. Very odd. | | If the printf does get hit, you should be able to run the drive at 40MHz | sync. Just lower the negotiated rate using SCSI-Select. I'm going to | see if I can dig up one of these drives at work and see if I can get | similar behavior out of it. | | -- | Justin | | | | To Unsubscribe: send mail to majordomo@FreeBSD.org | with "unsubscribe freebsd-stable" in the body of the message | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message