From patchwork Thu Feb 25 16:48:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zanoni, Paulo R" X-Patchwork-Id: 8425081 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 491CDC0553 for ; Thu, 25 Feb 2016 16:48:55 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7C22C20212 for ; Thu, 25 Feb 2016 16:48:54 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id B40FB20270 for ; Thu, 25 Feb 2016 16:48:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 56C966E910; Thu, 25 Feb 2016 16:48:53 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E3E26E910 for ; Thu, 25 Feb 2016 16:48:50 +0000 (UTC) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP; 25 Feb 2016 08:48:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,498,1449561600"; d="scan'208";a="894643732" Received: from jholm-mobl.amr.corp.intel.com (HELO panetone.amr.corp.intel.com) ([10.252.138.60]) by orsmga001.jf.intel.com with ESMTP; 25 Feb 2016 08:48:49 -0800 From: Paulo Zanoni To: intel-gfx@lists.freedesktop.org Date: Thu, 25 Feb 2016 13:48:31 -0300 Message-Id: <1456418912-25723-5-git-send-email-paulo.r.zanoni@intel.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1456418912-25723-1-git-send-email-paulo.r.zanoni@intel.com> References: <1456418912-25723-1-git-send-email-paulo.r.zanoni@intel.com> Cc: Paulo Zanoni Subject: [Intel-gfx] [PATCH igt 3/4] kms_frontbuffer_tracking: recreate the FBs at every subtest X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We're studying the possibility to implement a Kernel FBC workaround that will deactivate FBC every time the FBC frontbuffer was ever CPU/WC mmapped. Due to this, we can't just reuse our FBs between tests: the test suite will eventually CPU mmap every buffer, so FBC will be disabled forever. In order to avoid this, keep it simple and just recreate the FBs at every subtest. Signed-off-by: Paulo Zanoni --- tests/kms_frontbuffer_tracking.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c index 363fe23..aa124d3 100644 --- a/tests/kms_frontbuffer_tracking.c +++ b/tests/kms_frontbuffer_tracking.c @@ -662,12 +662,31 @@ static void create_shared_fb(enum pixel_format format) PLANE_PRI, &s->big); } +static void destroy_fbs(enum pixel_format format) +{ + struct screen_fbs *s = &fbs[format]; + + if (!s->initialized) + return; + + if (scnd_mode_params.connector_id) { + igt_remove_fb(drm.fd, &s->scnd_pri); + igt_remove_fb(drm.fd, &s->scnd_cur); + igt_remove_fb(drm.fd, &s->scnd_spr); + } + igt_remove_fb(drm.fd, &s->prim_pri); + igt_remove_fb(drm.fd, &s->prim_cur); + igt_remove_fb(drm.fd, &s->prim_spr); + igt_remove_fb(drm.fd, &s->offscreen); + igt_remove_fb(drm.fd, &s->big); +} + static void create_fbs(enum pixel_format format) { struct screen_fbs *s = &fbs[format]; if (s->initialized) - return; + destroy_fbs(format); s->initialized = true; @@ -698,25 +717,6 @@ static void create_fbs(enum pixel_format format) LOCAL_I915_FORMAT_MOD_X_TILED, PLANE_SPR, &s->scnd_spr); } -static void destroy_fbs(enum pixel_format format) -{ - struct screen_fbs *s = &fbs[format]; - - if (!s->initialized) - return; - - if (scnd_mode_params.connector_id) { - igt_remove_fb(drm.fd, &s->scnd_pri); - igt_remove_fb(drm.fd, &s->scnd_cur); - igt_remove_fb(drm.fd, &s->scnd_spr); - } - igt_remove_fb(drm.fd, &s->prim_pri); - igt_remove_fb(drm.fd, &s->prim_cur); - igt_remove_fb(drm.fd, &s->prim_spr); - igt_remove_fb(drm.fd, &s->offscreen); - igt_remove_fb(drm.fd, &s->big); -} - static bool set_mode_for_params(struct modeset_params *params) { int rc;