Re: [PATCH 1/8] add map_page and unmap_page to struct dma_mapping_ops

From: Joerg Roedel
Date: Mon Jan 05 2009 - 12:26:20 EST


On Mon, Jan 05, 2009 at 11:47:21PM +0900, FUJITA Tomonori wrote:
> This patch adds map_page and unmap_page to struct dma_mapping_ops.
>
> This is a preparation of struct dma_mapping_ops unification. We use
> map_page and unmap_page instead of map_single and unmap_single.
>
> We will remove map_single and unmap_single hooks in the last patch in
> this patchset.
>
> Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/dma-mapping.h | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
> index e93265c..2f89d2e 100644
> --- a/arch/x86/include/asm/dma-mapping.h
> +++ b/arch/x86/include/asm/dma-mapping.h
> @@ -8,6 +8,7 @@
>
> #include <linux/kmemcheck.h>
> #include <linux/scatterlist.h>
> +#include <linux/dma-attrs.h>
> #include <asm/io.h>
> #include <asm/swiotlb.h>
> #include <asm-generic/dma-coherent.h>
> @@ -51,6 +52,13 @@ struct dma_mapping_ops {
> void (*unmap_sg)(struct device *hwdev,
> struct scatterlist *sg, int nents,
> int direction);
> + dma_addr_t (*map_page)(struct device *dev, struct page *page,
> + unsigned long offset, size_t size,
> + enum dma_data_direction dir,
> + struct dma_attrs *attrs);
> + void (*unmap_page)(struct device *dev, dma_addr_t dma_handle,
> + size_t size, enum dma_data_direction dir,
> + struct dma_attrs *attrs);

Why do we need an offset into the page? The name suggests that this
function maps a whole page so the offset should be irrelevant.

Joerg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/