From patchwork Tue Oct 16 14:34:46 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Imre Deak X-Patchwork-Id: 1601031 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id 27CD840ABA for ; Tue, 16 Oct 2012 14:46:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 43D32A02F6 for ; Tue, 16 Oct 2012 07:46:46 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga14.intel.com (mga14.intel.com [143.182.124.37]) by gabe.freedesktop.org (Postfix) with ESMTP id 53E8EA02B0 for ; Tue, 16 Oct 2012 07:35:26 -0700 (PDT) Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga102.ch.intel.com with ESMTP; 16 Oct 2012 07:35:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.80,593,1344236400"; d="scan'208";a="205092309" Received: from ideak-desk.fi.intel.com (HELO localhost) ([10.237.72.98]) by azsmga001.ch.intel.com with ESMTP; 16 Oct 2012 07:35:24 -0700 From: Imre Deak To: intel-gfx@lists.freedesktop.org Date: Tue, 16 Oct 2012 17:34:46 +0300 Message-Id: <1350398096-3649-13-git-send-email-imre.deak@intel.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1350398096-3649-1-git-send-email-imre.deak@intel.com> References: <1350398096-3649-1-git-send-email-imre.deak@intel.com> Subject: [Intel-gfx] [PATCH 12/22] flip_test: split the flip handler into logical parts 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 The handler consits of handle_event/run_test/check_state/update_state logical steps, split the function accordingly. This is needed by the following patches that need to do part of these steps for both flip and vblank events. No functional change. Signed-off-by: Imre Deak --- tests/flip_test.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/tests/flip_test.c b/tests/flip_test.c index f554818..790463c 100644 --- a/tests/flip_test.c +++ b/tests/flip_test.c @@ -180,16 +180,17 @@ static void page_flip_handler(int fd, unsigned int frame, unsigned int sec, unsigned int usec, void *data) { struct test_output *o = data; - unsigned int new_fb_id; - struct timeval diff; - double usec_interflip; - /* for funny reasons page_flip returns -EBUSY on disabled crtcs ... */ - int expected_einval = o->flags & TEST_MODESET ? -EBUSY : -EINVAL; o->current_flip_ts.tv_sec = sec; o->current_flip_ts.tv_usec = usec; gettimeofday(&o->current_flip_received, NULL); +} + +static void check_all_state(struct test_output *o) +{ + struct timeval diff; + double usec_interflip; timersub(&o->current_flip_ts, &o->current_flip_received, &diff); @@ -219,6 +220,13 @@ static void page_flip_handler(int fd, unsigned int frame, unsigned int sec, //exit(9); } } +} + +static void run_test_step(struct test_output *o) +{ + unsigned int new_fb_id; + /* for funny reasons page_flip returns -EBUSY on disabled crtcs ... */ + int expected_einval = o->flags & TEST_MODESET ? -EBUSY : -EINVAL; /* pan before the flip completes */ if (o->flags & TEST_PAN) { @@ -282,7 +290,10 @@ static void page_flip_handler(int fd, unsigned int frame, unsigned int sec, if (o->flags & TEST_EINVAL) assert(do_page_flip(o, new_fb_id) == expected_einval); +} +static void update_all_state(struct test_output *o) +{ o->last_flip_received = o->current_flip_received; o->last_flip_ts = o->current_flip_ts; } @@ -471,6 +482,9 @@ static unsigned event_loop(struct test_output *o, unsigned duration_sec) struct timeval now; wait_for_events(o); + check_all_state(o); + run_test_step(o); + update_all_state(o); gettimeofday(&now, NULL); if (!timercmp(&now, &end, <))