All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Support mclk switching when monitors are in sync (v2)
@ 2019-08-22 19:30 Alex Deucher
       [not found] ` <20190822193050.3107-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Alex Deucher @ 2019-08-22 19:30 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

This patch set enables mclk switching with multiple monitors when all
monitors are sync.  Normally mclk switching is not available with
multiple monitors because the vblank timing does not line up.  However,
if the timing is identical, the display driver can sync up the displays
in some cases.  Check for these cases and allow mclk switch when
possible.

Alex Deucher (4):
  drm/amdgpu/powerplay/smu7: enable mclk switching if monitors are
    synced
  drm/amdgpu/powerplay/vega10: enable mclk switching if monitors are
    synced
  drm/amd/display: update bw_calcs to take pipe sync into account (v3)
  drm/amdgpu/display: add flag for multi-display mclk switching

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  3 ++
 .../gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 33 +++++++++++++++++--
 drivers/gpu/drm/amd/display/dc/dc.h           |  2 +-
 drivers/gpu/drm/amd/include/amd_shared.h      |  1 +
 .../gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c  |  7 ++--
 .../drm/amd/powerplay/hwmgr/vega10_hwmgr.c    |  3 +-
 6 files changed, 42 insertions(+), 7 deletions(-)

-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] drm/amdgpu/powerplay/smu7: enable mclk switching if monitors are synced
       [not found] ` <20190822193050.3107-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
@ 2019-08-22 19:30   ` Alex Deucher
  2019-08-22 19:30   ` [PATCH 2/4] drm/amdgpu/powerplay/vega10: " Alex Deucher
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2019-08-22 19:30 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

If DC has synced the displays, we can enable mclk switching to
save power.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
index 3c1084de5d59..34f95e0e3ea4 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
@@ -2956,9 +2956,10 @@ static int smu7_apply_state_adjust_rules(struct pp_hwmgr *hwmgr,
 	if (hwmgr->display_config->num_display == 0)
 		disable_mclk_switching = false;
 	else
-		disable_mclk_switching = ((1 < hwmgr->display_config->num_display) ||
-					  disable_mclk_switching_for_frame_lock ||
-					  smu7_vblank_too_short(hwmgr, hwmgr->display_config->min_vblank_time));
+		disable_mclk_switching = ((1 < hwmgr->display_config->num_display) &&
+					  !hwmgr->display_config->multi_monitor_in_sync) ||
+			disable_mclk_switching_for_frame_lock ||
+			smu7_vblank_too_short(hwmgr, hwmgr->display_config->min_vblank_time);
 
 	sclk = smu7_ps->performance_levels[0].engine_clock;
 	mclk = smu7_ps->performance_levels[0].memory_clock;
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] drm/amdgpu/powerplay/vega10: enable mclk switching if monitors are synced
       [not found] ` <20190822193050.3107-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  2019-08-22 19:30   ` [PATCH 1/4] drm/amdgpu/powerplay/smu7: enable mclk switching if monitors are synced Alex Deucher
@ 2019-08-22 19:30   ` Alex Deucher
  2019-08-22 19:30   ` [PATCH 3/4] drm/amd/display: update bw_calcs to take pipe sync into account (v3) Alex Deucher
  2019-08-22 19:30   ` [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk switching Alex Deucher
  3 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2019-08-22 19:30 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

If DC has synced the displays, we can enable mclk switching to
save power.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
index 948c54cb9c5d..d08493b67b67 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
@@ -3220,7 +3220,8 @@ static int vega10_apply_state_adjust_rules(struct pp_hwmgr *hwmgr,
 	if (hwmgr->display_config->num_display == 0)
 		disable_mclk_switching = false;
 	else
-		disable_mclk_switching = (hwmgr->display_config->num_display > 1) ||
+		disable_mclk_switching = ((1 < hwmgr->display_config->num_display) &&
+					  !hwmgr->display_config->multi_monitor_in_sync) ||
 			disable_mclk_switching_for_frame_lock ||
 			disable_mclk_switching_for_vr ||
 			force_mclk_high;
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] drm/amd/display: update bw_calcs to take pipe sync into account (v3)
       [not found] ` <20190822193050.3107-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  2019-08-22 19:30   ` [PATCH 1/4] drm/amdgpu/powerplay/smu7: enable mclk switching if monitors are synced Alex Deucher
  2019-08-22 19:30   ` [PATCH 2/4] drm/amdgpu/powerplay/vega10: " Alex Deucher
