Quoting Christian KÃnig (2018-01-02 12:13:58)
TTM tries to allocate coherent memory in chunks of 2MB first to improveThis keeps the warning for dma_map_sg(), so seems quite ineffective.
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.koenig@xxxxxxx>
Reported-by: Mike Galbraith <efault@xxxxxx>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=104082
CC: stable@xxxxxxxxxxxxxxx
---
@@ -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);
if (map == SWIOTLB_MAP_ERROR) {And counter to the suggestion here?
/* Don't panic here, we expect map_sg users
to do proper error handling. */
-Chris