Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jul 2011 15:06:40 -0600
From:      Scott Long <scottl@samsco.org>
To:        John Baldwin <jhb@freebsd.org>, markmc@dataabstractsolutions.com
Cc:        "freebsd-stable@freebsd.org Stable" <freebsd-stable@freebsd.org>
Subject:   Re: disable 64-bit dma for one PCI slot only?
Message-ID:  <797CACDE-729E-4F3A-AEFF-531C00C2B83A@samsco.org>
In-Reply-To: <201107181402.12755.jhb@freebsd.org>
References:  <4E20BA23.13717.66C6F57@markmcconnell.iinet.com> <201107181402.12755.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 18, 2011, at 12:02 PM, John Baldwin wrote:
> On Friday, July 15, 2011 6:07:31 pm Mark McConnell wrote:
>> Dear folks,
>>=20
>> I have two LSI raid cards, one of which (SCSI 320-I) supports=20
>> 64-bit DMA when 4GB+ of DDR is present and another which=20
>> does not (SATA 150-D) .  Consquently I've disabled 64-bit=20
>> addressing for amr devices.
>>=20
>> I would like to disable 64-bit addressing for the SATA card, but=20
>> permit it for the SCSI card.  Is this possible?
>=20
> You'd have to hack the driver perhaps to only disable 64-bit DMA for =
certain=20
> PCI IDs.  It probably already does this?
>=20

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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?797CACDE-729E-4F3A-AEFF-531C00C2B83A>