lkml.org 
[lkml]   [2009]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 08/15] powerpc: add dma_capable() to replace is_buffer_dma_capable()
    Date
    dma_capable() eventually replaces is_buffer_dma_capable(), which tells
    if a memory area is dma-capable or not. The problem of
    is_buffer_dma_capable() is that it doesn't take a pointer to struct
    device so it doesn't work for POWERPC.

    Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    ---
    arch/powerpc/include/asm/dma-mapping.h | 13 +++++++++++++
    1 files changed, 13 insertions(+), 0 deletions(-)

    diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h
    index b44aaab..6ff1f85 100644
    --- a/arch/powerpc/include/asm/dma-mapping.h
    +++ b/arch/powerpc/include/asm/dma-mapping.h
    @@ -424,6 +424,19 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
    #endif
    }

    +static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size)
    +{
    + struct dma_mapping_ops *ops = get_dma_ops(dev);
    +
    + if (ops->addr_needs_map && ops->addr_needs_map(dev, addr, size))
    + return 0;
    +
    + if (!dev->dma_mask)
    + return 0;
    +
    + return addr + size <= *dev->dma_mask;
    +}
    +
    #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
    #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
    #ifdef CONFIG_NOT_COHERENT_CACHE
    --
    1.6.0.6


    \
     
     \ /
      Last update: 2009-07-10 03:15    [W:0.028 / U:30.860 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site