linux_dsm_epyc7002/drivers/gpu/drm/vmwgfx
Maor Gottlieb 07da1223ec lib/scatterlist: Add support in dynamic allocation of SG table from pages
Extend __sg_alloc_table_from_pages to support dynamic allocation of
SG table from pages. It should be used by drivers that can't supply
all the pages at one time.

This function returns the last populated SGE in the table. Users should
pass it as an argument to the function from the second call and forward.
As before, nents will be equal to the number of populated SGEs (chunks).

With this new extension, drivers can benefit the optimization of merging
contiguous pages without a need to allocate all pages in advance and
hold them in a large buffer.

E.g. with the Infiniband driver that allocates a single page for hold the
pages. For 1TB memory registration, the temporary buffer would consume only
4KB, instead of 2GB.

Link: https://lore.kernel.org/r/20201004154340.1080481-2-leon@kernel.org
Signed-off-by: Maor Gottlieb <maorg@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-10-05 20:45:45 -03:00
..
device_include drm/vmwgfx: Sync virtual device headers for new feature 2020-03-23 22:39:34 +01:00
Kconfig
Makefile Merge branch 'ttm-transhuge' of git://people.freedesktop.org/~thomash/linux into drm-next 2020-04-03 09:07:49 +10:00
ttm_lock.c
ttm_lock.h
ttm_object.c
ttm_object.h
vmwgfx_binding.c drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_binding.h drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_blit.c drm: remove drm specific kmap_atomic code 2020-06-04 19:06:22 -07:00
vmwgfx_bo.c drm/vmwgfx: don't use ttm bo->offset 2020-06-26 14:00:41 +02:00
vmwgfx_cmdbuf_res.c drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add 2020-01-15 11:46:59 +01:00
vmwgfx_cmdbuf.c drm/vmwgfx: Fix the refuse_dma mode when using guest-backed objects 2020-03-12 12:00:07 +01:00
vmwgfx_context.c drm/vmwgfx: Add support for UA view commands 2020-03-23 22:39:34 +01:00
vmwgfx_cotable.c drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_drv.c drm/ttm: ttm_bo_swapout_all doesn't use it's argument. 2020-07-29 10:01:23 +10:00
vmwgfx_drv.h drm/vmwgfx: Fix parameter name in vmw_bo_init 2020-05-16 06:50:21 +02:00
vmwgfx_execbuf.c drm/vmwgfx: fix spelling mistake "Cound" -> "Could" 2020-08-11 03:16:03 +02:00
vmwgfx_fb.c
vmwgfx_fence.c drm/vmwgfx: Return true in function vmw_fence_obj_signaled() 2020-05-16 06:50:37 +02:00
vmwgfx_fence.h
vmwgfx_fifo.c drm/vmwgfx: don't use ttm bo->offset 2020-06-26 14:00:41 +02:00
vmwgfx_gmr.c
vmwgfx_gmrid_manager.c drm/vmwgfx: Fix error handling in get_node 2020-09-30 05:44:28 +02:00
vmwgfx_ioctl.c drm/vmwgfx: Add SM5 param for userspace 2020-03-23 22:48:57 +01:00
vmwgfx_irq.c
vmwgfx_kms.c drm/vmwgfx: fix spelling mistake "Cant" -> "Can't" 2020-08-11 03:16:03 +02:00
vmwgfx_kms.h
vmwgfx_ldu.c drm/vmwgfx/ldu: Use drm_mode_config_reset 2020-08-11 03:16:03 +02:00
vmwgfx_marker.c
vmwgfx_mob.c drm/vmwgfx: Use enum to represent graphics context capabilities 2020-03-23 22:39:34 +01:00
vmwgfx_msg.c drm/vmwgfx: add ioctl for messaging from/to guest userspace to/from host 2020-01-15 11:54:16 +01:00
vmwgfx_msg.h
vmwgfx_overlay.c drm/vmwgfx: Remove a few unused functions 2020-03-12 15:31:12 +01:00
vmwgfx_page_dirty.c drm/vmwgfx: Support huge page faults 2020-03-24 18:48:55 +01:00
vmwgfx_prime.c
vmwgfx_reg.h
vmwgfx_resource_priv.h
vmwgfx_resource.c
vmwgfx_scrn.c drm/vmwgfx/sou: Use drm_mode_config_reset 2020-08-11 03:16:02 +02:00
vmwgfx_shader.c
vmwgfx_simple_resource.c
vmwgfx_so.c drm/vmwgfx: Add support for UA view commands 2020-03-23 22:39:34 +01:00
vmwgfx_so.h drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_stdu.c drm/vmwgfx/stdu: Use drm_mode_config_reset 2020-08-11 03:16:02 +02:00
vmwgfx_streamoutput.c drm/vmwgfx: Add support for streamoutput with mob commands 2020-03-23 22:39:35 +01:00
vmwgfx_surface.c drm/vmwgfx: Use struct_size() helper 2020-08-11 03:16:02 +02:00
vmwgfx_thp.c drm/vmwgfx: Fix error handling in get_node 2020-09-30 05:44:28 +02:00
vmwgfx_ttm_buffer.c lib/scatterlist: Add support in dynamic allocation of SG table from pages 2020-10-05 20:45:45 -03:00
vmwgfx_ttm_glue.c drm/vmwgfx: Support huge page faults 2020-03-24 18:48:55 +01:00
vmwgfx_va.c
vmwgfx_validation.c
vmwgfx_validation.h