lkml.org 
[lkml]   [2008]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/20] x86: move dma_ops struct definition to dma-mapping.h
    Date
    take it off the x86_64 specific header

    Signed-off-by: Glauber Costa <gcosta@redhat.com>
    ---
    include/asm-x86/dma-mapping.h | 54 ++++++++++++++++++++++++++++++++++++++
    include/asm-x86/dma-mapping_64.h | 49 ----------------------------------
    2 files changed, 54 insertions(+), 49 deletions(-)

    diff --git a/include/asm-x86/dma-mapping.h b/include/asm-x86/dma-mapping.h
    index 58f790f..aebd178 100644
    --- a/include/asm-x86/dma-mapping.h
    +++ b/include/asm-x86/dma-mapping.h
    @@ -1,5 +1,59 @@
    +#ifndef _ASM_DMA_MAPPING_H_
    +#define _ASM_DMA_MAPPING_H_
    +
    +/*
    + * IOMMU interface. See Documentation/DMA-mapping.txt and DMA-API.txt for
    + * documentation.
    + */
    +
    +#include <linux/scatterlist.h>
    +#include <asm/io.h>
    +#include <asm/swiotlb.h>
    +
    +struct dma_mapping_ops {
    + int (*mapping_error)(dma_addr_t dma_addr);
    + void* (*alloc_coherent)(struct device *dev, size_t size,
    + dma_addr_t *dma_handle, gfp_t gfp);
    + void (*free_coherent)(struct device *dev, size_t size,
    + void *vaddr, dma_addr_t dma_handle);
    + dma_addr_t (*map_single)(struct device *hwdev, void *ptr,
    + size_t size, int direction);
    + /* like map_single, but doesn't check the device mask */
    + dma_addr_t (*map_simple)(struct device *hwdev, char *ptr,
    + size_t size, int direction);
    + void (*unmap_single)(struct device *dev, dma_addr_t addr,
    + size_t size, int direction);
    + void (*sync_single_for_cpu)(struct device *hwdev,
    + dma_addr_t dma_handle, size_t size,
    + int direction);
    + void (*sync_single_for_device)(struct device *hwdev,
    + dma_addr_t dma_handle, size_t size,
    + int direction);
    + void (*sync_single_range_for_cpu)(struct device *hwdev,
    + dma_addr_t dma_handle, unsigned long offset,
    + size_t size, int direction);
    + void (*sync_single_range_for_device)(struct device *hwdev,
    + dma_addr_t dma_handle, unsigned long offset,
    + size_t size, int direction);
    + void (*sync_sg_for_cpu)(struct device *hwdev,
    + struct scatterlist *sg, int nelems,
    + int direction);
    + void (*sync_sg_for_device)(struct device *hwdev,
    + struct scatterlist *sg, int nelems,
    + int direction);
    + int (*map_sg)(struct device *hwdev, struct scatterlist *sg,
    + int nents, int direction);
    + void (*unmap_sg)(struct device *hwdev,
    + struct scatterlist *sg, int nents,
    + int direction);
    + int (*dma_supported)(struct device *hwdev, u64 mask);
    + int is_phys;
    +};
    +
    #ifdef CONFIG_X86_32
    # include "dma-mapping_32.h"
    #else
    # include "dma-mapping_64.h"
    #endif
    +
    +#endif
    diff --git a/include/asm-x86/dma-mapping_64.h b/include/asm-x86/dma-mapping_64.h
    index ecd0f61..369188a 100644
    --- a/include/asm-x86/dma-mapping_64.h
    +++ b/include/asm-x86/dma-mapping_64.h
    @@ -1,55 +1,6 @@
    #ifndef _X8664_DMA_MAPPING_H
    #define _X8664_DMA_MAPPING_H 1

    -/*
    - * IOMMU interface. See Documentation/DMA-mapping.txt and DMA-API.txt for
    - * documentation.
    - */
    -
    -#include <linux/scatterlist.h>
    -#include <asm/io.h>
    -#include <asm/swiotlb.h>
    -
    -struct dma_mapping_ops {
    - int (*mapping_error)(dma_addr_t dma_addr);
    - void* (*alloc_coherent)(struct device *dev, size_t size,
    - dma_addr_t *dma_handle, gfp_t gfp);
    - void (*free_coherent)(struct device *dev, size_t size,
    - void *vaddr, dma_addr_t dma_handle);
    - dma_addr_t (*map_single)(struct device *hwdev, void *ptr,
    - size_t size, int direction);
    - /* like map_single, but doesn't check the device mask */
    - dma_addr_t (*map_simple)(struct device *hwdev, char *ptr,
    - size_t size, int direction);
    - void (*unmap_single)(struct device *dev, dma_addr_t addr,
    - size_t size, int direction);
    - void (*sync_single_for_cpu)(struct device *hwdev,
    - dma_addr_t dma_handle, size_t size,
    - int direction);
    - void (*sync_single_for_device)(struct device *hwdev,
    - dma_addr_t dma_handle, size_t size,
    - int direction);
    - void (*sync_single_range_for_cpu)(struct device *hwdev,
    - dma_addr_t dma_handle, unsigned long offset,
    - size_t size, int direction);
    - void (*sync_single_range_for_device)(struct device *hwdev,
    - dma_addr_t dma_handle, unsigned long offset,
    - size_t size, int direction);
    - void (*sync_sg_for_cpu)(struct device *hwdev,
    - struct scatterlist *sg, int nelems,
    - int direction);
    - void (*sync_sg_for_device)(struct device *hwdev,
    - struct scatterlist *sg, int nelems,
    - int direction);
    - int (*map_sg)(struct device *hwdev, struct scatterlist *sg,
    - int nents, int direction);
    - void (*unmap_sg)(struct device *hwdev,
    - struct scatterlist *sg, int nents,
    - int direction);
    - int (*dma_supported)(struct device *hwdev, u64 mask);
    - int is_phys;
    -};
    -
    extern dma_addr_t bad_dma_address;
    extern const struct dma_mapping_ops* dma_ops;
    extern int iommu_merge;
    --
    1.5.0.6


    \
     
     \ /
      Last update: 2008-03-25 22:41    [W:0.029 / U:29.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site