Re: [PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"

2021-01-08 Thread Konstantin Kharlamov
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


[PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"

2021-01-08 Thread Konstantin Kharlamov
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"

2021-01-07 Thread Alex Deucher
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


[PATCH] Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"

2021-01-07 Thread Rodrigo Siqueira
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