Re: [PATCH] drm/amdgpu: clear framebuffer with GPU

2017-02-08 Thread Christian König

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 


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  as well.


Regards,
Christian.




Signed-off-by: Pixel Ding 
---
  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, );
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);




___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH] drm/amdgpu: clear framebuffer with GPU

2017-02-07 Thread 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 

> 
> Signed-off-by: Pixel Ding 
> ---
>  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, );
>   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);
> 



signature.asc
Description: OpenPGP digital signature
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx