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/ltdc.h | |
parent | 17fd7a9d324fd3af613ddd76f0439481acaad23d (diff) | |
download | linux-53273b5222082c021ac8889387ffe4cc89206f14.tar.gz linux-53273b5222082c021ac8889387ffe4cc89206f14.tar.bz2 linux-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/ltdc.h')
-rw-r--r-- | drivers/gpu/drm/stm/ltdc.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/stm/ltdc.h b/drivers/gpu/drm/stm/ltdc.h index d5afb8960867..e46f477a8494 100644 --- a/drivers/gpu/drm/stm/ltdc.h +++ b/drivers/gpu/drm/stm/ltdc.h @@ -38,6 +38,11 @@ struct ltdc_device { struct fps_info plane_fpsi[LTDC_MAX_LAYER]; }; +bool ltdc_crtc_scanoutpos(struct drm_device *dev, unsigned int pipe, + bool in_vblank_irq, int *vpos, int *hpos, + ktime_t *stime, ktime_t *etime, + const struct drm_display_mode *mode); + int ltdc_load(struct drm_device *ddev); void ltdc_unload(struct drm_device *ddev); |