On 6/10/26 22:39, Samuel Zhang wrote:
Kernel parameter `no_console_suspend` is required to capture all
hibernation kernel log via serial console. But when the parameter
is set, GPU will be resumed in thaw stage. This causes many issues
on alinux3 kernel.

Fix: add new debug mask `AMDGPU_DEBUG_HIBERNATION_THAW_RESUME_GPU` to
replace the check of `console_suspend_enabled` in thaw() callback.

Signed-off-by: Samuel Zhang <[email protected]>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 503bb64c1e55..18385c09e9d6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -33,7 +33,6 @@
  #include <drm/drm_vblank.h>
#include <linux/cc_platform.h>
-#include <linux/console.h>
  #include <linux/dynamic_debug.h>
  #include <linux/module.h>
  #include <linux/mmu_notifier.h>
@@ -146,7 +145,8 @@ enum AMDGPU_DEBUG_MASK {
        AMDGPU_DEBUG_SMU_POOL = BIT(7),
        AMDGPU_DEBUG_VM_USERPTR = BIT(8),
        AMDGPU_DEBUG_DISABLE_RAS_CE_LOG = BIT(9),
-       AMDGPU_DEBUG_ENABLE_CE_CS = BIT(10)
+       AMDGPU_DEBUG_ENABLE_CE_CS = BIT(10),
+       AMDGPU_DEBUG_HIBERNATION_THAW_RESUME_GPU = BIT(11),

You should add a line to amdgpu_init_debug_options() as well for this change.

  };
unsigned int amdgpu_vram_limit = UINT_MAX;
@@ -2707,7 +2707,7 @@ static int amdgpu_pmops_thaw(struct device *dev)
        struct drm_device *drm_dev = dev_get_drvdata(dev);
/* do not resume device if it's normal hibernation */
-       if (console_suspend_enabled &&
+       if (!(amdgpu_debug_mask & AMDGPU_DEBUG_HIBERNATION_THAW_RESUME_GPU) &&

We don't seem to use this code pattern elsewhere for amdgpu_debug_mask to look for a bit where it's needed.

Rather assign a variable in amdgpu_init_debug_options() and look at that variable.

            !pm_hibernate_is_recovering() &&
            !pm_hibernation_mode_is_suspend())
                return 0;

Reply via email to