xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: david@lechnology.com, "Sam Ravnborg" <sam@ravnborg.org>,
	oleksandr_andrushchenko@epam.com,
	"Dave Airlie" <airlied@linux.ie>,
	"Emil Velikov" <emil.l.velikov@gmail.com>,
	"ML dri-devel" <dri-devel@lists.freedesktop.org>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"open list:VIRTIO GPU DRIVER"
	<virtualization@lists.linux-foundation.org>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Noralf Trønnes" <noralf@tronnes.org>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	xen-devel@lists.xenproject.org,
	"Emil Velikov" <emil.velikov@collabora.com>,
	"Sean Paul" <sean@poorly.run>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>
Subject: Re: [Xen-devel] [PATCH v4 01/15] drm: Initialize struct drm_crtc_state.no_vblank from device settings
Date: Tue, 28 Jan 2020 16:14:42 +0100	[thread overview]
Message-ID: <20200128151442.GH43062@phenom.ffwll.local> (raw)
In-Reply-To: <183782e6-164c-bae8-90e0-906edb059a1d@suse.de>

On Mon, Jan 27, 2020 at 07:42:27PM +0100, Thomas Zimmermann wrote:
> Hi Emil
> 
> Am 27.01.20 um 19:12 schrieb Emil Velikov:
> > Hi Thomas,
> > 
> > On Thu, 23 Jan 2020 at 09:21, Thomas Zimmermann <tzimmermann@suse.de> wrote:
> > 
> >> @@ -174,12 +174,22 @@ struct drm_crtc_state {
> >>          * @no_vblank:
> >>          *
> >>          * Reflects the ability of a CRTC to send VBLANK events. This state
> >> -        * usually depends on the pipeline configuration, and the main usuage
> >> -        * is CRTCs feeding a writeback connector operating in oneshot mode.
> >> -        * In this case the VBLANK event is only generated when a job is queued
> >> -        * to the writeback connector, and we want the core to fake VBLANK
> >> -        * events when this part of the pipeline hasn't changed but others had
> >> -        * or when the CRTC and connectors are being disabled.
> >> +        * usually depends on the pipeline configuration. If set to true, DRM
> >> +        * atomic helpers will sendout a fake VBLANK event during display
> >> +        * updates.
> >> +        *
> >> +        * One usage is for drivers and/or hardware without support for VBLANK
> >> +        * interrupts. Such drivers typically do not initialize vblanking
> >> +        * (i.e., call drm_vblank_init() wit the number of CRTCs). For CRTCs
> >> +        * without initialized vblanking, the field is initialized to true and
> >> +        * a VBLANK event will be send out on each update of the display
> >> +        * pipeline.
> >> +        *
> >> +        * Another usage is CRTCs feeding a writeback connector operating in
> >> +        * oneshot mode. In this case the VBLANK event is only generated when
> >> +        * a job is queued to the writeback connector, and we want the core
> >> +        * to fake VBLANK events when this part of the pipeline hasn't changed
> >> +        * but others had or when the CRTC and connectors are being disabled.
> >>          *
> > 
> > Perhaps it's just me, yet the following ideas would make the topic
> > significantly easier and clearer.
> > 
> >  - adding explicit "fake" when talking about drm/atomic _helpers_
> > generating/sending a VBLANK event.
> > For example, in 15/15 the commit message says "fake", while inline
> > comment omits it... Leading to the confusion pointed out.
> 
> No problem on being more precise here. I'll update the docs accordingly.
> 
> > 
> > - s/no_vblank/fake_vblank/g or s/no_vblank/no_hw_vblank/g
> > Simple and concise. With slight inclination towards the former wording :-)
> 
> I'd prefer to not change the field's name. The current name 'no_vblank'
> indicates state and lets helpers decide what to do with it. The name
> 'fake_vblank' indicates an instruction to the helpers, telling them what
> to do. It does neither seem to fit into drm_crtc_state, nor into the
> overall concept.

Yeah e.g. xen has no hw vblank, but still has special processing of
events, which are kinda triggered by the "hw" (it's an event from the
compositor).

Maybe the confusion is with the helper function that generates the
fake_vblank, since it's not really a fake vblank at all, it's just "send
out this atomic completion event now, I'm not going to do it as part of
the vblank processing since no vblank". So maybe that function should be
called _send_events_i_have_no_hw_vblank, which yeah is not a great name
:-) But maybe you have an idea for that one?
-Daniel

> 
> Best regards
> Thomas
> 
> > 
> > If you and Daniel agree with the rename, then the first sentence of
> > the description should probably be tweaked.
> > 
> > HTH
> > Emil
> > 
> 
> -- 
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Felix Imendörffer
> 




-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2020-01-28 15:15 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-23  9:21 [Xen-devel] [PATCH v4 00/15] Use no_vblank property for drivers without VBLANK Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 01/15] drm: Initialize struct drm_crtc_state.no_vblank from device settings Thomas Zimmermann
2020-01-27  9:40   ` Daniel Vetter
2020-01-27 18:12   ` Emil Velikov
2020-01-27 18:42     ` Thomas Zimmermann
2020-01-28 15:14       ` Daniel Vetter [this message]
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 02/15] drm/arc: Remove sending of vblank event Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 03/15] drm/ast: Don't set struct drm_crtc_state.no_vblank explictly Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 04/15] drm/bochs: Remove sending of vblank event Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 05/15] drm/cirrus: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 06/15] drm/gm12u320: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 07/15] drm/ili9225: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 08/15] drm/mipi-dbi: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 09/15] drm/qxl: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 10/15] drm/repaper: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 11/15] drm/st7586: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 12/15] drm/udl: Don't set struct drm_crtc_state.no_vblank explictly Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 13/15] drm/vboxvideo: Remove sending of vblank event Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 14/15] drm/virtio: " Thomas Zimmermann
2020-01-23  9:21 ` [Xen-devel] [PATCH v4 15/15] drm/xen: Explicitly disable automatic " Thomas Zimmermann
2020-01-27  9:47   ` Daniel Vetter
2020-01-27  9:53   ` Oleksandr Andrushchenko
2020-01-27 11:59     ` Thomas Zimmermann
2020-01-27 12:10       ` Oleksandr Andrushchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200128151442.GH43062@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@linux.ie \
    --cc=david@lechnology.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emil.l.velikov@gmail.com \
    --cc=emil.velikov@collabora.com \
    --cc=hdegoede@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=noralf@tronnes.org \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=sam@ravnborg.org \
    --cc=sean@poorly.run \
    --cc=tzimmermann@suse.de \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).