RE: [PATCH] drm/amd/display: don't free stolen console memory during suspend

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

 



[Public]

Reviewed-by: Guchun Chen <guchun.chen@xxxxxxx>

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Alex
> Deucher
> Sent: Monday, June 12, 2023 10:55 PM
> To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>
> Subject: [PATCH] drm/amd/display: don't free stolen console memory during
> suspend
>
> Don't free the memory if we are hitting this as part of suspend.
> This way we don't free any memory during suspend; see
> amdgpu_bo_free_kernel().  The memory will be freed in the first non-
> suspend modeset or when the driver is torn down.
>
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2568
> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15
> +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 0454e94d5680..fc0dd31785cb 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -8963,10 +8963,17 @@ static void
> amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
>
>       drm_atomic_helper_cleanup_planes(dev, state);
>
> -     /* return the stolen vga memory back to VRAM */
> -     if (!adev->mman.keep_stolen_vga_memory)
> -             amdgpu_bo_free_kernel(&adev->mman.stolen_vga_memory,
> NULL, NULL);
> -     amdgpu_bo_free_kernel(&adev->mman.stolen_extended_memory,
> NULL, NULL);
> +     /* Don't free the memory if we are hitting this as part of suspend.
> +      * This way we don't free any memory during suspend; see
> +      * amdgpu_bo_free_kernel().  The memory will be freed in the first
> +      * non-suspend modeset or when the driver is torn down.
> +      */
> +     if (!adev->in_suspend) {
> +             /* return the stolen vga memory back to VRAM */
> +             if (!adev->mman.keep_stolen_vga_memory)
> +                     amdgpu_bo_free_kernel(&adev-
> >mman.stolen_vga_memory, NULL, NULL);
> +             amdgpu_bo_free_kernel(&adev-
> >mman.stolen_extended_memory, NULL, NULL);
> +     }
>
>       /*
>        * Finally, drop a runtime PM reference for each newly disabled CRTC,
> --
> 2.40.1





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

  Powered by Linux