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