@ 2019-08-22 19:30   ` Alex Deucher
  2019-08-22 19:30   ` [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk switching Alex Deucher
  3 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2019-08-22 19:30 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

Properly set all_displays_in_sync so that when the data is
propagated to powerplay, it's set properly and we can enable
mclk switching when all monitors are in sync.

v2: fix logic, clean up
v3: check for blending chains, simplify logic

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 .../gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 30 +++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
index 9f12e21f8b9b..eca681d9d7f5 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
@@ -25,6 +25,7 @@
 
 #include <linux/slab.h>
 
+#include "resource.h"
 #include "dm_services.h"
 #include "dce_calcs.h"
 #include "dc.h"
@@ -2977,6 +2978,32 @@ static void populate_initial_data(
 	data->number_of_displays = num_displays;
 }
 
+static bool all_displays_in_sync(const struct pipe_ctx pipe[],
+				 int pipe_count)
+{
+	const struct pipe_ctx *active_pipes[MAX_PIPES];
+	int i, num_active_pipes = 0;
+
+	for (i = 0; i < pipe_count; i++) {
+		if (!pipe[i].stream || pipe[i].top_pipe)
+			continue;
+
+		active_pipes[num_active_pipes++] = &pipe[i];
+	}
+
+	if (!num_active_pipes)
+		return false;
+
+	for (i = 1; i < num_active_pipes; ++i) {
+		if (!resource_are_streams_timing_synchronizable(
+			    active_pipes[0]->stream, active_pipes[i]->stream)) {
+			return false;
+		}
+	}
+
+	return true;
+}
+
 /**
  * Return:
  *	true -	Display(s) configuration supported.
@@ -2998,8 +3025,7 @@ bool bw_calcs(struct dc_context *ctx,
 
 	populate_initial_data(pipe, pipe_count, data);
 
-	/*TODO: this should be taken out calcs output and assigned during timing sync for pplib use*/
-	calcs_output->all_displays_in_sync = false;
+	calcs_output->all_displays_in_sync = all_displays_in_sync(pipe, pipe_count);
 
 	if (data->number_of_displays != 0) {
 		uint8_t yclk_lvl, sclk_lvl;
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk switching
       [not found] ` <20190822193050.3107-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
                     ` (2 preceding siblings ...)
  2019-08-22 19:30   ` [PATCH 3/4] drm/amd/display: update bw_calcs to take pipe sync into account (v3) Alex Deucher
@ 2019-08-22 19:30   ` Alex Deucher
       [not found]     ` <20190822193050.3107-5-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  3 siblings, 1 reply; 7+ messages in thread
From: Alex Deucher @ 2019-08-22 19:30 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Alex Deucher

Add a dcfeaturemask flag for mclk switching.  Disable by default;
enable once the feature has seen more testing.

Set amdgpu.dcfeaturemask=2 on the kernel command line in grub
to enable this.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++
 drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 5 ++++-
 drivers/gpu/drm/amd/display/dc/dc.h               | 2 +-
 drivers/gpu/drm/amd/include/amd_shared.h          | 1 +
 4 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 45298269744d..cb86ccf48bd9 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -694,6 +694,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
 	if (amdgpu_dc_feature_mask & DC_FBC_MASK)
 		init_data.flags.fbc_support = true;
 
+	if (amdgpu_dc_feature_mask & DC_MULTI_MON_PP_MCLK_SWITCH_MASK)
+		init_data.flags.multi_mon_pp_mclk_switch = true;
+
 	init_data.flags.power_down_display_on_boot = true;
 
 #ifdef CONFIG_DRM_AMD_DC_DCN2_0
diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
index eca681d9d7f5..a1d49256fab7 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
@@ -3025,7 +3025,10 @@ bool bw_calcs(struct dc_context *ctx,
 
 	populate_initial_data(pipe, pipe_count, data);
 
-	calcs_output->all_displays_in_sync = all_displays_in_sync(pipe, pipe_count);
+	if (ctx->dc->config.multi_mon_pp_mclk_switch)
+		calcs_output->all_displays_in_sync = all_displays_in_sync(pipe, pipe_count);
+	else
+		calcs_output->all_displays_in_sync = false;
 
 	if (data->number_of_displays != 0) {
 		uint8_t yclk_lvl, sclk_lvl;
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index 3ef269f82478..5d4a2a9228f0 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -220,7 +220,7 @@ struct dc_config {
 	bool power_down_display_on_boot;
 	bool edp_not_connected;
 	bool forced_clocks;
-
+	bool multi_mon_pp_mclk_switch;
 };
 
 enum visual_confirm {
diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h
index a0a7211438f2..8889aaceec60 100644
--- a/drivers/gpu/drm/amd/include/amd_shared.h
+++ b/drivers/gpu/drm/amd/include/amd_shared.h
@@ -142,6 +142,7 @@ enum PP_FEATURE_MASK {
 
 enum DC_FEATURE_MASK {
 	DC_FBC_MASK = 0x1,
+	DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2,
 };
 
 enum amd_dpm_forced_level;
-- 
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk switching
       [not found]     ` <20190822193050.3107-5-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
@ 2019-08-22 19:40       ` Kazlauskas, Nicholas
  2019-08-23  3:42       ` Quan, Evan
  1 sibling, 0 replies; 7+ messages in thread
From: Kazlauskas, Nicholas @ 2019-08-22 19:40 UTC (permalink / raw)
  To: Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Deucher, Alexander

On 8/22/19 3:30 PM, Alex Deucher wrote:
> Add a dcfeaturemask flag for mclk switching.  Disable by default;
> enable once the feature has seen more testing.
> 
> Set amdgpu.dcfeaturemask=2 on the kernel command line in grub
> to enable this.
> 
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

Patches 3 and 4 are

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>

> ---
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++
>   drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 5 ++++-
>   drivers/gpu/drm/amd/display/dc/dc.h               | 2 +-
>   drivers/gpu/drm/amd/include/amd_shared.h          | 1 +
>   4 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 45298269744d..cb86ccf48bd9 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -694,6 +694,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
>   	if (amdgpu_dc_feature_mask & DC_FBC_MASK)
>   		init_data.flags.fbc_support = true;
>   
> +	if (amdgpu_dc_feature_mask & DC_MULTI_MON_PP_MCLK_SWITCH_MASK)
> +		init_data.flags.multi_mon_pp_mclk_switch = true;
> +
>   	init_data.flags.power_down_display_on_boot = true;
>   
>   #ifdef CONFIG_DRM_AMD_DC_DCN2_0
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> index eca681d9d7f5..a1d49256fab7 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> @@ -3025,7 +3025,10 @@ bool bw_calcs(struct dc_context *ctx,
>   
>   	populate_initial_data(pipe, pipe_count, data);
>   
> -	calcs_output->all_displays_in_sync = all_displays_in_sync(pipe, pipe_count);
> +	if (ctx->dc->config.multi_mon_pp_mclk_switch)
> +		calcs_output->all_displays_in_sync = all_displays_in_sync(pipe, pipe_count);
> +	else
> +		calcs_output->all_displays_in_sync = false;
>   
>   	if (data->number_of_displays != 0) {
>   		uint8_t yclk_lvl, sclk_lvl;
> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
> index 3ef269f82478..5d4a2a9228f0 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> @@ -220,7 +220,7 @@ struct dc_config {
>   	bool power_down_display_on_boot;
>   	bool edp_not_connected;
>   	bool forced_clocks;
> -
> +	bool multi_mon_pp_mclk_switch;
>   };
>   
>   enum visual_confirm {
> diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h
> index a0a7211438f2..8889aaceec60 100644
> --- a/drivers/gpu/drm/amd/include/amd_shared.h
> +++ b/drivers/gpu/drm/amd/include/amd_shared.h
> @@ -142,6 +142,7 @@ enum PP_FEATURE_MASK {
>   
>   enum DC_FEATURE_MASK {
>   	DC_FBC_MASK = 0x1,
> +	DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2,
>   };
>   
>   enum amd_dpm_forced_level;
> 

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk switching
       [not found]     ` <20190822193050.3107-5-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
  2019-08-22 19:40       ` Kazlauskas, Nicholas
@ 2019-08-23  3:42       ` Quan, Evan
  1 sibling, 0 replies; 7+ messages in thread
From: Quan, Evan @ 2019-08-23  3:42 UTC (permalink / raw)
  To: Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Deucher, Alexander

Patch1, 2 are reviewed-by: Evan Quan <evan.quan@amd.com>
Patch 3,4 are acked-by: Evan Quan <evan.quan@amd.com>

> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Alex
> Deucher
> Sent: Friday, August 23, 2019 3:31 AM
> To: amd-gfx@lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher@amd.com>
> Subject: [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk
> switching
> 
> Add a dcfeaturemask flag for mclk switching.  Disable by default; enable once
> the feature has seen more testing.
> 
> Set amdgpu.dcfeaturemask=2 on the kernel command line in grub to enable
> this.
> 
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++
> drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c  | 5 ++++-
>  drivers/gpu/drm/amd/display/dc/dc.h               | 2 +-
>  drivers/gpu/drm/amd/include/amd_shared.h          | 1 +
>  4 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 45298269744d..cb86ccf48bd9 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -694,6 +694,9 @@ static int amdgpu_dm_init(struct amdgpu_device
> *adev)
>  	if (amdgpu_dc_feature_mask & DC_FBC_MASK)
>  		init_data.flags.fbc_support = true;
> 
> +	if (amdgpu_dc_feature_mask &
> DC_MULTI_MON_PP_MCLK_SWITCH_MASK)
> +		init_data.flags.multi_mon_pp_mclk_switch = true;
> +
>  	init_data.flags.power_down_display_on_boot = true;
> 
>  #ifdef CONFIG_DRM_AMD_DC_DCN2_0
> diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> index eca681d9d7f5..a1d49256fab7 100644
> --- a/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> +++ b/drivers/gpu/drm/amd/display/dc/calcs/dce_calcs.c
> @@ -3025,7 +3025,10 @@ bool bw_calcs(struct dc_context *ctx,
> 
>  	populate_initial_data(pipe, pipe_count, data);
> 
> -	calcs_output->all_displays_in_sync = all_displays_in_sync(pipe,
> pipe_count);
> +	if (ctx->dc->config.multi_mon_pp_mclk_switch)
> +		calcs_output->all_displays_in_sync =
> all_displays_in_sync(pipe, pipe_count);
> +	else
> +		calcs_output->all_displays_in_sync = false;
> 
>  	if (data->number_of_displays != 0) {
>  		uint8_t yclk_lvl, sclk_lvl;
> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h
> b/drivers/gpu/drm/amd/display/dc/dc.h
> index 3ef269f82478..5d4a2a9228f0 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> @@ -220,7 +220,7 @@ struct dc_config {
>  	bool power_down_display_on_boot;
>  	bool edp_not_connected;
>  	bool forced_clocks;
> -
> +	bool multi_mon_pp_mclk_switch;
>  };
> 
>  enum visual_confirm {
> diff --git a/drivers/gpu/drm/amd/include/amd_shared.h
> b/drivers/gpu/drm/amd/include/amd_shared.h
> index a0a7211438f2..8889aaceec60 100644
> --- a/drivers/gpu/drm/amd/include/amd_shared.h
> +++ b/drivers/gpu/drm/amd/include/amd_shared.h
> @@ -142,6 +142,7 @@ enum PP_FEATURE_MASK {
> 
>  enum DC_FEATURE_MASK {
>  	DC_FBC_MASK = 0x1,
> +	DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2,
>  };
> 
>  enum amd_dpm_forced_level;
> --
> 2.20.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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-08-23  3:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22 19:30 [PATCH 0/4] Support mclk switching when monitors are in sync (v2) Alex Deucher
     [not found] ` <20190822193050.3107-1-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
2019-08-22 19:30   ` [PATCH 1/4] drm/amdgpu/powerplay/smu7: enable mclk switching if monitors are synced Alex Deucher
2019-08-22 19:30   ` [PATCH 2/4] drm/amdgpu/powerplay/vega10: " Alex Deucher
2019-08-22 19:30   ` [PATCH 3/4] drm/amd/display: update bw_calcs to take pipe sync into account (v3) Alex Deucher
2019-08-22 19:30   ` [PATCH 4/4] drm/amdgpu/display: add flag for multi-display mclk switching Alex Deucher
     [not found]     ` <20190822193050.3107-5-alexander.deucher-5C7GfCeVMHo@public.gmane.org>
2019-08-22 19:40       ` Kazlauskas, Nicholas
2019-08-23  3:42       ` Quan, Evan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.