[ Upstream commit bde15555ba61c7f664f40fd3c6fdbdb63f784c9b ]

When building sg tables, honor the device sg list segment size limitation.

Signed-off-by: Thomas Hellstrom <thellst...@vmware.com>
Reviewed-by: Deepak Rawat <dra...@vmware.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
index 31786b200afc..f388ad51e72b 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
@@ -448,11 +448,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;
 
-- 
2.20.1



Reply via email to