[PATCH] drm/amdgpu: try allowed domain when pin framebuffer failed
Christian König
christian.koenig at amd.com
Wed Dec 7 07:43:13 UTC 2022
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 at amd.com
>
> 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;
>
> }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20221207/0b14b2d2/attachment-0001.htm>
More information about the amd-gfx
mailing list