Displaying 8 results from an estimated 8 matches for "dma_attr_no_warn".
2018 May 10
4
kernel spew from nouveau/ swiotlb
...is full (sz: 2097152 bytes)
homer:/novell/ssh # dmesg|grep 'swiotlb buffer is full'|wc -l
2052
homer:/novell/ssh # dmesg|grep 'callbacks suppressed'|wc -l
171
lib/swiotlb.c:
573 not_found:
574 spin_unlock_irqrestore(&io_tlb_lock, flags);
575 if (!(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit())
576 dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size);
Does nouveau perhaps want one of those DMA_ATTR_NO_WARN thingies?
-Mike
2018 May 11
0
[patch] swiotlb: fix ignored DMA_ATTR_NO_WARN request
In the trace below, swiotlb_alloc() is called with __GFP_NOWARN, it ors
attrs with DMA_ATTR_NO_WARN and passes it to swiotlb_alloc_buffer(),
which does NOT pass it on to swiotlb_tbl_map_single(), leading to an
ever repeating warning that the caller of swiotlb_alloc() explicitly
asked to be squelched. Pass the caller's request for silence onward.
Xorg-3170 [006] .... 963.866098: swiotlb_...
2018 May 11
2
kernel spew from nouveau/ swiotlb
...s full'|wc -l
> > 2052
> > homer:/novell/ssh # dmesg|grep 'callbacks suppressed'|wc -l
> > 171
> >
> > lib/swiotlb.c:
> > 573 not_found:
> > 574 spin_unlock_irqrestore(&io_tlb_lock, flags);
> > 575 if (!(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit())
> > 576 dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size);
> >
> > Does nouveau perhaps want one of those DMA_ATTR_NO_WARN thingies?
>
> Or should ttm perhaps always use the one on hand? (seems to...
2018 May 10
0
kernel spew from nouveau/ swiotlb
...l/ssh # dmesg|grep 'swiotlb buffer is full'|wc -l
> 2052
> homer:/novell/ssh # dmesg|grep 'callbacks suppressed'|wc -l
> 171
>
> lib/swiotlb.c:
> 573 not_found:
> 574 spin_unlock_irqrestore(&io_tlb_lock, flags);
> 575 if (!(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit())
> 576 dev_warn(hwdev, "swiotlb buffer is full (sz: %zd bytes)\n", size);
>
> Does nouveau perhaps want one of those DMA_ATTR_NO_WARN thingies?
Or should ttm perhaps always use the one on hand? (seems to work)
---
drivers/gpu/d...
2018 May 10
0
kernel spew from nouveau/ swiotlb
...l/ssh # dmesg|grep 'swiotlb buffer is full'|wc -l
> 2052
> homer:/novell/ssh # dmesg|grep 'callbacks suppressed'|wc -l
> 171
>
> lib/swiotlb.c:
> 573 not_found:
> 574 spin_unlock_irqrestore(&io_tlb_lock, flags);
> 575 if (!(attrs & DMA_ATTR_NO_WARN) && printk_ratelimit())
> 576 dev_warn(hwdev, "swiotlb buffer is full (sz: %zd
> bytes)\n", size);
>
> Does nouveau perhaps want one of those DMA_ATTR_NO_WARN thingies?
>
Could you bisect ? I would love to point finger upstream to the DMA
folk w...
2018 May 10
1
kernel spew from nouveau/ swiotlb
......
nouveau_bo_new()
...
ttm_dma_pool_alloc_new_pages()
dma_alloc_attrs()
ops->alloc() == x86_swiotlb_alloc_coherent()
x86_swiotlb_alloc_coherent() flags |= __GFP_NOWARN;
swiotlb_alloc_coherent(..flags)
swiotlb_alloc_coherent(..flags) attrs = (flags & __GFP_NOWARN) ? DMA_ATTR_NO_WARN : 0;
swiotlb_alloc_buffer(..attr)
swiotlb_alloc_buffer(..0) <== hm, pass zero instead of attr?
swiotlb_tbl_map_single() gripeage
...that?
-Mike
2020 Aug 19
0
[PATCH 10/28] MIPS/jazzdma: decouple from dma-direct
...ma_get_enable(int channel)
static void *jazz_dma_alloc(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t gfp, unsigned long attrs)
{
+ struct page *page;
void *ret;
- ret = dma_direct_alloc_pages(dev, size, dma_handle, gfp, attrs);
- if (!ret)
- return NULL;
+ if (attrs & DMA_ATTR_NO_WARN)
+ gfp |= __GFP_NOWARN;
- *dma_handle = vdma_alloc(virt_to_phys(ret), size);
- if (*dma_handle == DMA_MAPPING_ERROR) {
- dma_direct_free_pages(dev, size, ret, *dma_handle, attrs);
+ size = PAGE_ALIGN(size);
+ page = alloc_pages(gfp, get_order(size));
+ if (!page)
return NULL;
- }
+ ret = pag...
2020 Aug 19
39
a saner API for allocating DMA addressable pages
Hi all,
this series replaced the DMA_ATTR_NON_CONSISTENT flag to dma_alloc_attrs
with a separate new dma_alloc_pages API, which is available on all
platforms. In addition to cleaning up the convoluted code path, this
ensures that other drivers that have asked for better support for
non-coherent DMA to pages with incurring bounce buffering over can finally
be properly supported.
I'm still a