summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/stm/ltdc.h
diff options
context:
space:
mode:
authorBenjamin Gaignard <benjamin.gaignard@linaro.org>2018-06-29 15:01:40 +0200
committerBenjamin Gaignard <benjamin.gaignard@linaro.org>2018-09-27 15:04:26 +0200
commit53273b5222082c021ac8889387ffe4cc89206f14 (patch)
tree9e08fe302ac557e92d02bcc64aa20884f38d2cac /drivers/gpu/drm/stm/ltdc.h
parent17fd7a9d324fd3af613ddd76f0439481acaad23d (diff)
downloadlinux-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.h5
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);