Commit a20388be authored by Christoph Hellwig's avatar Christoph Hellwig

alpha: remove the mapping_error dma_map_ops method

Return DMA_MAPPING_ERROR instead of 0 on a dma mapping failure and let
the core dma-mapping code handle the rest.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 52f0b3ee
...@@ -291,7 +291,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size, ...@@ -291,7 +291,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
use direct_map above, it now must be considered an error. */ use direct_map above, it now must be considered an error. */
if (! alpha_mv.mv_pci_tbi) { if (! alpha_mv.mv_pci_tbi) {
printk_once(KERN_WARNING "pci_map_single: no HW sg\n"); printk_once(KERN_WARNING "pci_map_single: no HW sg\n");
return 0; return DMA_MAPPING_ERROR;
} }
arena = hose->sg_pci; arena = hose->sg_pci;
...@@ -307,7 +307,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size, ...@@ -307,7 +307,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size,
if (dma_ofs < 0) { if (dma_ofs < 0) {
printk(KERN_WARNING "pci_map_single failed: " printk(KERN_WARNING "pci_map_single failed: "
"could not allocate dma page tables\n"); "could not allocate dma page tables\n");
return 0; return DMA_MAPPING_ERROR;
} }
paddr &= PAGE_MASK; paddr &= PAGE_MASK;
...@@ -455,7 +455,7 @@ static void *alpha_pci_alloc_coherent(struct device *dev, size_t size, ...@@ -455,7 +455,7 @@ static void *alpha_pci_alloc_coherent(struct device *dev, size_t size,
memset(cpu_addr, 0, size); memset(cpu_addr, 0, size);
*dma_addrp = pci_map_single_1(pdev, cpu_addr, size, 0); *dma_addrp = pci_map_single_1(pdev, cpu_addr, size, 0);
if (*dma_addrp == 0) { if (*dma_addrp == DMA_MAPPING_ERROR) {
free_pages((unsigned long)cpu_addr, order); free_pages((unsigned long)cpu_addr, order);
if (alpha_mv.mv_pci_tbi || (gfp & GFP_DMA)) if (alpha_mv.mv_pci_tbi || (gfp & GFP_DMA))
return NULL; return NULL;
...@@ -671,7 +671,7 @@ static int alpha_pci_map_sg(struct device *dev, struct scatterlist *sg, ...@@ -671,7 +671,7 @@ static int alpha_pci_map_sg(struct device *dev, struct scatterlist *sg,
sg->dma_address sg->dma_address
= pci_map_single_1(pdev, SG_ENT_VIRT_ADDRESS(sg), = pci_map_single_1(pdev, SG_ENT_VIRT_ADDRESS(sg),
sg->length, dac_allowed); sg->length, dac_allowed);
return sg->dma_address != 0; return sg->dma_address != DMA_MAPPING_ERROR;
} }
start = sg; start = sg;
...@@ -935,11 +935,6 @@ iommu_unbind(struct pci_iommu_arena *arena, long pg_start, long pg_count) ...@@ -935,11 +935,6 @@ iommu_unbind(struct pci_iommu_arena *arena, long pg_start, long pg_count)
return 0; return 0;
} }
static int alpha_pci_mapping_error(struct device *dev, dma_addr_t dma_addr)
{
return dma_addr == 0;
}
const struct dma_map_ops alpha_pci_ops = { const struct dma_map_ops alpha_pci_ops = {
.alloc = alpha_pci_alloc_coherent, .alloc = alpha_pci_alloc_coherent,
.free = alpha_pci_free_coherent, .free = alpha_pci_free_coherent,
...@@ -947,7 +942,6 @@ const struct dma_map_ops alpha_pci_ops = { ...@@ -947,7 +942,6 @@ const struct dma_map_ops alpha_pci_ops = {
.unmap_page = alpha_pci_unmap_page, .unmap_page = alpha_pci_unmap_page,
.map_sg = alpha_pci_map_sg, .map_sg = alpha_pci_map_sg,
.unmap_sg = alpha_pci_unmap_sg, .unmap_sg = alpha_pci_unmap_sg,
.mapping_error = alpha_pci_mapping_error,
.dma_supported = alpha_pci_supported, .dma_supported = alpha_pci_supported,
}; };
EXPORT_SYMBOL(alpha_pci_ops); EXPORT_SYMBOL(alpha_pci_ops);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment