ソースを参照

disp: msm: sde: log vblank timestamp in eventlogs

Log the vblank timestamp during vblank callback. This will be
useful in calculating the precise difference between the vsync
while debugging. As part of the change, remove the vblank
counter logging in sde_crtc as it floods the logs with 4 entries
for each vblank request.

Change-Id: I6b532ad657581fb2a34318541acbd81a44858819
Signed-off-by: Veera Sundaram Sankaran <[email protected]>
Veera Sundaram Sankaran 3 年 前
コミット
b40c05519d
2 ファイル変更1 行追加1 行削除
  1. 0 1
      msm/sde/sde_crtc.c
  2. 1 0
      msm/sde/sde_encoder.c

+ 0 - 1
msm/sde/sde_crtc.c

@@ -6151,7 +6151,6 @@ static u32 sde_crtc_get_vblank_counter(struct drm_crtc *crtc)
 		is_built_in = sde_encoder_is_built_in_display(encoder);
 		vblank_cnt = sde_encoder_get_frame_count(encoder);
 
-		SDE_EVT32(DRMID(crtc), DRMID(encoder), is_built_in, vblank_cnt);
 		SDE_DEBUG("crtc:%d enc:%d is_built_in:%d vblank_cnt:%d\n",
 				DRMID(crtc), DRMID(encoder), is_built_in, vblank_cnt);
 

+ 1 - 0
msm/sde/sde_encoder.c

@@ -3549,6 +3549,7 @@ static void sde_encoder_vblank_callback(struct drm_encoder *drm_enc,
 	if (phy_enc->sde_kms->debugfs_hw_fence)
 		sde_encoder_hw_fence_status(phy_enc->sde_kms, sde_enc->crtc, phy_enc->hw_ctl);
 
+	SDE_EVT32(DRMID(drm_enc), ktime_to_us(ts), atomic_read(&phy_enc->vsync_cnt));
 	SDE_ATRACE_END("encoder_vblank_callback");
 }