2007-01-31 12:41:11

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH] x86-64: define dma noncoherent API functions


x86-64 is missing these:

Signed-off-by: Jeff Garzik <[email protected]>

diff --git a/include/asm-x86_64/dma-mapping.h b/include/asm-x86_64/dma-mapping.h
index be9ec68..49dbab0 100644
--- a/include/asm-x86_64/dma-mapping.h
+++ b/include/asm-x86_64/dma-mapping.h
@@ -63,6 +63,9 @@ static inline int dma_mapping_error(dma_addr_t dma_addr)
return (dma_addr == bad_dma_address);
}

+#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)
+
extern void *dma_alloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t gfp);
extern void dma_free_coherent(struct device *dev, size_t size, void *vaddr,


2007-01-31 22:07:29

by Russell King

[permalink] [raw]
Subject: Re: [PATCH] x86-64: define dma noncoherent API functions

On Wed, Jan 31, 2007 at 07:41:07AM -0500, Jeff Garzik wrote:
> x86-64 is missing these:
>
> Signed-off-by: Jeff Garzik <[email protected]>
>
> diff --git a/include/asm-x86_64/dma-mapping.h b/include/asm-x86_64/dma-mapping.h
> index be9ec68..49dbab0 100644
> --- a/include/asm-x86_64/dma-mapping.h
> +++ b/include/asm-x86_64/dma-mapping.h
> @@ -63,6 +63,9 @@ static inline int dma_mapping_error(dma_addr_t dma_addr)
> return (dma_addr == bad_dma_address);
> }
>
> +#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)
> +

What are these, and why haven't they been discussed in such places as
linux-arch so that architecture maintainers can comment on them ?

Ditto for the recently added dma_sync_range_whatever functions ?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: