From patchwork Thu Aug 3 12:05:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 9878877 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 500C360311 for ; Thu, 3 Aug 2017 12:05:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4766E1FF26 for ; Thu, 3 Aug 2017 12:05:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3C4932866F; Thu, 3 Aug 2017 12:05:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A52621FF26 for ; Thu, 3 Aug 2017 12:05:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 209106E17B; Thu, 3 Aug 2017 12:05:39 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id B63056E17B for ; Thu, 3 Aug 2017 12:05:36 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id x64so1940054wmg.1 for ; Thu, 03 Aug 2017 05:05:36 -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; bh=FCzlC69qkyAEti2hpkKVgEQaUtxVcobl6aaiCbwZbdI=; b=V2sg9amldezGEgmBxH5LehB2+zqq41etkGTMqQBuatSKZBNg08Kl60MxdNPwMEL3cV 4FYCNso+dhIRFoptWMHDCWZJho2P8tKDl6CdjdPVdcLIgdUlm7aCStDyBrdB7Njt9v1v yB8rgA59oyaoEZ2gF9ZaiM8RQoMpN9rYwqfEU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=FCzlC69qkyAEti2hpkKVgEQaUtxVcobl6aaiCbwZbdI=; b=B5SrcYg/CMeZUQUvyp6qUihIsqs3JuuHq9QmSh0gQYXAWZLGIL53qvCrZ1VPKsQupx mtqNOHGLLq51OAjU5TXNTxtvD/rCxYsNSahcV6f7QXT93BUp+mkek+IPFsDUw7aaazFm y7TF5fPy+gSTA/clzSwrYZNoHrCoCk7MnWxhad7t9YF3w0M/cowbT82hrhiMR5tcRsBD 4BjAdgNftsXQiR/Jtzmidgb0gjQhsIj9bBBzju+L/EKLPxAbarou/C/rY7owU6rg0JOz MmJ03DONkJOrtM5+ExNOlpZlF9y7/hVXHiM4yq3eKJvizrer/qp7DDYgD/XZ4kRZxQ5e Q2rw== X-Gm-Message-State: AIVw113t1DtFZ5QobyNostFJ+9TwA3nAwvVXKFoFVzLtVmlbDHAQ0DUk MKsqdsHvjS0qe9VaSkY= X-Received: by 10.80.178.166 with SMTP id p35mr1650264edd.214.1501761934918; Thu, 03 Aug 2017 05:05:34 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:5640:0:960b:2678:e223:c1c6]) by smtp.gmail.com with ESMTPSA id x6sm1564206eda.33.2017.08.03.05.05.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Aug 2017 05:05:34 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Thu, 3 Aug 2017 14:05:29 +0200 Message-Id: <20170803120529.27300-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.13.3 Cc: Daniel Vetter , Daniel Vetter Subject: [Intel-gfx] [PATCH i-g-t] tests/kms_busy: Only test agains one engine 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-Virus-Scanned: ClamAV using ClamSMTP Back when we used cs flips it made sense to go through different engines, since a buffer busy on an engine that we couldnt' use for cs flipping ended up in different paths. But with atomic we use a worker for all flips, and going through the combinatorial growth of engines just wastes precious machine time. More so the more modern the platform is. Of course gem tests should still do some diagonal testing across all engines, but the kms side can afford to be a bit cheaper. Cc: Chris Wilson Cc: Maarten Lankhorst Cc: Arkadiusz Hiler Signed-off-by: Daniel Vetter Acked-by: Maarten Lankhorst --- tests/kms_busy.c | 111 +++++++++++++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 56 deletions(-) diff --git a/tests/kms_busy.c b/tests/kms_busy.c index af7335db0d11..436d16e6acb9 100644 --- a/tests/kms_busy.c +++ b/tests/kms_busy.c @@ -309,7 +309,8 @@ static void test_pageflip_modeset_hang(igt_display_t *dpy, igt_main { igt_display_t display = { .drm_fd = -1, .n_pipes = IGT_MAX_PIPES }; - const struct intel_execution_engine *e; + /* we only test on render */ + const struct intel_execution_engine *e = intel_execution_engines[1]; igt_skip_on_simulation(); @@ -333,82 +334,80 @@ igt_main igt_skip_on(n >= display.n_pipes); } - for (e = intel_execution_engines; e->name; e++) { - igt_subtest_f("%sflip-%s-%s", - e->exec_id == 0 ? "basic-" : "", - e->name, kmstest_pipe_name(n)) { + igt_subtest_f("%sflip-%s-%s", + e->exec_id == 0 ? "basic-" : "", + e->name, kmstest_pipe_name(n)) { + igt_require(gem_has_ring(display.drm_fd, + e->exec_id | e->flags)); + + test_flip(&display, e->exec_id | e->flags, n, false); + } + igt_subtest_f("%smodeset-%s-%s", + e->exec_id == 0 ? "basic-" : "", + e->name, kmstest_pipe_name(n)) { + igt_require(gem_has_ring(display.drm_fd, + e->exec_id | e->flags)); + + test_flip(&display, e->exec_id | e->flags, n, true); + } + + igt_subtest_group { + igt_hang_t hang; + + igt_fixture { igt_require(gem_has_ring(display.drm_fd, e->exec_id | e->flags)); - test_flip(&display, e->exec_id | e->flags, n, false); + hang = igt_allow_hang(display.drm_fd, 0, 0); } - igt_subtest_f("%smodeset-%s-%s", - e->exec_id == 0 ? "basic-" : "", + + igt_subtest_f("extended-pageflip-modeset-hang-oldfb-%s-%s", e->name, kmstest_pipe_name(n)) { igt_require(gem_has_ring(display.drm_fd, e->exec_id | e->flags)); - test_flip(&display, e->exec_id | e->flags, n, true); + test_pageflip_modeset_hang(&display, e->exec_id | e->flags, n); } - igt_subtest_group { - igt_hang_t hang; - - igt_fixture { - igt_require(gem_has_ring(display.drm_fd, - e->exec_id | e->flags)); + igt_fixture + igt_require(display.is_atomic); - hang = igt_allow_hang(display.drm_fd, 0, 0); - } + igt_subtest_f("extended-pageflip-hang-oldfb-%s-%s", + e->name, kmstest_pipe_name(n)) + test_hang(&display, e->exec_id | e->flags, n, false, false); - igt_subtest_f("extended-pageflip-modeset-hang-oldfb-%s-%s", - e->name, kmstest_pipe_name(n)) { - igt_require(gem_has_ring(display.drm_fd, - e->exec_id | e->flags)); + igt_subtest_f("extended-pageflip-hang-newfb-%s-%s", + e->name, kmstest_pipe_name(n)) + test_hang(&display, e->exec_id | e->flags, n, false, true); - test_pageflip_modeset_hang(&display, e->exec_id | e->flags, n); - } + igt_subtest_f("extended-modeset-hang-oldfb-%s-%s", + e->name, kmstest_pipe_name(n)) + test_hang(&display, e->exec_id | e->flags, n, true, false); - igt_fixture - igt_require(display.is_atomic); + igt_subtest_f("extended-modeset-hang-newfb-%s-%s", + e->name, kmstest_pipe_name(n)) + test_hang(&display, e->exec_id | e->flags, n, true, true); - igt_subtest_f("extended-pageflip-hang-oldfb-%s-%s", - e->name, kmstest_pipe_name(n)) - test_hang(&display, e->exec_id | e->flags, n, false, false); - - igt_subtest_f("extended-pageflip-hang-newfb-%s-%s", - e->name, kmstest_pipe_name(n)) - test_hang(&display, e->exec_id | e->flags, n, false, true); - - igt_subtest_f("extended-modeset-hang-oldfb-%s-%s", - e->name, kmstest_pipe_name(n)) - test_hang(&display, e->exec_id | e->flags, n, true, false); - - igt_subtest_f("extended-modeset-hang-newfb-%s-%s", - e->name, kmstest_pipe_name(n)) - test_hang(&display, e->exec_id | e->flags, n, true, true); - - igt_subtest_f("extended-modeset-hang-oldfb-with-reset-%s-%s", - e->name, kmstest_pipe_name(n)) { - igt_set_module_param_int("force_reset_modeset_test", 1); + igt_subtest_f("extended-modeset-hang-oldfb-with-reset-%s-%s", + e->name, kmstest_pipe_name(n)) { + igt_set_module_param_int("force_reset_modeset_test", 1); - test_hang(&display, e->exec_id | e->flags, n, true, false); + test_hang(&display, e->exec_id | e->flags, n, true, false); - igt_set_module_param_int("force_reset_modeset_test", 0); - } + igt_set_module_param_int("force_reset_modeset_test", 0); + } - igt_subtest_f("extended-modeset-hang-newfb-with-reset-%s-%s", - e->name, kmstest_pipe_name(n)) { - igt_set_module_param_int("force_reset_modeset_test", 1); + igt_subtest_f("extended-modeset-hang-newfb-with-reset-%s-%s", + e->name, kmstest_pipe_name(n)) { + igt_set_module_param_int("force_reset_modeset_test", 1); - test_hang(&display, e->exec_id | e->flags, n, true, true); + test_hang(&display, e->exec_id | e->flags, n, true, true); - igt_set_module_param_int("force_reset_modeset_test", 0); - } + igt_set_module_param_int("force_reset_modeset_test", 0); + } - igt_fixture { - igt_disallow_hang(display.drm_fd, hang); - } + igt_fixture { + igt_disallow_hang(display.drm_fd, hang); } } }