disable 64-bit dma for one PCI slot only?
Mark McConnell
markmc at dataabstractsolutions.com
Mon Jul 25 16:50:01 UTC 2011
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
--
More information about the freebsd-stable
mailing list