drm/vmwgfx: Honor the sg list segment size limitation
authorThomas Hellstrom <thellstrom@vmware.com>
Tue, 4 Jun 2019 11:54:26 +0000 (13:54 +0200)
committerThomas Hellstrom <thellstrom@vmware.com>
Tue, 11 Jun 2019 15:00:23 +0000 (17:00 +0200)
When building sg tables, honor the device sg list segment size limitation.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c

index a6ea75b..d8ea3dd 100644 (file)
@@ -441,11 +441,11 @@ static int vmw_ttm_map_dma(struct vmw_ttm_tt *vmw_tt)
                if (unlikely(ret != 0))
                        return ret;
 
-               ret = sg_alloc_table_from_pages(&vmw_tt->sgt, vsgt->pages,
-                                               vsgt->num_pages, 0,
-                                               (unsigned long)
-                                               vsgt->num_pages << PAGE_SHIFT,
-                                               GFP_KERNEL);
+               ret = __sg_alloc_table_from_pages
+                       (&vmw_tt->sgt, vsgt->pages, vsgt->num_pages, 0,
+                        (unsigned long) vsgt->num_pages << PAGE_SHIFT,
+                        dma_get_max_seg_size(dev_priv->dev->dev),
+                        GFP_KERNEL);
                if (unlikely(ret != 0))
                        goto out_sg_alloc_fail;