[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090325115514Q.fujita.tomonori@lab.ntt.co.jp>
Date: Wed, 25 Mar 2009 11:58:27 +0900
From: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>
To: beckyb@...nel.crashing.org
Cc: linux-kernel@...r.kernel.org, mingo@...e.hu,
fujita.tomonori@....ntt.co.jp, ian.campbell@...rix.com,
jeremy@...p.org
Subject: Re: [PATCH 5/5] swiotlb: Allow arch override of
address_needs_mapping
On Tue, 24 Mar 2009 16:28:46 -0500
Becky Bruce <beckyb@...nel.crashing.org> wrote:
> Some architectures require additional checking to determine
> if a device can dma to an address and need to provide their
> own address_needs_mapping..
>
> Signed-off-by: Becky Bruce <beckyb@...nel.crashing.org>
> ---
> lib/swiotlb.c | 10 ++++++++--
> 1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/lib/swiotlb.c b/lib/swiotlb.c
> index b33180e..f365735 100644
> --- a/lib/swiotlb.c
> +++ b/lib/swiotlb.c
> @@ -145,6 +145,12 @@ void __weak *swiotlb_bus_to_virt(struct device *hwdev, dma_addr_t address)
> return phys_to_virt(swiotlb_bus_to_phys(hwdev, address));
> }
>
> +int __weak swiotlb_arch_address_needs_mapping(struct device *hwdev,
> + dma_addr_t addr, size_t size)
> +{
> + return !is_buffer_dma_capable(dma_get_mask(hwdev), addr, size);
> +}
> +
> int __weak swiotlb_arch_range_needs_mapping(phys_addr_t paddr, size_t size)
> {
> return 0;
> @@ -309,10 +315,10 @@ cleanup1:
> return -ENOMEM;
> }
>
> -static int
> +static inline int
> address_needs_mapping(struct device *hwdev, dma_addr_t addr, size_t size)
> {
> - return !is_buffer_dma_capable(dma_get_mask(hwdev), addr, size);
> + return swiotlb_arch_address_needs_mapping(hwdev, addr, size);
> }
>
> static inline int range_needs_mapping(phys_addr_t paddr, size_t size)
Looks fine to me. Though I guess that we could clean up
swiotlb_arch_range_needs_mapping and
swiotlb_arch_address_needs_mapping a bit (at least, the names are
confusing).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists