From patchwork Tue Oct 2 18:10:37 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 1538391 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork2.kernel.org (Postfix) with ESMTP id ABCC8DFFAD for ; Tue, 2 Oct 2012 18:10:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C24F49EB32 for ; Tue, 2 Oct 2012 11:10:53 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wi0-f171.google.com (mail-wi0-f171.google.com [209.85.212.171]) by gabe.freedesktop.org (Postfix) with ESMTP id 83EDD9E7CC for ; Tue, 2 Oct 2012 11:10:45 -0700 (PDT) Received: by mail-wi0-f171.google.com with SMTP id hj13so1026037wib.12 for ; Tue, 02 Oct 2012 11:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:x-mailer; bh=2QMD8LXmvaaoLHTNMLzjTuApvS4gXeqlB3jRTaYNGd4=; b=PAcQ91d+AaU5NVvx4jvs5WlhuDnWgiUa5r1uqMM/9wne8rgLx7NNRLeWUBnhiMliXp UufSI+Vl8Vb6KYlVuuL33CHhVnEIt8UswcWYbOIHvdsgNgGnjAf21iP16JjXjDxDMvZP h1kmvZrzg4zPtCjVbvvJ/RnzsO33l3viRtrpQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state; bh=2QMD8LXmvaaoLHTNMLzjTuApvS4gXeqlB3jRTaYNGd4=; b=UGT+s0MbGuBDjsKJbhzHIsk14IDIbYvl7i6nV74wpAmDl3U8C3dJBe7n014qSB9P/z FqrjYVuWtgIdSYxGkAgBfpJEqiVfBO1gnlM4557gfaaOvwIfnQLvVrR8dwWwkJ22E+lQ lLThZIGvcQzcVIcYDr4nIUhCozbxuv9qUKxgW7+ZyjFfRfa5+eMP+A0tVv1faajs6JdG 0Tj5s6PfQUx8yddDomqyz4zfycBG4X//sqq0VGUo151ZbzgaFaKf9Pijtcb+oXQdM7Yh kZ21b4VsNeaRNQLqX+717lFNvT/miaS9bxSsnfiXcGaxg26fmwQXLtgxRk/f9Q/1/oaq ImNg== Received: by 10.216.134.97 with SMTP id r75mr10641938wei.127.1349201444024; Tue, 02 Oct 2012 11:10:44 -0700 (PDT) Received: from biers.ffwll.local (178-83-130-250.dynamic.hispeed.ch. [178.83.130.250]) by mx.google.com with ESMTPS id b7sm22668831wiz.3.2012.10.02.11.10.42 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 02 Oct 2012 11:10:43 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Tue, 2 Oct 2012 20:10:37 +0200 Message-Id: <1349201437-17177-1-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.7.10 X-Gm-Message-State: ALoCoQl9OoU+dWmPwHFIhuG3vmC+pEVWw2qF6LOJF2S2KF08BL8X6Aq42I572pHG+Y/mdFNHkuz7 Cc: Daniel Vetter Subject: [Intel-gfx] [PATCH] drm/i915: don't frob the vblank ts in finish_page_flip X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Now that we correctly generate it, this hack is no longer required (and might actually paper over a serious bug). pageflip timestamps are sanity check in the latest version of the flip-test in intel-gpu-tools. v2: Also remove the gettimeofday(&now) which is no longer used. Noticed by Mario Kleiner. Signed-off-by: Daniel Vetter Tested-by: Imre Deak --- drivers/gpu/drm/i915/intel_display.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 57c1309..67912fe 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -6181,15 +6181,13 @@ static void do_intel_finish_page_flip(struct drm_device *dev, struct intel_unpin_work *work; struct drm_i915_gem_object *obj; struct drm_pending_vblank_event *e; - struct timeval tnow, tvbl; + struct timeval tvbl; unsigned long flags; /* Ignore early vblank irqs */ if (intel_crtc == NULL) return; - do_gettimeofday(&tnow); - spin_lock_irqsave(&dev->event_lock, flags); work = intel_crtc->unpin_work; if (work == NULL || !work->pending) { @@ -6203,25 +6201,6 @@ static void do_intel_finish_page_flip(struct drm_device *dev, e = work->event; e->event.sequence = drm_vblank_count_and_time(dev, intel_crtc->pipe, &tvbl); - /* Called before vblank count and timestamps have - * been updated for the vblank interval of flip - * completion? Need to increment vblank count and - * add one videorefresh duration to returned timestamp - * to account for this. We assume this happened if we - * get called over 0.9 frame durations after the last - * timestamped vblank. - * - * This calculation can not be used with vrefresh rates - * below 5Hz (10Hz to be on the safe side) without - * promoting to 64 integers. - */ - if (10 * (timeval_to_ns(&tnow) - timeval_to_ns(&tvbl)) > - 9 * crtc->framedur_ns) { - e->event.sequence++; - tvbl = ns_to_timeval(timeval_to_ns(&tvbl) + - crtc->framedur_ns); - } - e->event.tv_sec = tvbl.tv_sec; e->event.tv_usec = tvbl.tv_usec;