disp: msm: sde: program read pointer after configuring vsync_counter_en
Program the read pointer after configuring the tearcheck registers. The read pointer register should be configured after VSYNC_COUNTER_EN is set as per hw programming sequence. Change-Id: Idc410867aa92760b43117552b00914481c0ba6d3 Signed-off-by: Jayaprakash Madisetty <quic_jmadiset@quicinc.com>
Dieser Commit ist enthalten in:
@@ -763,9 +763,6 @@ static int sde_hw_intf_setup_te_config(struct sde_hw_intf *intf,
|
||||
*/
|
||||
spin_lock(&tearcheck_spinlock);
|
||||
val = te->start_pos + te->sync_threshold_start + 1;
|
||||
if (intf->cap->features & BIT(SDE_INTF_TE_32BIT))
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_WRCOUNT_EXT, (val >> 16));
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_WRCOUNT, (val & 0xffff));
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_CONFIG_VSYNC, cfg);
|
||||
wmb(); /* disable vsync counter before updating single buffer registers */
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_CONFIG_HEIGHT, te->sync_cfg_height);
|
||||
@@ -783,6 +780,11 @@ static int sde_hw_intf_setup_te_config(struct sde_hw_intf *intf,
|
||||
(te->sync_threshold_start & 0xffff)));
|
||||
cfg |= BIT(19); /* VSYNC_COUNTER_EN */
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_CONFIG_VSYNC, cfg);
|
||||
wmb(); /* ensure vsync_counter_en is written */
|
||||
|
||||
if (intf->cap->features & BIT(SDE_INTF_TE_32BIT))
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_WRCOUNT_EXT, (val >> 16));
|
||||
SDE_REG_WRITE(c, INTF_TEAR_SYNC_WRCOUNT, (val & 0xffff));
|
||||
spin_unlock(&tearcheck_spinlock);
|
||||
|
||||
return 0;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren