disp: msm: sde: log intf framecount in event logs

Log hardware interface framecount during te and vblank irqs for
command and video mode panels, respectively. This will help in
debugging any missed frames.

Change-Id: Ie86f686c4cc12de6a1f31aa47d4c7a5b8a68ea55
Signed-off-by: Nilaan Gunabalachandran <ngunabal@codeaurora.org>
This commit is contained in:
Nilaan Gunabalachandran
2019-06-24 16:34:10 -04:00
förälder 6a9e397c73
incheckning c6092f3e66
4 ändrade filer med 16 tillägg och 3 borttagningar

Visa fil

@@ -474,6 +474,7 @@ static void sde_encoder_phys_vid_vblank_irq(void *arg, int irq_idx)
{
struct sde_encoder_phys *phys_enc = arg;
struct sde_hw_ctl *hw_ctl;
struct intf_status intf_status = {0};
unsigned long lock_flags;
u32 flush_register = ~0;
u32 reset_status = 0;
@@ -530,11 +531,16 @@ not_flushed:
phys_enc->parent_ops.handle_vblank_virt(phys_enc->parent,
phys_enc);
if (phys_enc->hw_intf->ops.get_status)
phys_enc->hw_intf->ops.get_status(phys_enc->hw_intf,
&intf_status);
SDE_EVT32_IRQ(DRMID(phys_enc->parent), phys_enc->hw_intf->idx - INTF_0,
old_cnt, atomic_read(&phys_enc->pending_kickoff_cnt),
reset_status ? SDE_EVTLOG_ERROR : 0,
flush_register, event,
atomic_read(&phys_enc->pending_retire_fence_cnt));
atomic_read(&phys_enc->pending_retire_fence_cnt),
intf_status.frame_count);
/* Signal any waiting atomic commit thread */
wake_up_all(&phys_enc->pending_kickoff_wq);