add map/unmap_single_attr and map/unmap_sg_attr to struct dma_mapping_ops
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Mon, 5 Jan 2009 14:36:06 +0000 (23:36 +0900)
committerIngo Molnar <mingo@elte.hu>
Tue, 6 Jan 2009 13:06:47 +0000 (14:06 +0100)
This adds map/unmap_single_attr and map/unmap_sg_attr to struct
dma_mapping_ops. This enables us to move the dma operations in struct
ia64_machine_vector to struct dma_mapping_ops.

Note that we will remove map/unmap_sg and map/umap_single.

This is a preparation of struct dma_mapping_ops unification.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/ia64/include/asm/dma-mapping.h

index bbab7e2..eeb2aa3 100644 (file)
@@ -20,6 +20,13 @@ struct dma_mapping_ops {
                                size_t size, int direction);
        void            (*unmap_single)(struct device *dev, dma_addr_t addr,
                                size_t size, int direction);
+       dma_addr_t      (*map_single_attrs)(struct device *dev, void *cpu_addr,
+                                           size_t size, int direction,
+                                           struct dma_attrs *attrs);
+       void            (*unmap_single_attrs)(struct device *dev,
+                                             dma_addr_t dma_addr,
+                                             size_t size, int direction,
+                                             struct dma_attrs *attrs);
        void            (*sync_single_for_cpu)(struct device *hwdev,
                                dma_addr_t dma_handle, size_t size,
                                int direction);
@@ -43,6 +50,13 @@ struct dma_mapping_ops {
        void            (*unmap_sg)(struct device *hwdev,
                                struct scatterlist *sg, int nents,
                                int direction);
+       int             (*map_sg_attrs)(struct device *dev,
+                                       struct scatterlist *sg, int nents,
+                                       int direction, struct dma_attrs *attrs);
+       void            (*unmap_sg_attrs)(struct device *dev,
+                                         struct scatterlist *sg, int nents,
+                                         int direction,
+                                         struct dma_attrs *attrs);
        int             (*dma_supported_op)(struct device *hwdev, u64 mask);
        int             is_phys;
 };