* Tomi Valkeinen <tomi.valkeinen@xxxxxx> [191119 05:42]: > On 19/11/2019 01:05, Tony Lindgren wrote: > > * Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> [191117 07:11]: > > > We can simply use the atomic helper for > > > handling the dirtyfb callback. > > ... > > > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > > > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > > > -void omap_crtc_flush(struct drm_crtc *crtc) > > > +static void omap_crtc_flush(struct drm_crtc *crtc) > > > { > > > struct omap_crtc *omap_crtc = to_omap_crtc(crtc); > > > - struct omap_crtc_state *omap_state = to_omap_crtc_state(crtc->state); > > > - > > > - if (!omap_state->manually_updated) > > > - return; > > > if (!delayed_work_pending(&omap_crtc->update_work)) > > > schedule_delayed_work(&omap_crtc->update_work, 0); > > > > It would be nice if omap_crtc_flush() would become just some generic > > void function with no need to pass it a crtc. I guess for that it > > should know what panels are in manual command mode to refresh them. Proably still cannot be a void function, but seems like we need to call something outside omap_crtc.c. > > The reason I'm bringing this up is because it looks like we need > > to also flush DSI command mode panels from omap_gem_op_finish() > > for gles and the gem code probably should not need to know anything > > about crtc, right? > > We haven't had omap_gem_op_finish() in the kernel for some years now... > > Shouldn't a normal page flip, or if doing single-buffering, using the > dirtyfb ioctl, do the job? It does not seem to happen with the old pvr-omap4 related patches and whatever gles related tests at least. If you have some idea where it should get called I can take a look at some point. Regards, Tony _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel