drm/msm/sde: fix reading of the pingpong counters

Correct register enum and masks used for reading out the
pingpong vsync and line count values.

Change-Id: Iaa2a1034d38ad9f741c5201de2de7c5f39aeaaf5
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_pingpong.c b/drivers/gpu/drm/msm/sde/sde_hw_pingpong.c
index 49a98be..837edee 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_pingpong.c
+++ b/drivers/gpu/drm/msm/sde/sde_hw_pingpong.c
@@ -116,10 +116,14 @@
 		struct sde_hw_pp_vsync_info *info)
 {
 	struct sde_hw_blk_reg_map *c = &pp->hw;
+	u32 val;
 
-	info->init_val = SDE_REG_READ(c, PP_VSYNC_INIT_VAL) & 0xffff;
-	info->vsync_count = SDE_REG_READ(c, PP_SYNC_CONFIG_HEIGHT) & 0xffff;
-	info->line_count = SDE_REG_READ(c, PP_INT_COUNT_VAL) & 0xffff;
+	val = SDE_REG_READ(c, PP_VSYNC_INIT_VAL);
+	info->init_val = val & 0xffff;
+
+	val = SDE_REG_READ(c, PP_INT_COUNT_VAL);
+	info->vsync_count = (val & 0xffff0000) >> 16;
+	info->line_count = val & 0xffff;
 
 	return 0;
 }
@@ -158,3 +162,7 @@
 	return c;
 }
 
+void sde_hw_pingpong_destroy(struct sde_hw_pingpong *pp)
+{
+	kfree(pp);
+}