mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-25 20:14:25 +08:00
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: Pixel Ding <Pixel.Ding@amd.com> Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
9bc92b9c8d
commit
cbabc8b343
@ -147,7 +147,8 @@ static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
|
|||||||
ret = amdgpu_gem_object_create(adev, aligned_size, 0,
|
ret = amdgpu_gem_object_create(adev, aligned_size, 0,
|
||||||
AMDGPU_GEM_DOMAIN_VRAM,
|
AMDGPU_GEM_DOMAIN_VRAM,
|
||||||
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
|
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
|
||||||
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
|
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS |
|
||||||
|
AMDGPU_GEM_CREATE_VRAM_CLEARED,
|
||||||
true, &gobj);
|
true, &gobj);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printk(KERN_ERR "failed to allocate framebuffer (%d)\n",
|
printk(KERN_ERR "failed to allocate framebuffer (%d)\n",
|
||||||
@ -241,8 +242,6 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
|
|||||||
/* setup helper */
|
/* setup helper */
|
||||||
rfbdev->helper.fb = fb;
|
rfbdev->helper.fb = fb;
|
||||||
|
|
||||||
memset_io(abo->kptr, 0x0, amdgpu_bo_size(abo));
|
|
||||||
|
|
||||||
strcpy(info->fix.id, "amdgpudrmfb");
|
strcpy(info->fix.id, "amdgpudrmfb");
|
||||||
|
|
||||||
drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
|
drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth);
|
||||||
|
Loading…
Reference in New Issue
Block a user