OSDN Git Service

drm/amd/pm: Fix sienna cichlid incorrect OD volage after resume
authorBłażej Szczygieł <mumei6102@gmail.com>
Sat, 4 Mar 2023 23:44:31 +0000 (00:44 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 14 Mar 2023 14:36:25 +0000 (10:36 -0400)
commita9386ee9681585794dbab95d4ce6826f73d19af6
tree9c7eb0d525ff8ba88cbd72e8173556103ce93e0a
parentab9bdb1213b4b40942af6a383f555d0c14874c1b
drm/amd/pm: Fix sienna cichlid incorrect OD volage after resume

Always setup overdrive tables after resume. Preserve only some
user-defined settings in user_overdrive_table if they're set.

Copy restored user_overdrive_table into od_table to get correct
values.

On cold boot, BTC was triggered and GfxVfCurve was calibrated. We
got VfCurve settings (a). On resuming back, BTC will be triggered
again and GfxVfCurve will be recalibrated. VfCurve settings (b)
got may be different from those of cold boot.  So if we reuse
those VfCurve settings (a) got on cold boot on suspend, we can
run into discrepencies.

Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1897
Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2276
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Błażej Szczygieł <mumei6102@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c