From: FUJITA Tomonori on
On Fri, 19 Mar 2010 11:04:21 -0400
Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com> wrote:

> We put the init, free, and functions dealing with the operations on the
> SWIOTLB buffer at the top of the header. Also we export some of the variables
> that are used by the dma_ops functions.
>
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com>
> ---
> include/linux/swiotlb.h | 33 +++++++++++++++++++++++++++++++++
> lib/swiotlb.c | 28 ++++++++++------------------
> 2 files changed, 43 insertions(+), 18 deletions(-)
>
> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> index febedcf..8550d6b 100644
> --- a/include/linux/swiotlb.h
> +++ b/include/linux/swiotlb.h
> @@ -24,6 +24,39 @@ extern int swiotlb_force;
>
> extern void swiotlb_init(int verbose);
>
> +/* Internal book-keeping functions. Must be linked against the library
> + * to take advantage of them.*/
> +#ifdef CONFIG_SWIOTLB
> +/*
> + * Enumeration for sync targets
> + */
> +enum dma_sync_target {
> + SYNC_FOR_CPU = 0,
> + SYNC_FOR_DEVICE = 1,
> +};
> +extern char *swiotlb_bk_start;
> +extern char *swiotlb_bk_end;
> +extern unsigned long swiotlb_bk_nslabs;

exporting swiotlb_bk_start and swiotlb_bk_nslabs aren't enough?


> +extern void *swiotlb_bk_overflow_buffer;
> +extern unsigned long swiotlb_bk_overflow;
> +extern int is_swiotlb_buffer(phys_addr_t paddr);
> +extern void *swiotlb_bk_map_single(struct device *hwdev, phys_addr_t phys,
> + unsigned long start_dma_addr, size_t size, int dir);

enum dma_data_direction is better for 'dir'.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
 | 
Pages: 1
Prev: Hello
Next: [PATCH] eeepc-wmi: include slab.h