summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2020-06-22 09:58:17 +0000
committerjsg <jsg@openbsd.org>2020-06-22 09:58:17 +0000
commitd199165b859aee426084056e247d87d71156a7a7 (patch)
tree07c016a46d9b3f23a2d2219a22d6a3fe2dad6ccf
parentdrm/dp: Lenovo X13 Yoga OLED panel brightness fix (diff)
downloadwireguard-openbsd-d199165b859aee426084056e247d87d71156a7a7.tar.xz
wireguard-openbsd-d199165b859aee426084056e247d87d71156a7a7.zip
drm/amd/display: Revert to old formula in set_vtg_params
From Alvin Lee 719bdc4363637fa45b67c80259c6a72967cb4947 in linux 5.7.y/5.7.5 a1a0e61f3c43c610f0a3c109348c14ce930c1977 in mainline linux
-rw-r--r--sys/dev/pci/drm/amd/display/dc/dcn10/dcn10_optc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/drm/amd/display/dc/dcn10/dcn10_optc.c b/sys/dev/pci/drm/amd/display/dc/dcn10/dcn10_optc.c
index 366eea95afd..7c4874ea6aa 100644
--- a/sys/dev/pci/drm/amd/display/dc/dcn10/dcn10_optc.c
+++ b/sys/dev/pci/drm/amd/display/dc/dcn10/dcn10_optc.c
@@ -299,6 +299,7 @@ void optc1_set_vtg_params(struct timing_generator *optc,
uint32_t asic_blank_end;
uint32_t v_init;
uint32_t v_fp2 = 0;
+ int32_t vertical_line_start;
struct optc *optc1 = DCN10TG_FROM_TG(optc);
@@ -315,8 +316,9 @@ void optc1_set_vtg_params(struct timing_generator *optc,
patched_crtc_timing.v_border_top;
/* if VSTARTUP is before VSYNC, FP2 is the offset, otherwise 0 */
- if (optc1->vstartup_start > asic_blank_end)
- v_fp2 = optc1->vstartup_start - asic_blank_end;
+ vertical_line_start = asic_blank_end - optc1->vstartup_start + 1;
+ if (vertical_line_start < 0)
+ v_fp2 = -vertical_line_start;
/* Interlace */
if (REG(OTG_INTERLACE_CONTROL)) {