FAILED: patch "[PATCH] drm/amdgpu: move poll enabled/disable into non DC path" failed to apply to 6.2-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 6.2-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.2.y
git checkout FETCH_HEAD
git cherry-pick -x 3fadda5de8073e2cb65744803a6941736411d55b
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '[email protected]' --subject-prefix 'PATCH 6.2.y' HEAD^..
Possible dependencies:
3fadda5de807 ("drm/amdgpu: move poll enabled/disable into non DC path")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 3fadda5de8073e2cb65744803a6941736411d55b Mon Sep 17 00:00:00 2001
From: Guchun Chen <[email protected]>
Date: Thu, 9 Mar 2023 10:02:45 +0800
Subject: [PATCH] drm/amdgpu: move poll enabled/disable into non DC path
Some amd asics having reliable hotplug support don't call drm_kms_helper_poll_init in driver init sequence. However, due to the unified suspend/resume path for all asics, because the output_poll_work->func is not set for these asics, a warning arrives when suspending.
[ 90.656049] <TASK> [ 90.656050] ? console_unlock+0x4d/0x100 [ 90.656053] ? __irq_work_queue_local+0x27/0x60 [ 90.656056] ? irq_work_queue+0x2b/0x50 [ 90.656057] ? __wake_up_klogd+0x40/0x60 [ 90.656059] __cancel_work_timer+0xed/0x180 [ 90.656061] drm_kms_helper_poll_disable.cold+0x1f/0x2c [drm_kms_helper] [ 90.656072] amdgpu_device_suspend+0x81/0x170 [amdgpu] [ 90.656180] amdgpu_pmops_runtime_suspend+0xb5/0x1b0 [amdgpu] [ 90.656269] pci_pm_runtime_suspend+0x61/0x1b0
drm_kms_helper_poll_enable/disable is valid when poll_init is called in amdgpu code, which is only used in non DC path. So move such codes into non-DC path code to get rid of such warnings.
v1: introduce use_kms_poll flag in amdgpu as the poll stuff check
v2: use dc_enabled as the flag to simply code
v3: move code into non DC path instead of relying on any flag
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +0 -4
@@ -4145,8 +4145,6 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)if (amdgpu_acpi_smart_shift_update (dev,AMDGPU_SS_DEV_D3 ))DRM_WARN ("smart shift update failed\n" ); -drm_kms_helper_poll_disable (dev); -if (fbcon)drm_fb_helper_set_suspend_unlocked (adev_to_drm (adev)->fb_helper, true);
@@ -4243,8 +4241,6 @@ int amdgpu_device_resume(struct drm_device *dev, bool fbcon)if (fbcon)drm_fb_helper_set_suspend_unlocked (adev_to_drm (adev)->fb_helper, false); -drm_kms_helper_poll_enable (dev); -amdgpu_ras_resume (adev);if (adev->mode_info.num_crtc) {
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +4 -0
@@ -1618,6 +1618,8 @@ int amdgpu_display_suspend_helper(struct amdgpu_device *adev)struct drm_connector_list_iter iter;int r; +drm_kms_helper_poll_disable (dev); +/* turn off display hw */ drm_modeset_lock_all (dev);drm_connector_list_iter_begin (dev, &iter);
@@ -1694,6 +1696,8 @@ int amdgpu_display_resume_helper(struct amdgpu_device *adev)drm_modeset_unlock_all (dev); +drm_kms_helper_poll_enable (dev); +return 0 ; }