Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cbabc8b3 authored by Pixel Ding's avatar Pixel Ding Committed by Alex Deucher
Browse files

drm/amdgpu: clean framebuffer with GPU



CPU is not efficient to clean framebuffer especially under
virtualization, then loading driver takes long time which causes
timeout of mailbox handshake.

Signed-off-by: default avatarPixel Ding <Pixel.Ding@amd.com>
Reviewed-by: default avatarEdward O'Callaghan <funfunctor@folklore1984.net>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9bc92b9c
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -147,7 +147,8 @@ static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
	ret = amdgpu_gem_object_create(adev, aligned_size, 0,
				       AMDGPU_GEM_DOMAIN_VRAM,
				       AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
				       AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
				       AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS |
				       AMDGPU_GEM_CREATE_VRAM_CLEARED,
				       true, &gobj);
	if (ret) {
		printk(KERN_ERR "failed to allocate framebuffer (%d)\n",
@@ -241,8 +242,6 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
	/* setup helper */
	rfbdev->helper.fb = fb;

	memset_io(abo->kptr, 0x0, amdgpu_bo_size(abo));

	strcpy(info->fix.id, "amdgpudrmfb");

	drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);