Hi Jyri, Thank you for the patch. 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 rebase (and retest) this patch on top of "[PATCH 0/5] omapdrm: fences and zpos" ? > + */ > drm_atomic_helper_commit_modeset_enables(dev, old_state); > + omap_atomic_wait_for_completion(dev, old_state); > + > + drm_atomic_helper_commit_planes(dev, old_state, 0); > > omap_atomic_wait_for_completion(dev, old_state); -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel