From a9258a5c3bf32b510a79b11901f825b3c74cceec Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Mon, 17 Dec 2007 17:35:53 +1100 Subject: [PATCH] --- yaml --- r: 81101 b: refs/heads/master c: 84631f37cc405dd6dcd566f9fa4e8a3ca2f03f76 h: refs/heads/master i: 81099: 74b5057216ce68c1e505b3110e2a2dc0b9f1b505 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/kernel/pci_64.c | 16 ++++++++++++++++ trunk/include/asm-powerpc/dma-mapping.h | 3 +++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 398a1325072d..0da56431d1a2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 53024fe250a0f044b114844a01456902bce40ade +refs/heads/master: 84631f37cc405dd6dcd566f9fa4e8a3ca2f03f76 diff --git a/trunk/arch/powerpc/kernel/pci_64.c b/trunk/arch/powerpc/kernel/pci_64.c index bf06926f677d..f5c4628698b9 100644 --- a/trunk/arch/powerpc/kernel/pci_64.c +++ b/trunk/arch/powerpc/kernel/pci_64.c @@ -69,6 +69,22 @@ struct dma_mapping_ops *get_pci_dma_ops(void) } EXPORT_SYMBOL(get_pci_dma_ops); + +int pci_set_dma_mask(struct pci_dev *dev, u64 mask) +{ + return dma_set_mask(&dev->dev, mask); +} + +int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) +{ + int rc; + + rc = dma_set_mask(&dev->dev, mask); + dev->dev.coherent_dma_mask = dev->dma_mask; + + return rc; +} + static void fixup_broken_pcnet32(struct pci_dev* dev) { if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) { diff --git a/trunk/include/asm-powerpc/dma-mapping.h b/trunk/include/asm-powerpc/dma-mapping.h index ff52013c0e2d..e974876e18d2 100644 --- a/trunk/include/asm-powerpc/dma-mapping.h +++ b/trunk/include/asm-powerpc/dma-mapping.h @@ -87,6 +87,9 @@ static inline int dma_supported(struct device *dev, u64 mask) return dma_ops->dma_supported(dev, mask); } +/* We have our own implementation of pci_set_dma_mask() */ +#define HAVE_ARCH_PCI_SET_DMA_MASK + static inline int dma_set_mask(struct device *dev, u64 dma_mask) { struct dma_mapping_ops *dma_ops = get_dma_ops(dev);