Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e90235e1 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "disp: msm: sde: get ctl scheduler status at each vsync"

parents c4ae73b9 0a621352
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -254,13 +254,15 @@ static void sde_encoder_phys_cmd_te_rd_ptr_irq(void *arg, int irq_idx)
{
	struct sde_encoder_phys *phys_enc = arg;
	struct sde_encoder_phys_cmd *cmd_enc;
	u32 event = 0;
	u32 event = 0, scheduler_status = INVALID_CTL_STATUS;
	struct sde_hw_ctl *ctl;

	if (!phys_enc || !phys_enc->hw_pp || !phys_enc->hw_intf)
		return;

	SDE_ATRACE_BEGIN("rd_ptr_irq");
	cmd_enc = to_sde_encoder_phys_cmd(phys_enc);
	ctl = phys_enc->hw_ctl;

	/**
	 * signal only for master, when the ctl_start irq is
@@ -277,10 +279,13 @@ static void sde_encoder_phys_cmd_te_rd_ptr_irq(void *arg, int irq_idx)
				phys_enc->parent, phys_enc, event);
	}

	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,
			phys_enc->hw_intf->idx - INTF_0,
			event, 0xfff);
			event, scheduler_status, 0xfff);

	if (phys_enc->parent_ops.handle_vblank_virt)
		phys_enc->parent_ops.handle_vblank_virt(phys_enc->parent,
+1 −1
Original line number Diff line number Diff line
@@ -691,7 +691,7 @@ static u32 sde_hw_ctl_get_reset_status(struct sde_hw_ctl *ctx)
static u32 sde_hw_ctl_get_scheduler_status(struct sde_hw_ctl *ctx)
{
	if (!ctx)
		return 0;
		return INVALID_CTL_STATUS;
	return (u32)SDE_REG_READ(&ctx->hw, CTL_STATUS);
}

+2 −0
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@
#include "sde_hw_sspp.h"
#include "sde_hw_blk.h"

#define INVALID_CTL_STATUS 0xfffff88e

/**
 * sde_ctl_mode_sel: Interface mode selection
 * SDE_CTL_MODE_SEL_VID:    Video mode interface