xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [Xen-devel] [PATCH v4 00/15] Use no_vblank property for drivers without VBLANK
@ 2020-01-23  9:21 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
                   ` (14 more replies)
  0 siblings, 15 replies; 24+ messages in thread
From: Thomas Zimmermann @ 2020-01-23  9:21 UTC (permalink / raw)
  To: airlied, daniel, kraxel, maarten.lankhorst, mripard, hdegoede,
	david, noralf, sean, oleksandr_andrushchenko, sam,
	laurent.pinchart, emil.velikov
  Cc: xen-devel, Thomas Zimmermann, dri-devel, virtualization

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 state of a device wrt vblanking. If
vblanking has been initialized for the device, the driver is responsible
for sending out VBLANK events. Otherwise, DRM will send out the event.
The behaviour is 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 now disables no_vblank explictly.

v4:
	* replaced drm_crtc_has_vblank() with drm_dev_has_vblank() (Daniel)
	* squashed patches 1 and 2
	* moved driver updates into separate patches
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 (15):
  drm: Initialize struct drm_crtc_state.no_vblank from device settings
  drm/arc: Remove sending of vblank event
  drm/ast: Don't set struct drm_crtc_state.no_vblank explictly
  drm/bochs: Remove sending of vblank event
  drm/cirrus: Remove sending of vblank event
  drm/gm12u320: Remove sending of vblank event
  drm/ili9225: Remove sending of vblank event
  drm/mipi-dbi: Remove sending of vblank event
  drm/qxl: Remove sending of vblank event
  drm/repaper: Remove sending of vblank event
  drm/st7586: Remove sending of vblank event
  drm/udl: Don't set struct drm_crtc_state.no_vblank explictly
  drm/vboxvideo: Remove sending of vblank event
  drm/virtio: Remove sending of vblank event
  drm/xen: Explicitly disable automatic sending of vblank event

 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             | 28 ++++++++++++++++++++++++
 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, 76 insertions(+), 135 deletions(-)

--
2.24.1


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

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-01-28 15:15 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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).