[PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"
The patch commit a861736dae64 ("drm/amd/display: Fixed Intermittent blue screen on OLED panel") causes power regression for many users. It seems that this change causes the MCLK to get forced high; this creates a regression for many users since their devices were not able to drop to a low state after this change. For this reason, this reverts commit a861736dae644a0d7abbca0c638ae6aad28feeb8. Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1407 Cc: Aurabindo Pillai Cc: Alex Deucher Cc: Harry Wentland Cc: Naveed Ashfaq Cc: Hersen Wu Cc: Roman Li Signed-off-by: Rodrigo Siqueira --- .../amd/display/dc/dml/dcn20/display_mode_vba_20v2.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c index 860e72a51534..80170f9721ce 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c @@ -2635,14 +2635,15 @@ static void dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndP } if (mode_lib->vba.DRAMClockChangeSupportsVActive && - mode_lib->vba.MinActiveDRAMClockChangeMargin > 60 && - mode_lib->vba.PrefetchMode[mode_lib->vba.VoltageLevel][mode_lib->vba.maxMpcComb] == 0) { + mode_lib->vba.MinActiveDRAMClockChangeMargin > 60) { mode_lib->vba.DRAMClockChangeWatermark += 25; for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { - if (mode_lib->vba.DRAMClockChangeWatermark > - dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, mode_lib->vba.UrgentWatermark)) - mode_lib->vba.MinTTUVBlank[k] += 25; + if (mode_lib->vba.PrefetchMode[mode_lib->vba.VoltageLevel][mode_lib->vba.maxMpcComb] == 0) { + if (mode_lib->vba.DRAMClockChangeWatermark > + dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, mode_lib->vba.UrgentWatermark)) + mode_lib->vba.MinTTUVBlank[k] += 25; + } } mode_lib->vba.DRAMClockChangeSupport[0][0] = dm_dram_clock_change_vactive; -- 2.25.1 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
[PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"
This reverts commit a861736dae644a0d7abbca0c638ae6aad28feeb8. This commit led to a power regression where AMD cards draw lots of power while being idle. Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1407 Cc: # 5.10 Signed-off-by: Konstantin Kharlamov --- .../amd/display/dc/dml/dcn20/display_mode_vba_20v2.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c index 860e72a51534..80170f9721ce 100644 --- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c @@ -2635,14 +2635,15 @@ static void dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndP } if (mode_lib->vba.DRAMClockChangeSupportsVActive && - mode_lib->vba.MinActiveDRAMClockChangeMargin > 60 && - mode_lib->vba.PrefetchMode[mode_lib->vba.VoltageLevel][mode_lib->vba.maxMpcComb] == 0) { + mode_lib->vba.MinActiveDRAMClockChangeMargin > 60) { mode_lib->vba.DRAMClockChangeWatermark += 25; for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { - if (mode_lib->vba.DRAMClockChangeWatermark > - dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, mode_lib->vba.UrgentWatermark)) - mode_lib->vba.MinTTUVBlank[k] += 25; + if (mode_lib->vba.PrefetchMode[mode_lib->vba.VoltageLevel][mode_lib->vba.maxMpcComb] == 0) { + if (mode_lib->vba.DRAMClockChangeWatermark > + dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, mode_lib->vba.UrgentWatermark)) + mode_lib->vba.MinTTUVBlank[k] += 25; + } } mode_lib->vba.DRAMClockChangeSupport[0][0] = dm_dram_clock_change_vactive; -- 2.30.0 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"
On Thu, Jan 7, 2021 at 4:23 PM Rodrigo Siqueira wrote: > > The patch > > commit a861736dae64 ("drm/amd/display: Fixed Intermittent blue screen on OLED > panel") > > causes power regression for many users. It seems that this change causes > the MCLK to get forced high; this creates a regression for many users > since their devices were not able to drop to a low state after this > change. For this reason, this reverts commit > a861736dae644a0d7abbca0c638ae6aad28feeb8. > > Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1407 > Cc: Aurabindo Pillai > Cc: Alex Deucher > Cc: Harry Wentland > Cc: Naveed Ashfaq > Cc: Hersen Wu > Cc: Roman Li > Signed-off-by: Rodrigo Siqueira Acked-by: Alex Deucher > --- > .../amd/display/dc/dml/dcn20/display_mode_vba_20v2.c | 11 ++- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > index 860e72a51534..80170f9721ce 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > @@ -2635,14 +2635,15 @@ static void > dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndP > } > > if (mode_lib->vba.DRAMClockChangeSupportsVActive && > - mode_lib->vba.MinActiveDRAMClockChangeMargin > 60 && > - > mode_lib->vba.PrefetchMode[mode_lib->vba.VoltageLevel][mode_lib->vba.maxMpcComb] > == 0) { > + mode_lib->vba.MinActiveDRAMClockChangeMargin > 60) { > mode_lib->vba.DRAMClockChangeWatermark += 25; > > for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { > - if (mode_lib->vba.DRAMClockChangeWatermark > > - dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, > mode_lib->vba.UrgentWatermark)) > - mode_lib->vba.MinTTUVBlank[k] += 25; > + if > (mode_lib->vba.PrefetchMode[mode_lib->vba.VoltageLevel][mode_lib->vba.maxMpcComb] > == 0) { > + if (mode_lib->vba.DRAMClockChangeWatermark > > + > dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, > mode_lib->vba.UrgentWatermark)) > + mode_lib->vba.MinTTUVBlank[k] += 25; > + } > } > > mode_lib->vba.DRAMClockChangeSupport[0][0] = > dm_dram_clock_change_vactive; > -- > 2.25.1 > > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"
Oh, I just found on ML archive that the revert already was sent. Disregard then this email. It's just that nobody mentioned on the gitlab thread that revert was sent, so I decided to go ahead. Nice to know revert is on ML already ☺ On Fri, 2021-01-08 at 13:48 +0300, Konstantin Kharlamov wrote: > This reverts commit a861736dae644a0d7abbca0c638ae6aad28feeb8. > > This commit led to a power regression where AMD cards draw lots of power > while being idle. > > Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1407 > Cc: # 5.10 > Signed-off-by: Konstantin Kharlamov > --- > .../amd/display/dc/dml/dcn20/display_mode_vba_20v2.c | 11 ++- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > index 860e72a51534..80170f9721ce 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > +++ b/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c > @@ -2635,14 +2635,15 @@ static void > dml20v2_DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndP > } > > if (mode_lib->vba.DRAMClockChangeSupportsVActive && > - mode_lib->vba.MinActiveDRAMClockChangeMargin > 60 && > - mode_lib->vba.PrefetchMode[mode_lib- > >vba.VoltageLevel][mode_lib->vba.maxMpcComb] == 0) { > + mode_lib->vba.MinActiveDRAMClockChangeMargin > 60) { > mode_lib->vba.DRAMClockChangeWatermark += 25; > > for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { > - if (mode_lib->vba.DRAMClockChangeWatermark > > - dml_max(mode_lib->vba.StutterEnterPlusExitWatermark, > mode_lib->vba.UrgentWatermark)) > - mode_lib->vba.MinTTUVBlank[k] += 25; > + if (mode_lib->vba.PrefetchMode[mode_lib- > >vba.VoltageLevel][mode_lib->vba.maxMpcComb] == 0) { > + if (mode_lib->vba.DRAMClockChangeWatermark > > + dml_max(mode_lib- > >vba.StutterEnterPlusExitWatermark, mode_lib->vba.UrgentWatermark)) > + mode_lib->vba.MinTTUVBlank[k] += 25; > + } > } > > mode_lib->vba.DRAMClockChangeSupport[0][0] = > dm_dram_clock_change_vactive; ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx