]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/pm: Stop pp_od_clk_voltage emit at PAGE_SIZE
authorAsad Kamal <asad.kamal@amd.com>
Wed, 3 Jun 2026 07:11:33 +0000 (15:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 4 Jun 2026 19:25:58 +0000 (15:25 -0400)
Stop appending OD sections in amdgpu_get_pp_od_clk_voltage()
once the sysfs page is full, instead of checking every sysfs_emit_at()
in SMU helpers. This is purely defensive hardening.

v2: Drop the prior series that checked sysfs_emit_at()
return values in every SMU *_emit_clk_levels() helper and
smu_cmn_print_*().(Kevin)

v3: Update description, remove all clamping

Signed-off-by: Asad Kamal <asad.kamal@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/amdgpu_pm.c

index 52e5cbcac35296d01ec648849d0c64058e0cb553..714c702b4f8cbd3357a4a9a306fc1bc50d4a06a9 100644 (file)
@@ -874,6 +874,8 @@ static ssize_t amdgpu_get_pp_od_clk_voltage(struct device *dev,
 
        for (clk_index = 0 ; clk_index < ARRAY_SIZE(od_clocks) ; clk_index++) {
                amdgpu_dpm_emit_clock_levels(adev, od_clocks[clk_index], buf, &size);
+               if (unlikely(size >= (PAGE_SIZE - 1)))
+                       break;
        }
 
        if (size == 0)