Re: [PATCH] drm/amdgpu: try allowed domain when pin framebuffer failed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 07.12.22 um 08:27 schrieb Zhang, Jesse(Jie):

[AMD Official Use Only - General]


    drm/amdgpu: try allowed domain when pin framebuffer failed.

 

    [WHY&HOW]

 

    in some scenarios, the allocate memory often failed. such as do hot plug or play games.

    so we can try allowed domain, if the preferred domain cannot allocate memory.


Not sure why you send it again, but this patch is still a pretty clear NAK.

Christian.

 

    Signed-off-by: jie1zhan jesse.zhang@xxxxxxx

    Change-Id: I4b62e2ff072d02c515f901000a5789339d481273

 

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

index 1ae0c8723348..05fcaf7f9d92 100644

--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

@@ -39,6 +39,7 @@

#include "amdgpu.h"

#include "amdgpu_trace.h"

#include "amdgpu_amdkfd.h"

+#include "amdgpu_display.h"

 

/**

  * DOC: amdgpu_object

@@ -942,8 +943,14 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,

                        bo->placements[i].lpfn = lpfn;

        }

 

+       retry:

        r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx);

        if (unlikely(r)) {

+               //try allowed domain when pin failed. just a workaround.

+               if (unlikely(r == -ENOMEM) && domain != bo->allowed_domains) {

+                       amdgpu_bo_placement_from_domain(bo, bo->allowed_domains);

+                       goto retry;

+               }

                dev_err(adev->dev, "%p pin failed\n", bo);

                goto error;

        }



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux