Hello,

while playing around with FIMD enabled, I noticed that when first using
the device a zero division was triggered in fimd_calc_clkdiv(). I
remembered that I had a similar issue some time ago.

I added a stub fimd_atomic_check() which shows that vrefresh is zero
when fimd_calc_clkdiv() is called.

[  164.059361] [drm:exynos_plane_mode_set] plane : offset_x/y(0,0),
width/height(1366,768)
[  164.067175] [drm:fimd_atomic_check] xres=1366, yres=768, refresh=0,
intl=0
[  164.074198] [drm:drm_atomic_helper_check_planes] [CRTC:24:crtc-0]
atomic driver check failed

I went back to the git log and noticed that some time ago in
50bbfbffa5c894def440ce8157dfe53e60960d35 the fimd_mode_fixup() call was
removed.

I'm now wondering where exactly vrefresh is set to a sane value. As far
as I can see of_get_videomode() is used to fetch the video mode from the
DT, and drm_display_mode_from_videomode() is used to convert it. However
vrefresh is nowhere set.

So is something broken here, or am I missing something?

With best wishes,
Tobias

Reply via email to