FAILED: patch "[PATCH] drm/amd/pm: hide pp_table sysfs on APUs" failed to apply to 6.6-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.6-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.6.y
git checkout FETCH_HEAD
git cherry-pick -x a65f5179d3f0c93da31b450aeb416eaa22f1912b
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026080547-catsup-udder-fdfe@gregkh' --subject-prefix 'PATCH 6.6.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From a65f5179d3f0c93da31b450aeb416eaa22f1912b Mon Sep 17 00:00:00 2001
From: Yang Wang <[email protected]>
Date: Wed, 29 Jul 2026 15:56:46 +0800
Subject: [PATCH] drm/amd/pm: hide pp_table sysfs on APUs
APUs use firmware-owned DPM tables and do not support replacement through pp_table. Generic callbacks can nevertheless expose the sysfs file and accept an upload before resetting the power management stack.
Treat pp_table as unsupported on APUs. Use the same platform check in the get and set paths to hide the file and reject uploads.
drivers/gpu/drm/amd/pm/amdgpu_dpm.c +11 -2
@@ -1183,6 +1183,13 @@ int amdgpu_dpm_dispatch_task(struct amdgpu_device *adev,return ret; } +static bool amdgpu_dpm_is_pp_table_allowed (struct amdgpu_device *adev) +{ +return !amdgpu_sriov_vf (adev) && + !(adev->flags &AMD_IS_APU ) && + !adev->scpm_enabled; +} +int amdgpu_dpm_get_pp_table (struct amdgpu_device *adev,char *table,size_t size) {
@@ -1193,7 +1200,8 @@ int amdgpu_dpm_get_pp_table(struct amdgpu_device *adev, char *table,if ((!table && size) || (table && !size))return -EINVAL ; -if (amdgpu_sriov_vf (adev) || !pp_funcs->get_pp_table || adev->scpm_enabled) +if (!amdgpu_dpm_is_pp_table_allowed (adev) || + !pp_funcs->get_pp_table)return -EOPNOTSUPP ;mutex_lock (&adev->pm.mutex);
@@ -1717,7 +1725,8 @@ int amdgpu_dpm_set_pp_table(struct amdgpu_device *adev,if (!buf || !size)return -EINVAL ; -if (amdgpu_sriov_vf (adev) || !pp_funcs->set_pp_table || adev->scpm_enabled) +if (!amdgpu_dpm_is_pp_table_allowed (adev) || + !pp_funcs->set_pp_table)return -EOPNOTSUPP ;mutex_lock (&adev->pm.mutex);