disable 64-bit dma for one PCI slot only?
Scott Long
scottl at samsco.org
Mon Jul 18 21:22:36 UTC 2011
On Jul 18, 2011, at 3:14 PM, John Baldwin wrote:
> On Monday, July 18, 2011 5:06:40 pm Scott Long wrote:
>> 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,
>>>>
>>>> I have two LSI raid cards, one of which (SCSI 320-I) supports
>>>> 64-bit DMA when 4GB+ of DDR is present and another which
>>>> does not (SATA 150-D) . Consquently I've disabled 64-bit
>>>> addressing for amr devices.
>>>>
>>>> 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?
>
> Oh, yeah. I hate that too. Would you want them as 4 separate entities or to
> just rename the labels to 'devid' and 'subdevid'?
>
If we're going to change it, might as well break it down into 4 fields. Maybe we retain the old format under a legacy switch and/or env variable for users that have tools that parse the output (cough yahoo cough).
Scott
More information about the freebsd-stable
mailing list