diff mbox series

[1/4] drm/amd/display: Add some debug output for VRR BTR.

Message ID 20190418035122.15791-2-mario.kleiner.de@gmail.com (mailing list archive)
State New, archived
Headers show
Series [1/4] drm/amd/display: Add some debug output for VRR BTR. | expand

Commit Message

Mario Kleiner April 18, 2019, 3:51 a.m. UTC
Helps with debugging issues with low framerate compensation.

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
---
 .../amd/display/modules/freesync/freesync.c    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Kazlauskas, Nicholas April 18, 2019, 7:04 p.m. UTC | #1
On 4/17/19 11:51 PM, Mario Kleiner wrote:
> Helps with debugging issues with low framerate compensation.
> 
> Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
> ---

This looks like it'd generate a ton of debug output (the flip stuff is 
already a bit too spammy).

But more importantly the DC and module code doesn't touch the debug 
prints directly.

DC has the DC_LOG_* defines but the modules shouldn't touch anything 
logger related.

Nicholas Kazlauskas

>   .../amd/display/modules/freesync/freesync.c    | 18 ++++++++++++++++++
>   1 file changed, 18 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
> index 3d867e34f8b3..71274683da04 100644
> --- a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
> +++ b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
> @@ -1041,6 +1041,11 @@ void mod_freesync_handle_preflip(struct mod_freesync *mod_freesync,
>   		average_render_time_in_us += last_render_time_in_us;
>   		average_render_time_in_us /= DC_PLANE_UPDATE_TIMES_MAX;
>   
> +		DRM_DEBUG_DRIVER("vrr flip: avg %d us, last %d us, max %d us\n",
> +				 average_render_time_in_us,
> +				 last_render_time_in_us,
> +				 in_out_vrr->max_duration_in_us);
> +
>   		if (in_out_vrr->btr.btr_enabled) {
>   			apply_below_the_range(core_freesync,
>   					stream,
> @@ -1053,6 +1058,10 @@ void mod_freesync_handle_preflip(struct mod_freesync *mod_freesync,
>   				in_out_vrr);
>   		}
>   
> +		DRM_DEBUG_DRIVER("vrr btr_active:%d - num %d of dur %d us\n",
> +				 in_out_vrr->btr.btr_active,
> +				 in_out_vrr->btr.frames_to_insert,
> +				 in_out_vrr->btr.inserted_duration_in_us);
>   	}
>   }
>   
> @@ -1090,11 +1099,17 @@ void mod_freesync_handle_v_update(struct mod_freesync *mod_freesync,
>   				in_out_vrr->btr.inserted_duration_in_us);
>   			in_out_vrr->adjust.v_total_max =
>   				in_out_vrr->adjust.v_total_min;
> +			DRM_DEBUG_DRIVER("btr start: c=%d, vtotal=%d\n",
> +					 in_out_vrr->btr.frames_to_insert,
> +					 in_out_vrr->adjust.v_total_min);
>   		}
>   
>   		if (in_out_vrr->btr.frame_counter > 0)
>   			in_out_vrr->btr.frame_counter--;
>   
> +		DRM_DEBUG_DRIVER("btr upd: count %d\n",
> +				 in_out_vrr->btr.frame_counter);
> +
>   		/* Restore FreeSync */
>   		if (in_out_vrr->btr.frame_counter == 0) {
>   			in_out_vrr->adjust.v_total_min =
> @@ -1103,6 +1118,9 @@ void mod_freesync_handle_v_update(struct mod_freesync *mod_freesync,
>   			in_out_vrr->adjust.v_total_max =
>   				calc_v_total_from_refresh(stream,
>   				in_out_vrr->min_refresh_in_uhz);
> +			DRM_DEBUG_DRIVER("btr end: vtotal_min=%d/max=%d\n",
> +					 in_out_vrr->adjust.v_total_min,
> +					 in_out_vrr->adjust.v_total_max);
>   		}
>   	}
>   
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
index 3d867e34f8b3..71274683da04 100644
--- a/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
+++ b/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
@@ -1041,6 +1041,11 @@  void mod_freesync_handle_preflip(struct mod_freesync *mod_freesync,
 		average_render_time_in_us += last_render_time_in_us;
 		average_render_time_in_us /= DC_PLANE_UPDATE_TIMES_MAX;
 
+		DRM_DEBUG_DRIVER("vrr flip: avg %d us, last %d us, max %d us\n",
+				 average_render_time_in_us,
+				 last_render_time_in_us,
+				 in_out_vrr->max_duration_in_us);
+
 		if (in_out_vrr->btr.btr_enabled) {
 			apply_below_the_range(core_freesync,
 					stream,
@@ -1053,6 +1058,10 @@  void mod_freesync_handle_preflip(struct mod_freesync *mod_freesync,
 				in_out_vrr);
 		}
 
+		DRM_DEBUG_DRIVER("vrr btr_active:%d - num %d of dur %d us\n",
+				 in_out_vrr->btr.btr_active,
+				 in_out_vrr->btr.frames_to_insert,
+				 in_out_vrr->btr.inserted_duration_in_us);
 	}
 }
 
@@ -1090,11 +1099,17 @@  void mod_freesync_handle_v_update(struct mod_freesync *mod_freesync,
 				in_out_vrr->btr.inserted_duration_in_us);
 			in_out_vrr->adjust.v_total_max =
 				in_out_vrr->adjust.v_total_min;
+			DRM_DEBUG_DRIVER("btr start: c=%d, vtotal=%d\n",
+					 in_out_vrr->btr.frames_to_insert,
+					 in_out_vrr->adjust.v_total_min);
 		}
 
 		if (in_out_vrr->btr.frame_counter > 0)
 			in_out_vrr->btr.frame_counter--;
 
+		DRM_DEBUG_DRIVER("btr upd: count %d\n",
+				 in_out_vrr->btr.frame_counter);
+
 		/* Restore FreeSync */
 		if (in_out_vrr->btr.frame_counter == 0) {
 			in_out_vrr->adjust.v_total_min =
@@ -1103,6 +1118,9 @@  void mod_freesync_handle_v_update(struct mod_freesync *mod_freesync,
 			in_out_vrr->adjust.v_total_max =
 				calc_v_total_from_refresh(stream,
 				in_out_vrr->min_refresh_in_uhz);
+			DRM_DEBUG_DRIVER("btr end: vtotal_min=%d/max=%d\n",
+					 in_out_vrr->adjust.v_total_min,
+					 in_out_vrr->adjust.v_total_max);
 		}
 	}