[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 15/15] drm/xen: Explicitly disable automatic sending of vblank event
On 1/29/20 2:05 PM, Thomas Zimmermann wrote: > The atomic helpers automatically send out fake VBLANK events if no > vblanking has been initialized. This would apply to xen, but xen has > its own vblank logic. To avoid interfering with the atomic helpers, > disable automatic vblank events explicitly. > > v5: > * update comment > v4: > * separate commit from core vblank changes > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > Acked-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Thank you for your work, Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx> > --- > drivers/gpu/drm/xen/xen_drm_front_kms.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/drivers/gpu/drm/xen/xen_drm_front_kms.c > b/drivers/gpu/drm/xen/xen_drm_front_kms.c > index 4f34c5208180..78096bbcd226 100644 > --- a/drivers/gpu/drm/xen/xen_drm_front_kms.c > +++ b/drivers/gpu/drm/xen/xen_drm_front_kms.c > @@ -220,6 +220,24 @@ static bool display_send_page_flip(struct > drm_simple_display_pipe *pipe, > return false; > } > > +static int display_check(struct drm_simple_display_pipe *pipe, > + struct drm_plane_state *plane_state, > + struct drm_crtc_state *crtc_state) > +{ > + /* > + * Xen doesn't initialize vblanking via drm_vblank_init(), so > + * DRM helpers assume that it doesn't handle vblanking and start > + * sending out fake VBLANK events automatically. > + * > + * As xen contains it's own logic for sending out VBLANK events > + * in send_pending_event(), disable no_vblank (i.e., the xen > + * driver has vblanking support). > + */ > + crtc_state->no_vblank = false; > + > + return 0; > +} > + > static void display_update(struct drm_simple_display_pipe *pipe, > struct drm_plane_state *old_plane_state) > { > @@ -284,6 +302,7 @@ static const struct drm_simple_display_pipe_funcs > display_funcs = { > .enable = display_enable, > .disable = display_disable, > .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb, > + .check = display_check, > .update = display_update, > }; > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |