From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S939407AbdAJPzF (ORCPT ); Tue, 10 Jan 2017 10:55:05 -0500 Received: from mga07.intel.com ([134.134.136.100]:11708 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932567AbdAJPzD (ORCPT ); Tue, 10 Jan 2017 10:55:03 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,344,1477983600"; d="scan'208";a="1110594393" Date: Tue, 10 Jan 2017 17:54:57 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Tomeu Vizoso Cc: linux-kernel@vger.kernel.org, Sean Paul , Thierry Reding , Emil Velikov , Daniel Vetter , Jani Nikula , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, David Airlie Subject: Re: [RESEND PATCH v14 2/2] drm/i915: Put "cooked" vlank counters in frame CRC lines Message-ID: <20170110155457.GE31595@intel.com> References: <20170110134305.26326-1-tomeu.vizoso@collabora.com> <20170110134305.26326-3-tomeu.vizoso@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170110134305.26326-3-tomeu.vizoso@collabora.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 10, 2017 at 02:43:05PM +0100, Tomeu Vizoso wrote: > Use drm_accurate_vblank_count so we have the full 32 bit to represent > the frame counter and userspace has a simpler way of knowing when the > counter wraps around. > > Signed-off-by: Tomeu Vizoso > Reviewed-by: Emil Velikov > Reviewed-by: Robert Foss > --- > > drivers/gpu/drm/i915/i915_irq.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index b9beb5955dae..75fb1f66cc0c 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -1557,7 +1557,6 @@ static void display_pipe_crc_irq_handler(struct drm_i915_private *dev_priv, > struct drm_driver *driver = dev_priv->drm.driver; > uint32_t crcs[5]; > int head, tail; > - u32 frame; > > spin_lock(&pipe_crc->lock); > if (pipe_crc->source) { > @@ -1612,8 +1611,9 @@ static void display_pipe_crc_irq_handler(struct drm_i915_private *dev_priv, > crcs[2] = crc2; > crcs[3] = crc3; > crcs[4] = crc4; > - frame = driver->get_vblank_counter(&dev_priv->drm, pipe); > - drm_crtc_add_crc_entry(&crtc->base, true, frame, crcs); > + drm_crtc_add_crc_entry(&crtc->base, true, > + drm_accurate_vblank_count(&crtc->base), My assumption would be that this gets called after the vblank irq handler, so using the _accurate version seems a bit overkill. > + crcs); > } > } > #else > -- > 2.9.3 -- Ville Syrjälä Intel OTC