Hello, On Fri, May 14, 2010 at 9:14 PM, Grant Grundler <grundler@xxxxxxxxxxxxxxxx> wrote: > On Fri, May 14, 2010 at 01:47:21PM +0200, Rolf Eike Beer wrote: > ... >> pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) >> pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)) > > I think this is reversed. The original problem was: > "my PCIe device supports 64-bit DMA for data, but only 32-bit > addresses for fetching descriptors from host memory." > > So you want: > pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)) > pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) > Yes, that's what I supposed. > However, ISTR that PCI-E spec *requires* 64-bit addressing support for > all DMA accesses. If I've got that correct, this device can not be > considered PCI-E compliant even if it works fine with linux. > Work in progress. In the meantime, we can progressively work towards that goal using the suggestions above. Thanks for the clarifications. I should have found out myself, it's just that DMA-mapping.txt and DMA-API.txt seem to partly overlap and partly complement eachother. Regards, -- Leon -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html