On Sat, Apr 30, 2016 at 5:37 PM, Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> wrote: > 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? > There is no guarantee that vrefresh is actually set. I think the only way to reliably get it is to call drm_mode_vrefresh(). Alex _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel