dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: airlied@linux.ie, daniel@ffwll.ch, kraxel@redhat.com,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	hdegoede@redhat.com, david@lechnology.com, noralf@tronnes.org,
	sean@poorly.run, oleksandr_andrushchenko@epam.com,
	sam@ravnborg.org, laurent.pinchart@ideasonboard.com,
	emil.velikov@collabora.com
Cc: xen-devel@lists.xenproject.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	dri-devel@lists.freedesktop.org,
	virtualization@lists.linux-foundation.org
Subject: [PATCH v3 0/4] Use no_vblank property for drivers without VBLANK
Date: Mon, 20 Jan 2020 13:20:47 +0100	[thread overview]
Message-ID: <20200120122051.25178-1-tzimmermann@suse.de> (raw)

Instead of faking VBLANK events by themselves, drivers without VBLANK
support can enable drm_crtc_vblank.no_vblank and let DRM do the rest.
The patchset makes this official and converts over drivers.

The current implementation looks at the number of initialized CRTCs
wrt vblanking. If vblanking has been initialized for a CRTC, the driver
is responsible for sending out VBLANK events. Otherwise, DRM will send
out the event. The behaviour selected by initializing no_vblank as part
of drm_atomic_helper_check_modeset().

I went through all drivers, looking for those that call send out VBLANK
events but do not call drm_vblank_init(). These are converted to the new
semantics. This affects tiny drivers; drivers for virtual hardware; and
a few others, which do not support interrupts. Xen comes with its
own VBLANK logic and disables no_vblank explictly.

For now, I left out Hans' R-b on v2 of the series, as the patches changed
quite a bit.

v3:
	* reorder and squash patches
	* set no_vblank in drm_atomic_helper_check_modeset() for *all*
	  drivers (Daniel)
	* convert all drivers to new semnatics as necessary
v2:
	* document functionality (Daniel)
	* cleanup ast (Daniel)
	* let simple-kms handle no_vblank where possible

Thomas Zimmermann (4):
  drm: Add drm_crtc_has_vblank()
  drm: Initialize struct drm_crtc_state.no_vblank from device settings
  drm/ast: Don't set struct drm_crtc_state.no_vblank explictly
  drm/udl: Don't set struct drm_crtc_state.no_vblank explictly

 drivers/gpu/drm/arc/arcpgu_crtc.c        | 16 -------------
 drivers/gpu/drm/ast/ast_mode.c           |  2 --
 drivers/gpu/drm/bochs/bochs_kms.c        |  9 -------
 drivers/gpu/drm/cirrus/cirrus.c          |  8 -------
 drivers/gpu/drm/drm_atomic_helper.c      | 10 +++++++-
 drivers/gpu/drm/drm_mipi_dbi.c           |  9 -------
 drivers/gpu/drm/drm_vblank.c             | 30 ++++++++++++++++++++++++
 drivers/gpu/drm/qxl/qxl_display.c        | 14 -----------
 drivers/gpu/drm/tiny/gm12u320.c          |  9 -------
 drivers/gpu/drm/tiny/ili9225.c           |  9 -------
 drivers/gpu/drm/tiny/repaper.c           |  9 -------
 drivers/gpu/drm/tiny/st7586.c            |  9 -------
 drivers/gpu/drm/udl/udl_modeset.c        | 11 ---------
 drivers/gpu/drm/vboxvideo/vbox_mode.c    | 12 ----------
 drivers/gpu/drm/virtio/virtgpu_display.c |  8 -------
 drivers/gpu/drm/xen/xen_drm_front_kms.c  | 13 ++++++++++
 include/drm/drm_crtc.h                   | 27 +++++++++++++++------
 include/drm/drm_simple_kms_helper.h      |  7 ++++--
 include/drm/drm_vblank.h                 |  1 +
 19 files changed, 78 insertions(+), 135 deletions(-)

--
2.24.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

             reply	other threads:[~2020-01-20 12:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-20 12:20 Thomas Zimmermann [this message]
2020-01-20 12:20 ` [PATCH v3 1/4] drm: Add drm_crtc_has_vblank() Thomas Zimmermann
2020-01-22  8:31   ` Daniel Vetter
2020-01-22  8:53     ` Thomas Zimmermann
2020-01-22  9:04       ` Daniel Vetter
2020-01-22  9:42         ` Thomas Zimmermann
2020-01-20 12:20 ` [PATCH v3 2/4] drm: Initialize struct drm_crtc_state.no_vblank from device settings Thomas Zimmermann
2020-01-22  8:47   ` Daniel Vetter
2020-01-20 12:20 ` [PATCH v3 3/4] drm/ast: Don't set struct drm_crtc_state.no_vblank explictly Thomas Zimmermann
2020-01-20 12:20 ` [PATCH v3 4/4] drm/udl: " Thomas Zimmermann
2020-01-21  9:36 ` [PATCH v3 0/4] Use no_vblank property for drivers without VBLANK Gerd Hoffmann
2020-01-23  8:40   ` Thomas Zimmermann

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=20200120122051.25178-1-tzimmermann@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=david@lechnology.com \
    --cc=dri-devel@lists.freedesktop.org \
    --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=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).