[RFCv1 33/42] drm/omap: dsi: use atomic helper for dirtyfb

Tony Lindgren tony at atomide.com
Mon Nov 18 23:05:35 UTC 2019


* Sebastian Reichel <sebastian.reichel at collabora.com> [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.

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?

Or maybe there is some better place to call it?

Regards,

Tony


More information about the dri-devel mailing list