lkml.org 
[lkml]   [2008]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/10] x86: convert Calgary IOMMU driver to generic iommu_num_pages function
    Date
    Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
    ---
    arch/x86/kernel/pci-calgary_64.c | 18 ++++--------------
    1 files changed, 4 insertions(+), 14 deletions(-)

    diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c
    index b67a4b1..1fbba8a 100644
    --- a/arch/x86/kernel/pci-calgary_64.c
    +++ b/arch/x86/kernel/pci-calgary_64.c
    @@ -217,16 +217,6 @@ static inline unsigned long verify_bit_range(unsigned long* bitmap,

    #endif /* CONFIG_IOMMU_DEBUG */

    -static inline unsigned int num_dma_pages(unsigned long dma, unsigned int dmalen)
    -{
    - unsigned int npages;
    -
    - npages = PAGE_ALIGN(dma + dmalen) - (dma & PAGE_MASK);
    - npages >>= PAGE_SHIFT;
    -
    - return npages;
    -}
    -
    static inline int translation_enabled(struct iommu_table *tbl)
    {
    /* only PHBs with translation enabled have an IOMMU table */
    @@ -409,7 +399,7 @@ static void calgary_unmap_sg(struct device *dev,
    if (dmalen == 0)
    break;

    - npages = num_dma_pages(dma, dmalen);
    + npages = iommu_num_pages(dma, dmalen, PAGE_SIZE);
    iommu_free(tbl, dma, npages);
    }
    }
    @@ -428,7 +418,7 @@ static int calgary_map_sg(struct device *dev, struct scatterlist *sg,
    BUG_ON(!sg_page(s));

    vaddr = (unsigned long) sg_virt(s);
    - npages = num_dma_pages(vaddr, s->length);
    + npages = iommu_num_pages(vaddr, s->length, PAGE_SIZE);

    entry = iommu_range_alloc(dev, tbl, npages);
    if (entry == bad_dma_address) {
    @@ -465,7 +455,7 @@ static dma_addr_t calgary_map_single(struct device *dev, phys_addr_t paddr,
    struct iommu_table *tbl = find_iommu_table(dev);

    uaddr = (unsigned long)vaddr;
    - npages = num_dma_pages(uaddr, size);
    + npages = iommu_num_pages(uaddr, size, PAGE_SIZE);

    return iommu_alloc(dev, tbl, vaddr, npages, direction);
    }
    @@ -476,7 +466,7 @@ static void calgary_unmap_single(struct device *dev, dma_addr_t dma_handle,
    struct iommu_table *tbl = find_iommu_table(dev);
    unsigned int npages;

    - npages = num_dma_pages(dma_handle, size);
    + npages = iommu_num_pages(dma_handle, size, PAGE_SIZE);
    iommu_free(tbl, dma_handle, npages);
    }

    --
    1.5.3.7



    \
     
     \ /
      Last update: 2008-08-04 18:09    [W:0.024 / U:32.652 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site