Browse Source

Merge "disp: msm: sde: add verbose evtlogs for debug purpose"

qctecmdr 4 years ago
parent
commit
09dad7e79b
6 changed files with 20 additions and 14 deletions
  1. 2 1
      msm/msm_gem.c
  2. 2 2
      msm/msm_smmu.c
  3. 2 5
      msm/sde/sde_crtc.c
  4. 6 3
      msm/sde/sde_encoder.c
  5. 7 2
      msm/sde/sde_encoder_phys_cmd.c
  6. 1 1
      msm/sde/sde_kms.c

+ 2 - 1
msm/msm_gem.c

@@ -440,7 +440,8 @@ static int msm_gem_get_iova_locked(struct drm_gem_object *obj,
 
 
 			DRM_DEBUG("detach nsec-dev:%pK attach sec-dev:%pK\n",
 			DRM_DEBUG("detach nsec-dev:%pK attach sec-dev:%pK\n",
 					obj->import_attach->dev, dev);
 					obj->import_attach->dev, dev);
-			SDE_EVT32(obj->import_attach->dev, dev, msm_obj->sgt);
+			SDE_EVT32(obj->import_attach->dev, dev, msm_obj->sgt,
+					 msm_obj->obj_dirty);
 
 
 			if (msm_obj->sgt)
 			if (msm_obj->sgt)
 				dma_buf_unmap_attachment(obj->import_attach,
 				dma_buf_unmap_attachment(obj->import_attach,

+ 2 - 2
msm/msm_smmu.c

@@ -258,7 +258,7 @@ static int msm_smmu_map_dma_buf(struct msm_mmu *mmu, struct sg_table *sgt,
 				&sgt->sgl->dma_address, sgt->sgl->dma_length,
 				&sgt->sgl->dma_address, sgt->sgl->dma_length,
 				dir, attrs);
 				dir, attrs);
 		SDE_EVT32(sgt->sgl->dma_address, sgt->sgl->dma_length,
 		SDE_EVT32(sgt->sgl->dma_address, sgt->sgl->dma_length,
-				dir, attrs, client->secure);
+				dir, attrs, client->secure, flags);
 	}
 	}
 
 
 	return 0;
 	return 0;
@@ -281,7 +281,7 @@ static void msm_smmu_unmap_dma_buf(struct msm_mmu *mmu, struct sg_table *sgt,
 				&sgt->sgl->dma_address, sgt->sgl->dma_length,
 				&sgt->sgl->dma_address, sgt->sgl->dma_length,
 				dir);
 				dir);
 		SDE_EVT32(sgt->sgl->dma_address, sgt->sgl->dma_length,
 		SDE_EVT32(sgt->sgl->dma_address, sgt->sgl->dma_length,
-				dir, client->secure);
+				dir, client->secure, flags);
 	}
 	}
 
 
 	if (!(flags & MSM_BO_EXTBUF))
 	if (!(flags & MSM_BO_EXTBUF))

+ 2 - 5
msm/sde/sde_crtc.c

