drm/msm/mdp5: high precision vblank timestamp support
authorArchit Taneja <architt@codeaurora.org>
Mon, 26 Oct 2015 09:13:57 +0000 (14:43 +0530)
committerRob Clark <robdclark@gmail.com>
Mon, 14 Dec 2015 15:37:01 +0000 (10:37 -0500)
commite2dd9f9ffa7fff1d56d331b08cce72781f65aa52
treefd0d9af9533125d942ce691dda33b53dec36fd4d
parent663a233eef643b38f36c05535cb5c9a4972edcc1
drm/msm/mdp5: high precision vblank timestamp support

MDP5 has line count and frame count registers for each interface. Enable
these counters and use them to implement the get_vblank_timestamp drm
driver op.

The line counter starts with the value 1 at the beginning of the VSYNC
pulse and ends with value VTOTAL at the end of VFP. This value is used
to determine whether we're in blanking period or not, and an adjusted
value of this counter is used to get vpos as expected by
get_scanout_position. Since there is no way to calculate hpos, we always
set it to 0.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h