Re: [PATCHv2 09/10] drm: omapdrm: crtc: get manual mode displays working
From: Tony Lindgren
Date: Sun Mar 05 2017 - 00:40:53 EST
* Sebastian Reichel <sre@xxxxxxxxxx> [170304 16:45]:
> From: Tony Lindgren <tony@xxxxxxxxxxx>
>
> With manual mode displays we need to flush the panel manually.
>
> Let's add flushing so we get Tomi's fbtest, kmstest, kmstest --flip,
> and X and wayland working.
> --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
> +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
> @@ -97,6 +97,11 @@ bool omap_crtc_is_manual_updated(struct drm_crtc *crtc)
> return omap_crtc->manually_updated;
> }
>
> +static void omap_crtc_manual_needs_flush(struct drm_crtc *crtc)
> +{
> + omap_crtc_flush(crtc, 0, 0, 0, 0);
> +}
...
> @@ -554,6 +561,7 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc,
> ret = drm_crtc_vblank_get(crtc);
> WARN_ON(ret != 0);
> }
> + omap_crtc_flush(&omap_crtc->base, 0, 0, 0, 0);
Just noticed that this should also just use omap_crtc_manual_needs_flush()
here if you care to update it.
Regards,
Tony