@@ -1419,7 +1419,7 @@ static void _sde_crtc_blend_setup_mixer(struct drm_crtc *crtc,
 	uint32_t stage_idx, lm_idx, layout_idx;
 	uint32_t stage_idx, lm_idx, layout_idx;
 	int zpos_cnt[MAX_LAYOUTS_PER_CRTC][SDE_STAGE_MAX + 1];
 	int zpos_cnt[MAX_LAYOUTS_PER_CRTC][SDE_STAGE_MAX + 1];
 	int i, mode, cnt = 0;
 	int i, mode, cnt = 0;
-	bool bg_alpha_enable = false, is_secure = false;
+	bool bg_alpha_enable = false;
 	u32 blend_type;
 	u32 blend_type;
 	DECLARE_BITMAP(fetch_active, SSPP_MAX);
 	DECLARE_BITMAP(fetch_active, SSPP_MAX);
 
 
@@ -1454,9 +1454,6 @@ static void _sde_crtc_blend_setup_mixer(struct drm_crtc *crtc,
 
 
 		mode = sde_plane_get_property(pstate,
 		mode = sde_plane_get_property(pstate,
 				PLANE_PROP_FB_TRANSLATION_MODE);
 				PLANE_PROP_FB_TRANSLATION_MODE);
-		is_secure = ((mode == SDE_DRM_FB_SEC) ||
-				(mode == SDE_DRM_FB_SEC_DIR_TRANS)) ?
-				true : false;
 
 
 		set_bit(sde_plane_pipe(plane), fetch_active);
 		set_bit(sde_plane_pipe(plane), fetch_active);
 		sde_plane_ctl_flush(plane, ctl, true);
 		sde_plane_ctl_flush(plane, ctl, true);
@@ -1488,7 +1485,7 @@ static void _sde_crtc_blend_setup_mixer(struct drm_crtc *crtc,
 					state->src_w >> 16, state->src_h >> 16,
 					state->src_w >> 16, state->src_h >> 16,
 					state->crtc_x, state->crtc_y,
 					state->crtc_x, state->crtc_y,
 					state->crtc_w, state->crtc_h,
 					state->crtc_w, state->crtc_h,
-					pstate->rotation, is_secure);
+					pstate->rotation, mode);
 
 
 			/*
 			/*
 			 * none or left layout will program to layer mixer
 			 * none or left layout will program to layer mixer

+ 6 - 3
msm/sde/sde_encoder.c

@@ -994,7 +994,9 @@ static int sde_encoder_virt_atomic_check(
 	}
 	}
 
 
 	drm_mode_set_crtcinfo(adj_mode, 0);
 	drm_mode_set_crtcinfo(adj_mode, 0);
-	SDE_EVT32(DRMID(drm_enc), adj_mode->flags, adj_mode->private_flags);
+	SDE_EVT32(DRMID(drm_enc), adj_mode->flags, adj_mode->private_flags,
+		 old_top, adj_mode->vrefresh, adj_mode->hdisplay,
+		 adj_mode->vdisplay, adj_mode->htotal, adj_mode->vtotal);
 
 
 	return ret;
 	return ret;
 }
 }
@@ -1307,8 +1309,6 @@ static int _sde_encoder_update_rsc_client(
 			rsc_state = SDE_RSC_CLK_STATE;
 			rsc_state = SDE_RSC_CLK_STATE;
 	}
 	}
 
 
-	SDE_EVT32(rsc_state, qsync_mode);
-
 	is_vid_mode = sde_encoder_check_curr_mode(&sde_enc->base,
 	is_vid_mode = sde_encoder_check_curr_mode(&sde_enc->base,
 				MSM_DISPLAY_VIDEO_MODE);
 				MSM_DISPLAY_VIDEO_MODE);
 	mode = &sde_enc->crtc->state->mode;
 	mode = &sde_enc->crtc->state->mode;
@@ -1339,6 +1339,9 @@ static int _sde_encoder_update_rsc_client(
 		sde_enc->rsc_state_init = false;
 		sde_enc->rsc_state_init = false;
 	}
 	}
 
 
+	SDE_EVT32(DRMID(drm_enc), rsc_state, qsync_mode,
+				 rsc_config->fps, sde_enc->rsc_state_init);
+
 	if (rsc_state != SDE_RSC_IDLE_STATE && !sde_enc->rsc_state_init
 	if (rsc_state != SDE_RSC_IDLE_STATE && !sde_enc->rsc_state_init
 			&& (disp_info->display_type == SDE_CONNECTOR_PRIMARY)) {
 			&& (disp_info->display_type == SDE_CONNECTOR_PRIMARY)) {
 		/* update it only once */
 		/* update it only once */

+ 7 - 2
msm/sde/sde_encoder_phys_cmd.c

@@ -174,12 +174,14 @@ static void sde_encoder_phys_cmd_pp_tx_done_irq(void *arg, int irq_idx)
 {
 {
 	struct sde_encoder_phys *phys_enc = arg;
 	struct sde_encoder_phys *phys_enc = arg;
 	struct sde_encoder_phys_cmd *cmd_enc;
 	struct sde_encoder_phys_cmd *cmd_enc;
-	u32 event = 0;
+	struct sde_hw_ctl *ctl;
+	u32 scheduler_status = INVALID_CTL_STATUS, event = 0;
 
 
 	if (!phys_enc || !phys_enc->hw_pp)
 	if (!phys_enc || !phys_enc->hw_pp)
 		return;
 		return;
 
 
 	cmd_enc = to_sde_encoder_phys_cmd(phys_enc);
 	cmd_enc = to_sde_encoder_phys_cmd(phys_enc);
+	ctl = phys_enc->hw_ctl;
 
 
 	SDE_ATRACE_BEGIN("pp_done_irq");
 	SDE_ATRACE_BEGIN("pp_done_irq");
 
 
@@ -196,8 +198,11 @@ static void sde_encoder_phys_cmd_pp_tx_done_irq(void *arg, int irq_idx)
 		spin_unlock(phys_enc->enc_spinlock);
 		spin_unlock(phys_enc->enc_spinlock);
 	}
 	}
 
 
+	if (ctl && ctl->ops.get_scheduler_status)
+		scheduler_status = ctl->ops.get_scheduler_status(ctl);
+
 	SDE_EVT32_IRQ(DRMID(phys_enc->parent),
 	SDE_EVT32_IRQ(DRMID(phys_enc->parent),
-			phys_enc->hw_pp->idx - PINGPONG_0, event);
+			phys_enc->hw_pp->idx - PINGPONG_0, event, scheduler_status);
 
 
 	/* Signal any waiting atomic commit thread */
 	/* Signal any waiting atomic commit thread */
 	wake_up_all(&phys_enc->pending_kickoff_wq);
 	wake_up_all(&phys_enc->pending_kickoff_wq);

+ 1 - 1
msm/sde/sde_kms.c

@@ -1196,7 +1196,7 @@ static void sde_kms_commit(struct msm_kms *kms,
 	SDE_ATRACE_BEGIN("sde_kms_commit");
 	SDE_ATRACE_BEGIN("sde_kms_commit");
 	for_each_old_crtc_in_state(old_state, crtc, old_crtc_state, i) {
 	for_each_old_crtc_in_state(old_state, crtc, old_crtc_state, i) {
 		if (crtc->state->active) {
 		if (crtc->state->active) {
-			SDE_EVT32(DRMID(crtc));
+			SDE_EVT32(DRMID(crtc), old_state);
 			sde_crtc_commit_kickoff(crtc, old_crtc_state);
 			sde_crtc_commit_kickoff(crtc, old_crtc_state);
 		}
 		}
 	}
 	}