Am 02.01.2018 um 16:39 schrieb Chris Wilson:
Quoting Christian König (2018-01-02 12:13:58)
TTM tries to allocate coherent memory in chunks of 2MB first to improve
TLB efficiency and falls back to allocating 4K pages if that fails.

Suppress the warning when the 2MB allocations fails since there is a
valid fall back path.

v2: suppress warnings from swiotlb_tbl_map_single as well

Signed-off-by: Christian König <christian.koe...@amd.com>
Reported-by: Mike Galbraith <efa...@gmx.de>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=104082
CC: sta...@vger.kernel.org
---
@@ -989,7 +1002,8 @@ swiotlb_map_sg_attrs(struct device *hwdev, struct 
scatterlist *sgl, int nelems,
                 if (swiotlb_force == SWIOTLB_FORCE ||
                     !dma_capable(hwdev, dev_addr, sg->length)) {
                         phys_addr_t map = map_single(hwdev, sg_phys(sg),
-                                                    sg->length, dir, attrs);
+                                                    sg->length, dir, attrs,
+                                                    true);
This keeps the warning for dma_map_sg(), so seems quite ineffective.

That is the desired result, dma_map_sg() should still print the warning.

We only want to disable it for swiotlb_alloc_coherent().

Regards,
Christian.


                         if (map == SWIOTLB_MAP_ERROR) {
                                 /* Don't panic here, we expect map_sg users
                                    to do proper error handling. */
And counter to the suggestion here?

We don't use swiotlb_map_sg_attrs() in TTM, so that is irrelevant for my use case and I can't test any change regarding it.

Regards,
Christian.

-Chris

Reply via email to