lkml.org 
[lkml]   [2008]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/3] swiotlb: use GFP_DMA32 instead of GFP_DMA in swiotlb_alloc_coherent
    On Thu, Sep 04, 2008 at 03:04:25AM +0900, FUJITA Tomonori wrote:
    > x86 sets up gfp flag propely so swiotlb_alloc_coherent doesn't need to
    > use GFP_DMA unconditionally. It leads to allocation failures in some
    > systems.
    >
    > Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
    > ---
    > lib/swiotlb.c | 7 +------
    > 1 files changed, 1 insertions(+), 6 deletions(-)
    >
    > diff --git a/lib/swiotlb.c b/lib/swiotlb.c
    > index 977edbd..b88d7c2 100644
    > --- a/lib/swiotlb.c
    > +++ b/lib/swiotlb.c
    > @@ -467,12 +467,7 @@ swiotlb_alloc_coherent(struct device *hwdev, size_t size,
    > void *ret;
    > int order = get_order(size);
    >
    > - /*
    > - * XXX fix me: the DMA API should pass us an explicit DMA mask
    > - * instead, or use ZONE_DMA32 (ia64 overloads ZONE_DMA to be a ~32
    > - * bit range instead of a 16MB one).
    > - */
    > - flags |= GFP_DMA;
    > + flags |= GFP_DMA32;

    No. This is exactly the place where the swiotlb iommu implementation
    should handle the dma_mask of the specific device. Unconditionally use
    DMA32 here is not the best possible handling.

    Joerg



    \
     
     \ /
      Last update: 2008-09-03 22:07    [W:0.020 / U:181.380 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site