forked from Minki/linux
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: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0b11e1c6a6
commit
3cc39bda26
@ -321,7 +321,7 @@ error:
|
||||
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 long entry;
|
||||
@ -359,12 +359,6 @@ static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
|
||||
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)
|
||||
{
|
||||
struct pci_dev *pdev;
|
||||
@ -387,9 +381,14 @@ static inline struct iommu_table *find_iommu_table(struct device *dev)
|
||||
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 iommu_table *tbl = find_iommu_table(dev);
|
||||
|
||||
if (!translate_phb(to_pci_dev(dev)))
|
||||
return;
|
||||
|
||||
while (nelems--) {
|
||||
unsigned int npages;
|
||||
dma_addr_t dma = sglist->dma_address;
|
||||
@ -399,22 +398,11 @@ static void __calgary_unmap_sg(struct iommu_table *tbl,
|
||||
break;
|
||||
|
||||
npages = num_dma_pages(dma, dmalen);
|
||||
__iommu_free(tbl, dma, npages);
|
||||
iommu_free(tbl, dma, npages);
|
||||
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,
|
||||
struct scatterlist *sg, int nelems, int direction)
|
||||
{
|
||||
@ -466,7 +454,7 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg,
|
||||
|
||||
return nelems;
|
||||
error:
|
||||
__calgary_unmap_sg(tbl, sg, nelems, direction);
|
||||
calgary_unmap_sg(dev, sg, nelems, direction);
|
||||
for (i = 0; i < nelems; i++) {
|
||||
sg[i].dma_address = bad_dma_address;
|
||||
sg[i].dma_length = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user