[PATCH] drm/amdgpu: clear framebuffer with GPU

Christian König christian.koenig at amd.com
Wed Feb 8 10:33:58 UTC 2017


Am 08.02.2017 um 05:01 schrieb Edward O'Callaghan:
>
> On 02/08/2017 12:24 PM, Pixel Ding wrote:
>> CPU is not efficient to do this job. There's a failure caused by this
>> is that handshaking gets timeout of SRIOV virtual function.
> Can you fixup the commit message a little but otherwise,
> Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>

Monk figured out that you need to move the fb init after the IB init 
during device startup.

Otherwise setting this flag here will cause a NULL pointer dereference 
in the SA code.

Assuming Monks patch lands first during the upstream push this one is 
Reviewed-by: Christian König <christian.koenig at amd.com> as well.

Regards,
Christian.

>
>> Signed-off-by: Pixel Ding <Pixel.Ding at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 5 ++---
>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>> index 1e735c4..2867f55 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
>> @@ -148,7 +148,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",
>> @@ -242,8 +243,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->depth);
>>



More information about the amd-gfx mailing list