drm/vram-helper: Reuse existing page mappings in vmap
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 18 Jan 2021 14:46:39 +0000 (15:46 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 19 Jan 2021 14:37:14 +0000 (15:37 +0100)
commitabbc4d6ecd07fa246fd597b5d8fced28f0bcc606
tree46789b651e3099d7be430738fbd231266eda9056
parent43b67309b6b2a3c08396cc9b3f83f21aa529d273
drm/vram-helper: Reuse existing page mappings in vmap

For performance, BO page mappings can stay in place even if the
map counter has returned to 0. In these cases, the existing page
mapping has to be reused by the next vmap operation. Otherwise
a new mapping would be installed and the old mapping's pages leak.

Fix the issue by reusing existing page mappings for vmap operations.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 1086db71a1db ("drm/vram-helper: Remove invariant parameters from internal kmap function")
Acked-by: Christian König <christian.koenig@amd.com>
Tested-by: Eli Cohen <elic@nvidia.com>
Reported-by: Eli Cohen <elic@nvidia.com>
Reported-by: kernel test robot <oliver.sang@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Link: https://patchwork.freedesktop.org/patch/msgid/20210118144639.27307-1-tzimmermann@suse.de
drivers/gpu/drm/drm_gem_vram_helper.c