Module Name: src Committed By: riastradh Date: Sun Dec 19 11:08:10 UTC 2021
Modified Files: src/sys/external/bsd/drm2/dist/drm: drm_vblank.c Log Message: drm: drm_update_vblank_count requires vbl_lock. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/external/bsd/drm2/dist/drm/drm_vblank.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/drm_vblank.c diff -u src/sys/external/bsd/drm2/dist/drm/drm_vblank.c:1.6 src/sys/external/bsd/drm2/dist/drm/drm_vblank.c:1.7 --- src/sys/external/bsd/drm2/dist/drm/drm_vblank.c:1.6 Sun Dec 19 11:08:02 2021 +++ src/sys/external/bsd/drm2/dist/drm/drm_vblank.c Sun Dec 19 11:08:10 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: drm_vblank.c,v 1.6 2021/12/19 11:08:02 riastradh Exp $ */ +/* $NetBSD: drm_vblank.c,v 1.7 2021/12/19 11:08:10 riastradh Exp $ */ /* * drm_irq.c IRQ and vblank support @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: drm_vblank.c,v 1.6 2021/12/19 11:08:02 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: drm_vblank.c,v 1.7 2021/12/19 11:08:10 riastradh Exp $"); #include <linux/export.h> #include <linux/moduleparam.h> @@ -345,12 +345,14 @@ u64 drm_crtc_accurate_vblank_count(struc WARN_ONCE(drm_debug_enabled(DRM_UT_VBL) && !dev->driver->get_vblank_timestamp, "This function requires support for accurate vblank timestamps."); + spin_lock(&dev->vbl_lock); spin_lock_irqsave(&dev->vblank_time_lock, flags); drm_update_vblank_count(dev, pipe, false); vblank = drm_vblank_count(dev, pipe); spin_unlock_irqrestore(&dev->vblank_time_lock, flags); + spin_unlock(&dev->vbl_lock); return vblank; }