]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amdgpu: Clear VRAM for DRM dumb_create buffers
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Fri, 8 Mar 2019 15:38:16 +0000 (10:38 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 19 Mar 2019 20:36:57 +0000 (15:36 -0500)
The dumb_create API isn't intended for high performance rendering
and it's more useful for userspace (ie. IGT) to have them precleared.

The bonus here is that we also won't needlessly leak whatever was
previously in VRAM, but it also probably wasn't sensitive if it was
going through this API.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c

index fcaaac30e84ba8b44c58394598a29e499d31c1eb..a58072bbc9b862c615212a8c5ee90bd57ce8108b 100644 (file)
@@ -743,7 +743,8 @@ int amdgpu_mode_dumb_create(struct drm_file *file_priv,
        domain = amdgpu_bo_get_preferred_pin_domain(adev,
                                amdgpu_display_supported_domains(adev));
        r = amdgpu_gem_object_create(adev, args->size, 0, domain,
-                                    AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
+                                    AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
+                                    AMDGPU_GEM_CREATE_VRAM_CLEARED,
                                     ttm_bo_type_device, NULL, &gobj);
        if (r)
                return -ENOMEM;