From owner-freebsd-questions Mon Jan 27 18: 3: 8 2003 Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E307E37B401 for ; Mon, 27 Jan 2003 18:03:06 -0800 (PST) Received: from ostia.INS.cwru.edu (ostia.INS.CWRU.Edu [129.22.8.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1206B43F93 for ; Mon, 27 Jan 2003 18:03:06 -0800 (PST) (envelope-from bwm3@po.cwru.edu) Received: from z (Z@z.STUDENT.CWRU.Edu [129.22.161.109]) by ostia.INS.cwru.edu with ESMTP (8.11.6+cwru/CWRU-3.9) id h0S234E11658; Mon, 27 Jan 2003 21:03:04 -0500 (EST) (from bwm3@po.cwru.edu for ) From: "Braden McGrath" To: Subject: ATA DMA issues in 5.0-RELEASE Date: Mon, 27 Jan 2003 21:03:04 -0500 Message-ID: <015801c2c671$650ed470$6da11681@z> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.4510 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is less of a question and more of a solution to a problem I was = having. There were (apparently) some ATA DMA changes recently in -current that = never trickled down to 4.7-STABLE, which is what I had been running before = trying 5.0. (My 4-STABLE install was working perfectly.) These DMA changes = were specific to certain cards & chipsets, from what I can gather looking at = the source. My problems were specifically with a Promise PCI Ultra66 = controller (no raid, just extra ATA ports). Every time drives were accessed on the controller in 5.0, the controller would hang and be forced to reset. I looked through the -current source revisions and found that the issues were resolved in newer versions of the ata driver. I cvsupped to = 5-current and attempted to build a kernel, and it failed (this didn't surprise = me). I backed down to 5-release, giving up on current. =20 My next step was to get the source diffs between current's ATA support = and 5-release. I compiled them into a single file, patched the source, = built a "modified" -release kernel, and now my DMA problem is no more. =20 I figured since I had already done the work of determining the needed = files and compiling the unidiff, I would make it available to the community. = Note that I have made NO alterations to the source itself. My diffs do have modified "build IDs" so they will patch cleanly against the -release = sources though. (I had to drop '/home/ncvs/' from the identifiers.) I've just = gone through, grabbed the files needed to correct this problem, and put them together for the sake of convenience. Please remember that this is code from CURRENT, possibly buggy and untested... But it is working 100% fine for me. Just drop the diff in /usr/src and run 'patch -p1