Re: [PATCH RFC] x86: Fix 64-bit DMA masks on VIA

From: Jesse Barnes
Date: Mon Apr 28 2008 - 13:04:50 EST


On Monday, April 28, 2008 9:53 am Ingo Molnar wrote:
> * Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> > > > > This untested patch is supposed to fix DMAing on some VIA
> > > > > boards. Currently the DMA subsystem returns an error, if the
> > > > > driver does tell that it supports a 64bit DMA mask. So the
> > > > > driver probing would fail in that case.
> > > >
> > > > The driver is broken then. It is supposed to retry with a small
> > > > mask on an error. Please fix the driver.
> > >
> > > I already added a workaround to the driver. Why do we need to
> > > workaround this in _every_ driver? (Note that _every_ driver
> > > supporting a 64bit mask is affected). Why not fix it in the DMA
> > > layer?
> >
> > Some hardware wants to know it can get a given DMA mask or failure. I
> > agree however that a "pci_prefer_64bit_dma(pdev)" function would be a
> > good patch for someone to submit tot he PCI layer code.
>
> yes, and i suspect Michael is correct in suggesting that the majority of
> drivers would use that interface and would let the PCI layer handle the
> probing/fallback details. (Jesse Cc:-ed)

With an implied fallback to 32 bits? Michael's right (at least I think
Michael's the one being quoted there) that "try 64 then fallback to 32 on
error" is a pretty common sight, so having a hint that says you'd like 64 but
don't really care would be a win for drivers.

Michael, want to hack something up?

Thanks,
Jesse


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/