[PATCH] drm/amd/display: Use pr_debug in DM to prevent dmesg flooding

Harry Wentland harry.wentland at amd.com
Tue Mar 30 20:17:47 UTC 2021



On 2021-03-30 1:22 p.m., Victor Lu wrote:
> [why]
> Enabling drm.debug=0x4 can flood the dmesg due to prints on every cursor
> update or page flip.
> 

Maybe mention something like this: "Our CI enables drm.debug=0x4 logs 
and is now getting spammed with cursor updates. We probably want to 
avoid spamming the log when DRM_DEBUG_KMS."

The change is
Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

> [how]
> Define and use pr_debug macros instead of a few spammy DRM_DEBUG_*'s.
> 
> Signed-off-by: Victor Lu <victorchengchi.lu at amd.com>
> ---
>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 20 +++++++++----------
>   .../drm/amd/display/include/logger_types.h    |  3 +++
>   2 files changed, 13 insertions(+), 10 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 92cee957b424..04dbcbc7578d 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -372,14 +372,14 @@ static void dm_pflip_high_irq(void *interrupt_params)
>   	/* IRQ could occur when in initial stage */
>   	/* TODO work and BO cleanup */
>   	if (amdgpu_crtc == NULL) {
> -		DRM_DEBUG_DRIVER("CRTC is null, returning.\n");
> +		DC_LOG_PFLIP("CRTC is null, returning.\n");
>   		return;
>   	}
>   
>   	spin_lock_irqsave(&adev_to_drm(adev)->event_lock, flags);
>   
>   	if (amdgpu_crtc->pflip_status != AMDGPU_FLIP_SUBMITTED){
> -		DRM_DEBUG_DRIVER("amdgpu_crtc->pflip_status = %d !=AMDGPU_FLIP_SUBMITTED(%d) on crtc:%d[%p] \n",
> +		DC_LOG_PFLIP("amdgpu_crtc->pflip_status = %d !=AMDGPU_FLIP_SUBMITTED(%d) on crtc:%d[%p] \n",
>   						 amdgpu_crtc->pflip_status,
>   						 AMDGPU_FLIP_SUBMITTED,
>   						 amdgpu_crtc->crtc_id,
> @@ -450,9 +450,9 @@ static void dm_pflip_high_irq(void *interrupt_params)
>   	amdgpu_crtc->pflip_status = AMDGPU_FLIP_NONE;
>   	spin_unlock_irqrestore(&adev_to_drm(adev)->event_lock, flags);
>   
> -	DRM_DEBUG_KMS("crtc:%d[%p], pflip_stat:AMDGPU_FLIP_NONE, vrr[%d]-fp %d\n",
> -		      amdgpu_crtc->crtc_id, amdgpu_crtc,
> -		      vrr_active, (int) !e);
> +	DC_LOG_PFLIP("crtc:%d[%p], pflip_stat:AMDGPU_FLIP_NONE, vrr[%d]-fp %d\n",
> +		     amdgpu_crtc->crtc_id, amdgpu_crtc,
> +		     vrr_active, (int) !e);
>   }
>   
>   static void dm_vupdate_high_irq(void *interrupt_params)
> @@ -482,7 +482,7 @@ static void dm_vupdate_high_irq(void *interrupt_params)
>   			atomic64_set(&irq_params->previous_timestamp, vblank->time);
>   		}
>   
> -		DRM_DEBUG_VBL("crtc:%d, vupdate-vrr:%d\n",
> +		DC_LOG_VBLANK("crtc:%d, vupdate-vrr:%d\n",
>   			      acrtc->crtc_id,
>   			      vrr_active);
>   
> @@ -535,7 +535,7 @@ static void dm_crtc_high_irq(void *interrupt_params)
>   
>   	vrr_active = amdgpu_dm_vrr_active_irq(acrtc);
>   
> -	DRM_DEBUG_VBL("crtc:%d, vupdate-vrr:%d, planes:%d\n", acrtc->crtc_id,
> +	DC_LOG_VBLANK("crtc:%d, vupdate-vrr:%d, planes:%d\n", acrtc->crtc_id,
>   		      vrr_active, acrtc->dm_irq_params.active_planes);
>   
>   	/**
> @@ -7991,7 +7991,7 @@ static void handle_cursor_update(struct drm_plane *plane,
>   	if (!plane->state->fb && !old_plane_state->fb)
>   		return;
>   
> -	DRM_DEBUG_KMS("%s: crtc_id=%d with size %d to %d\n",
> +	DC_LOG_CURSOR("%s: crtc_id=%d with size %d to %d\n",
>   		      __func__,
>   		      amdgpu_crtc->crtc_id,
>   		      plane->state->crtc_w,
> @@ -8053,8 +8053,8 @@ static void prepare_flip_isr(struct amdgpu_crtc *acrtc)
>   	/* Mark this event as consumed */
>   	acrtc->base.state->event = NULL;
>   
> -	DRM_DEBUG_KMS("crtc:%d, pflip_stat:AMDGPU_FLIP_SUBMITTED\n",
> -		      acrtc->crtc_id);
> +	DC_LOG_PFLIP("crtc:%d, pflip_stat:AMDGPU_FLIP_SUBMITTED\n",
> +		     acrtc->crtc_id);
>   }
>   
>   static void update_freesync_state_on_stream(
> diff --git a/drivers/gpu/drm/amd/display/include/logger_types.h b/drivers/gpu/drm/amd/display/include/logger_types.h
> index 21bbee17c527..571fcf23cea9 100644
> --- a/drivers/gpu/drm/amd/display/include/logger_types.h
> +++ b/drivers/gpu/drm/amd/display/include/logger_types.h
> @@ -36,6 +36,9 @@
>   #define DC_LOG_DC(...) DRM_DEBUG_KMS(__VA_ARGS__)
>   #define DC_LOG_DTN(...) DRM_DEBUG_KMS(__VA_ARGS__)
>   #define DC_LOG_SURFACE(...) pr_debug("[SURFACE]:"__VA_ARGS__)
> +#define DC_LOG_CURSOR(...) pr_debug("[CURSOR]:"__VA_ARGS__)
> +#define DC_LOG_PFLIP(...) pr_debug("[PFLIP]:"__VA_ARGS__)
> +#define DC_LOG_VBLANK(...) pr_debug("[VBLANK]:"__VA_ARGS__)
>   #define DC_LOG_HW_HOTPLUG(...) DRM_DEBUG_KMS(__VA_ARGS__)
>   #define DC_LOG_HW_LINK_TRAINING(...) pr_debug("[HW_LINK_TRAINING]:"__VA_ARGS__)
>   #define DC_LOG_HW_SET_MODE(...) DRM_DEBUG_KMS(__VA_ARGS__)
> 



More information about the amd-gfx mailing list