diff mbox series

[1/3] drm: add debug print to update_vblank_count

Message ID 20190613121802.2193-1-oleg.vasilev@intel.com (mailing list archive)
State New, archived
Headers show
Series [1/3] drm: add debug print to update_vblank_count | expand

Commit Message

Oleg Vasilev June 13, 2019, 12:18 p.m. UTC
Since we are logging all vblank counter updates 30 lines below,
it is also good to have some details whether and how vblank count
difference is calculated.

Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com>
---
 drivers/gpu/drm/drm_vblank.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Comments

Ville Syrjala June 14, 2019, 4:19 p.m. UTC | #1
On Thu, Jun 13, 2019 at 03:18:00PM +0300, Oleg Vasilev wrote:
> Since we are logging all vblank counter updates 30 lines below,
> it is also good to have some details whether and how vblank count
> difference is calculated.
> 
> Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com>
> ---
>  drivers/gpu/drm/drm_vblank.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
> index 0d704bddb1a6..603ab105125d 100644
> --- a/drivers/gpu/drm/drm_vblank.c
> +++ b/drivers/gpu/drm/drm_vblank.c
> @@ -241,12 +241,16 @@ static void drm_update_vblank_count(struct drm_device *dev, unsigned int pipe,
>  		 * on the difference in the timestamps and the
>  		 * frame/field duration.
>  		 */
> +
> +		DRM_DEBUG_VBL("crtc %u: Calculating number of vblanks."
> +			      " diff_ns = %lld, framedur_ns = %d)\n",
> +			      pipe, (long long) diff_ns, framedur_ns);

You can generally extract that info from the timestamps that already
get dumped, but I guess that is a bit of a hassle. So might as well
print the stuff the kernel already calculated for you.

The only downside is that lots of printks from the irq handler bogs
the machine down quite a bit. But these shouldn't be used outside of
short vbl debugging sessions anyway.

Pushed this one to drm-misc-next. Thanks for the patch.

> +
>  		diff = DIV_ROUND_CLOSEST_ULL(diff_ns, framedur_ns);
>  
>  		if (diff == 0 && in_vblank_irq)
> -			DRM_DEBUG_VBL("crtc %u: Redundant vblirq ignored."
> -				      " diff_ns = %lld, framedur_ns = %d)\n",
> -				      pipe, (long long) diff_ns, framedur_ns);
> +			DRM_DEBUG_VBL("crtc %u: Redundant vblirq ignored\n",
> +				      pipe);
>  	} else {
>  		/* some kind of default for drivers w/o accurate vbl timestamping */
>  		diff = in_vblank_irq ? 1 : 0;
> -- 
> 2.21.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 0d704bddb1a6..603ab105125d 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -241,12 +241,16 @@  static void drm_update_vblank_count(struct drm_device *dev, unsigned int pipe,
 		 * on the difference in the timestamps and the
 		 * frame/field duration.
 		 */
+
+		DRM_DEBUG_VBL("crtc %u: Calculating number of vblanks."
+			      " diff_ns = %lld, framedur_ns = %d)\n",
+			      pipe, (long long) diff_ns, framedur_ns);
+
 		diff = DIV_ROUND_CLOSEST_ULL(diff_ns, framedur_ns);
 
 		if (diff == 0 && in_vblank_irq)
-			DRM_DEBUG_VBL("crtc %u: Redundant vblirq ignored."
-				      " diff_ns = %lld, framedur_ns = %d)\n",
-				      pipe, (long long) diff_ns, framedur_ns);
+			DRM_DEBUG_VBL("crtc %u: Redundant vblirq ignored\n",
+				      pipe);
 	} else {
 		/* some kind of default for drivers w/o accurate vbl timestamping */
 		diff = in_vblank_irq ? 1 : 0;