Hi Jyri, On Monday 30 Jan 2017 13:11:56 Jyri Sarha wrote: > On 01/28/17 18:17, Laurent Pinchart wrote: > > On Friday 27 Jan 2017 12:04:55 Jyri Sarha wrote: > >> Move drm_atomic_helper_commit_modeset_enables() call to before > >> drm_atomic_helper_commit_planes() call and have a > >> omap_atomic_wait_for_completion() call after both. > >> > >> With the current dss dispc implementation we have to enable the new > >> modeset before we can commit planes. The dispc ovl configuration > >> relies on the video mode configuration been written into the HW when > >> the ovl configuration is calculated. > >> > >> This approach is not ideal because after a mode change the plane > >> update is executed only after the first vblank interrupt. The dispc > >> implementation should be fixed so that it is able use uncommitted drm > >> state information. information. > >> > >> Signed-off-by: Jyri Sarha <jsarha@xxxxxx> > >> --- > >> > >> drivers/gpu/drm/omapdrm/omap_drv.c | 16 +++++++++++++++- > >> 1 file changed, 15 insertions(+), 1 deletion(-) > >> > >> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c > >> b/drivers/gpu/drm/omapdrm/omap_drv.c index 5e55f1b..8c15735 100644 > >> --- a/drivers/gpu/drm/omapdrm/omap_drv.c > >> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c > >> @@ -96,8 +96,22 @@ static void omap_atomic_complete(struct > >> omap_atomic_state_commit *commit) dispc_runtime_get(); > >> > >> drm_atomic_helper_commit_modeset_disables(dev, old_state); > >> > >> - drm_atomic_helper_commit_planes(dev, old_state, 0); > >> + > >> + /* With the current dss dispc implementation we have to enable > >> + * the new modeset before we can commit planes. The dispc ovl > >> + * configuration relies on the video mode configuration been > >> + * written into the HW when the ovl configuration is > >> + * calculated. > >> + * > >> + * This approach is not ideal because after a mode change the > >> + * plane update is executed only after the first vblank > >> + * interrupt. The dispc implementation should be fixed so that > >> + * it is able use uncommitted drm state information. > > > > Any chance you could fix the dispc implementation ? ;-) Otherwise, could > > you > > I am currently studying how to do it, but it tricky... really tricky. In > DRM terms, the plane configuration is affected by the connector where > the crtc is connected to. The whole DSS should have to made understand > drm state structures. There certainly wont be any "fix" for 4.10, > probably nothing for 4.11 either. > > > rebase (and retest) this patch on top of "[PATCH 0/5] omapdrm: fences and > > zpos" ? > > Thanks, I'll do that. If you intend on merging this patch as a v4.10 fix then there's no need to rebase. If it targets v4.11, the above-mentioned series will likely go in first. -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel