From owner-freebsd-stable@FreeBSD.ORG Mon Jul 25 16:50:01 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09568106566B for ; Mon, 25 Jul 2011 16:50:01 +0000 (UTC) (envelope-from markmc@dataabstractsolutions.com) Received: from new-smtp02.pacifier.net (new-smtp02.pacifier.net [64.255.237.176]) by mx1.freebsd.org (Postfix) with ESMTP id E3C478FC0A for ; Mon, 25 Jul 2011 16:50:00 +0000 (UTC) Received: from [192.168.1.35] (75-150-37-150-Oregon.hfc.comcastbusiness.net [75.150.37.150]) by new-smtp02.pacifier.net (Postfix) with ESMTP id 79C022CA21; Mon, 25 Jul 2011 09:50:00 -0700 (PDT) From: "Mark McConnell" To: freebsd-stable@freebsd.org Date: Mon, 25 Jul 2011 09:49:59 -0700 MIME-Version: 1.0 Message-ID: <4E2D9EB7.13030.199D25ED@markmc.dataabstractsolutions.com> Priority: normal In-reply-to: <4E24C902.4460.164669ED@markmc.dataabstractsolutions.com> References: <4E20BA23.13717.66C6F57@markmcconnell.iinet.com>, <797CACDE-729E-4F3A-AEFF-531C00C2B83A@samsco.org>, <4E24C902.4460.164669ED@markmc.dataabstractsolutions.com> X-mailer: Pegasus Mail for Windows (4.52) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Mail message body Cc: Subject: Re: disable 64-bit dma for one PCI slot only? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: markmc@dataabstractsolutions.com List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jul 2011 16:50:01 -0000 On 18 Jul 2011 at 17:00, Mark McConnell wrote: {Re: disable 64-bit dma for one PCI ...}: > On 18 Jul 2011 at 15:06, Scott Long wrote: > {Re: disable 64-bit dma for one PCI ...}: > > > >> I would like to disable 64-bit addressing for the SATA card, but > > >> permit it for the SCSI card. Is this possible? > > > > > > You'd have to hack the driver perhaps to only disable 64-bit DMA for certain > > > PCI IDs. It probably already does this? > > > > > > > The driver already had a table for determining 64bit DMA > > based on the PCI ID. I guess there's a mistake in the > > table for this particular card. I think that changing > > the following line to remove the AMR_ID_DO_SG64 flag > > will fix the problem: > > > > {0x1000, 0x1960, AMR_ID_QUARTZ | AMR_ID_DO_SG64 | AMR_ID_PROBE_SIG}, > > > > Actually, what's probably going on is that the driver is > > only looking at the vendor and device id's, and is > > ignoring the subvendor and subdevice id's that would > > give it a better clue on the exact hardware in use. > > Fixing the driver to look at all 64bits of id info (and > > take into account wildcards where needed) would be a > > good project, if anyone is interested. > > > > Btw, I *HATE* the "chip" and "card" identifiers used in > > pciconf. Can we change it to emit the standard > > (sub)vendor/(sub)device terminology? > > > > Scott > > Thank you for the discussion, John and Scott. I see > where this change would be made, Scott, and I want to try > it when I have an opportunity. > > Mark I made this change to the amr driver, and it works as advertised. Both cards are prevented from using 64-bit DMA however, because the id's are the same as far as they are examined. Mark --