From patchwork Thu Sep 4 01:30:04 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rodrigo Vivi X-Patchwork-Id: 4842001 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.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id A0193C033A for ; Thu, 4 Sep 2014 01:30:15 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C3D292022A for ; Thu, 4 Sep 2014 01:30:14 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 713182021B for ; Thu, 4 Sep 2014 01:30:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0E2296E60F; Wed, 3 Sep 2014 18:30:10 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 61DE96E5F4 for ; Wed, 3 Sep 2014 18:30:09 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 03 Sep 2014 18:30:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,462,1406617200"; d="scan'208";a="568049949" Received: from rdvivi-bratislava.jf.intel.com ([10.7.196.74]) by orsmga001.jf.intel.com with ESMTP; 03 Sep 2014 18:30:08 -0700 From: Rodrigo Vivi To: intel-gfx@lists.freedesktop.org Date: Wed, 3 Sep 2014 21:30:04 -0400 Message-Id: <1409794206-2126-10-git-send-email-rodrigo.vivi@intel.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1409794206-2126-1-git-send-email-rodrigo.vivi@intel.com> References: <1409794206-2126-1-git-send-email-rodrigo.vivi@intel.com> Cc: Rodrigo Vivi Subject: [Intel-gfx] [PATCH 10/12] tests/kms_psr_sink_crc: Check color ref CRC X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.15 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=-5.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, 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 Black screen is forbidden on this test. So let's fail if sink crc shows it is back. Also there are many cases where we know for shure it should be all green, so let's check for them. Signed-off-by: Rodrigo Vivi --- tests/kms_psr_sink_crc.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c index 27f3df9..45d2dd9 100644 --- a/tests/kms_psr_sink_crc.c +++ b/tests/kms_psr_sink_crc.c @@ -35,6 +35,9 @@ #include "igt_debugfs.h" #include "igt_kms.h" +#define CRC_BLACK "000000000000" +#define CRC_GREEN "0000c1010000" + #define DEBUG_CRC 0 /* This is usefull to debug and know what should be expected */ @@ -259,6 +262,9 @@ static void get_sink_crc(data_t *data, char *crc) { * Now give a time for human eyes */ usleep(300000); + + /* Black screen is always invalid */ + igt_assert(strcmp(crc, CRC_BLACK) != 0); } static void test_crc(data_t *data) @@ -272,6 +278,15 @@ static void test_crc(data_t *data) igt_plane_set_fb(data->primary, &data->fb_green); igt_display_commit(&data->display); + /* Confirm that screen became Green */ + get_sink_crc(data, ref_crc); + igt_assert(strcmp(ref_crc, CRC_GREEN) == 0); + + /* Confirm screen stays Green after PSR got active */ + igt_assert(wait_psr_entry(data, 10)); + get_sink_crc(data, ref_crc); + igt_assert(strcmp(ref_crc, CRC_GREEN) == 0); + /* Setting a secondary fb/plane */ switch (data->test_plane) { case PRIMARY: default: test_plane = data->primary; break; @@ -281,14 +296,18 @@ static void test_crc(data_t *data) igt_plane_set_fb(test_plane, &data->fb_white); igt_display_commit(&data->display); + /* Confirm it is not Green anymore */ igt_assert(wait_psr_entry(data, 10)); get_sink_crc(data, ref_crc); + igt_assert(strcmp(ref_crc, CRC_GREEN) != 0); switch (data->op) { case PAGE_FLIP: /* Only in use when testing primary plane */ igt_assert(drmModePageFlip(data->drm_fd, data->crtc_id, data->fb_green.fb_id, 0, NULL) == 0); + get_sink_crc(data, crc); + igt_assert(strcmp(crc, CRC_GREEN) == 0); break; case MMAP_GTT: ptr = gem_mmap__gtt(data->drm_fd, handle, 4096, PROT_WRITE);