diff --git a/msm/msm_gem.c b/msm/msm_gem.c index 4be1b8c31b..c6e3c920de 100644 --- a/msm/msm_gem.c +++ b/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", 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) dma_buf_unmap_attachment(obj->import_attach, diff --git a/msm/msm_smmu.c b/msm/msm_smmu.c index f5e536ba61..53f5f92656 100644 --- a/msm/msm_smmu.c +++ b/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, dir, attrs); SDE_EVT32(sgt->sgl->dma_address, sgt->sgl->dma_length, - dir, attrs, client->secure); + dir, attrs, client->secure, flags); } 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, dir); SDE_EVT32(sgt->sgl->dma_address, sgt->sgl->dma_length, - dir, client->secure); + dir, client->secure, flags); } if (!(flags & MSM_BO_EXTBUF)) diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index d42ef4173b..63258700fa 100644 --- a/msm/sde/sde_crtc.c +++ b/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; int zpos_cnt[MAX_LAYOUTS_PER_CRTC][SDE_STAGE_MAX + 1]; int i, mode, cnt = 0; - bool bg_alpha_enable = false, is_secure = false; + bool bg_alpha_enable = false; u32 blend_type; 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, 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); 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->crtc_x, state->crtc_y, state->crtc_w, state->crtc_h, - pstate->rotation, is_secure); + pstate->rotation, mode); /* * none or left layout will program to layer mixer diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index 7633a3af8b..c68f06a815 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -994,7 +994,9 @@ static int sde_encoder_virt_atomic_check( } 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; } @@ -1307,8 +1309,6 @@ static int _sde_encoder_update_rsc_client( rsc_state = SDE_RSC_CLK_STATE; } - SDE_EVT32(rsc_state, qsync_mode); - is_vid_mode = sde_encoder_check_curr_mode(&sde_enc->base, MSM_DISPLAY_VIDEO_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_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 && (disp_info->display_type == SDE_CONNECTOR_PRIMARY)) { /* update it only once */ diff --git a/msm/sde/sde_encoder_phys_cmd.c b/msm/sde/sde_encoder_phys_cmd.c index eac76f9580..88b461e3fc 100644 --- a/msm/sde/sde_encoder_phys_cmd.c +++ b/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_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) return; cmd_enc = to_sde_encoder_phys_cmd(phys_enc); + ctl = phys_enc->hw_ctl; 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); } + if (ctl && ctl->ops.get_scheduler_status) + scheduler_status = ctl->ops.get_scheduler_status(ctl); + 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 */ wake_up_all(&phys_enc->pending_kickoff_wq); diff --git a/msm/sde/sde_kms.c b/msm/sde/sde_kms.c index 239e5dfb59..211d35c89a 100644 --- a/msm/sde/sde_kms.c +++ b/msm/sde/sde_kms.c @@ -1196,7 +1196,7 @@ static void sde_kms_commit(struct msm_kms *kms, SDE_ATRACE_BEGIN("sde_kms_commit"); for_each_old_crtc_in_state(old_state, crtc, old_crtc_state, i) { if (crtc->state->active) { - SDE_EVT32(DRMID(crtc)); + SDE_EVT32(DRMID(crtc), old_state); sde_crtc_commit_kickoff(crtc, old_crtc_state); } }