Commit 3cc39bda authored by Muli Ben-Yehuda's avatar Muli Ben-Yehuda Committed by Linus Torvalds

x86_64: Calgary - fold in redundant functions

After the bitmap changes we can get rid of the unlocked versions of
calgary_unmap_sg and iommu_free. Fold __calgary_unmap_sg and
__iommu_free into their calgary_unmap_sg and iommu_free, respectively.
Signed-off-by: default avatarMuli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 0b11e1c6
...@@ -321,7 +321,7 @@ static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *vaddr, ...@@ -321,7 +321,7 @@ static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *vaddr,
return bad_dma_address; return bad_dma_address;
} }
static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
unsigned int npages) unsigned int npages)
{ {
unsigned long entry; unsigned long entry;
...@@ -359,12 +359,6 @@ static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, ...@@ -359,12 +359,6 @@ static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
spin_unlock_irqrestore(&tbl->it_lock, flags); spin_unlock_irqrestore(&tbl->it_lock, flags);
} }
static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
unsigned int npages)
{
__iommu_free(tbl, dma_addr, npages);
}
static inline struct iommu_table *find_iommu_table(struct device *dev) static inline struct iommu_table *find_iommu_table(struct device *dev)
{ {
struct pci_dev *pdev; struct pci_dev *pdev;
...@@ -387,9 +381,14 @@ static inline struct iommu_table *find_iommu_table(struct device *dev) ...@@ -387,9 +381,14 @@ static inline struct iommu_table *find_iommu_table(struct device *dev)
return tbl; return tbl;
} }
static void __calgary_unmap_sg(struct iommu_table *tbl, static void calgary_unmap_sg(struct device *dev,
struct scatterlist *sglist, int nelems, int direction) struct scatterlist *sglist, int nelems, int direction)
{ {
struct iommu_table *tbl = find_iommu_table(dev);
if (!translate_phb(to_pci_dev(dev)))
return;
while (nelems--) { while (nelems--) {
unsigned int npages; unsigned int npages;
dma_addr_t dma = sglist->dma_address; dma_addr_t dma = sglist->dma_address;
...@@ -399,22 +398,11 @@ static void __calgary_unmap_sg(struct iommu_table *tbl, ...@@ -399,22 +398,11 @@ static void __calgary_unmap_sg(struct iommu_table *tbl,
break; break;
npages = num_dma_pages(dma, dmalen); npages = num_dma_pages(dma, dmalen);
__iommu_free(tbl, dma, npages); iommu_free(tbl, dma, npages);
sglist++; sglist++;
} }
} }
void calgary_unmap_sg(struct device *dev, struct scatterlist *sglist,
int nelems, int direction)
{
struct iommu_table *tbl = find_iommu_table(dev);
if (!translate_phb(to_pci_dev(dev)))
return;
__calgary_unmap_sg(tbl, sglist, nelems, direction);
}
static int calgary_nontranslate_map_sg(struct device* dev, static int calgary_nontranslate_map_sg(struct device* dev,
struct scatterlist *sg, int nelems, int direction) struct scatterlist *sg, int nelems, int direction)
{ {
...@@ -466,7 +454,7 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg, ...@@ -466,7 +454,7 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg,
return nelems; return nelems;
error: error:
__calgary_unmap_sg(tbl, sg, nelems, direction); calgary_unmap_sg(dev, sg, nelems, direction);
for (i = 0; i < nelems; i++) { for (i = 0; i < nelems; i++) {
sg[i].dma_address = bad_dma_address; sg[i].dma_address = bad_dma_address;
sg[i].dma_length = 0; sg[i].dma_length = 0;
......
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