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>
Mon, 13 Mar 2023 21:14:55 +0000 (17:14 -0400)
commit49017304c099923289b0db676351307d95bbbdfb
treec45180b733a700cda8b2639807ab02f50c9786c1
parent3b4723de0d9be3f2a1730c164987b6e0f38d7bb7
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>
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c