]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 14 Jul 2019 06:09:40 +0000 (08:09 +0200)
[ Upstream commit bde15555ba61c7f664f40fd3c6fdbdb63f784c9b ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c

index a3357ff7540d21a9e5ebb68def7027ffaf60866c..97adee1f057554370a8c2837b0f8c9f983912a45 100644 (file)
@@ -454,11 +454,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;