[Xen-devel] [PATCH v3 0/4] Use no_vblank property for drivers without VBLANK

Thomas Zimmermann posted 4 patches 4 years, 3 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
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(-)
[Xen-devel] [PATCH v3 0/4] Use no_vblank property for drivers without VBLANK
Posted by Thomas Zimmermann 4 years, 3 months ago
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


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v3 0/4] Use no_vblank property for drivers without VBLANK
Posted by Gerd Hoffmann 4 years, 2 months ago
On Mon, Jan 20, 2020 at 01:20:47PM +0100, Thomas Zimmermann wrote:
> 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.

Acked-by: Gerd Hoffmann <kraxel@redhat.com>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v3 0/4] Use no_vblank property for drivers without VBLANK
Posted by Thomas Zimmermann 4 years, 2 months ago
Hi

Am 21.01.20 um 10:36 schrieb Gerd Hoffmann:
> On Mon, Jan 20, 2020 at 01:20:47PM +0100, Thomas Zimmermann wrote:
>> 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.
> 
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>

Thanks a lot. v4 will mostly reorganize the patches so I'll keep your A-b.

Best regards
Thomas

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

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

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