diff options
author | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2018-06-29 15:01:40 +0200 |
---|---|---|
committer | Benjamin Gaignard <benjamin.gaignard@linaro.org> | 2018-09-27 15:04:26 +0200 |
commit | 53273b5222082c021ac8889387ffe4cc89206f14 (patch) | |
tree | 9e08fe302ac557e92d02bcc64aa20884f38d2cac /drivers/gpu/drm/stm/drv.c | |
parent | 17fd7a9d324fd3af613ddd76f0439481acaad23d (diff) | |
download | linux-stable-53273b5222082c021ac8889387ffe4cc89206f14.tar.gz linux-stable-53273b5222082c021ac8889387ffe4cc89206f14.tar.bz2 linux-stable-53273b5222082c021ac8889387ffe4cc89206f14.zip |
drm: stm: implement get_scanout_position function
Hardware allow to read the position in scanout buffer so
we can use this information to make wait of vblank more accurate.
Active area bounds (start, end, total height) have already been
computed and written in ltdc registers, read them and get the
current line position to compute vpos value.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
Reviewed-by: Yannick Fertré <yannick.fertre@st.com>
Tested-by: Yannick Fertré <yannick.fertre@st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180629130140.16004-1-benjamin.gaignard@linaro.org
Diffstat (limited to 'drivers/gpu/drm/stm/drv.c')
-rw-r--r-- | drivers/gpu/drm/stm/drv.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c index f2021b23554d..d05f8f80fe6f 100644 --- a/drivers/gpu/drm/stm/drv.c +++ b/drivers/gpu/drm/stm/drv.c @@ -72,6 +72,8 @@ static struct drm_driver drv_driver = { .gem_prime_vmap = drm_gem_cma_prime_vmap, .gem_prime_vunmap = drm_gem_cma_prime_vunmap, .gem_prime_mmap = drm_gem_cma_prime_mmap, + .get_scanout_position = ltdc_crtc_scanoutpos, + .get_vblank_timestamp = drm_calc_vbltimestamp_from_scanoutpos, }; static int drv_load(struct drm_device *ddev) |