From patchwork Wed May 17 19:40:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 13245639 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4A0F5C7EE23 for ; Wed, 17 May 2023 19:41:20 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D014110E473; Wed, 17 May 2023 19:41:19 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D1C710E471 for ; Wed, 17 May 2023 19:41:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684352475; x=1715888475; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=DqR5N6oSjg7p/cemkJYQX7E9r9JrfuSv9/H/w0fznGI=; b=eyhi3Je/HU3I7XGNfFxGVqgkuckRdonth4b+pIJvKLbAKm+Spmv8umoM cyovkeTcFEy1+EQrRMM6oJUegOqYWfq1ITbc5zj7BYoS+NQ/VkoVg0OLm O8JmByLmZy4sh5mFSQmtOa7tYlOs7PXrbdNj83yOQW4cAXVPHvNPn6D+r /XW4s4TfTmwxyseNa24q2YuGWtn+BABF5gb1ghfUfTHOv0Xf1q66yM+An wDNOBB3iZyXKVY1tWoZ+BTi6/ZDFbQc+u2WiNjnrNQ22Om1uaRSUGmuLv Uy/arUDAwy+w4yzUdN6YN/kLI3gLshWVG3cr0rOE0hSfN7cX4V/xQk6Id A==; X-IronPort-AV: E=McAfee;i="6600,9927,10713"; a="331474395" X-IronPort-AV: E=Sophos;i="5.99,283,1677571200"; d="scan'208";a="331474395" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 12:41:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10713"; a="679402269" X-IronPort-AV: E=Sophos;i="5.99,283,1677571200"; d="scan'208";a="679402269" Received: from lab-ah.igk.intel.com ([10.102.138.202]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 12:41:03 -0700 From: Andrzej Hajda To: intel-gfx@lists.freedesktop.org Date: Wed, 17 May 2023 21:40:38 +0200 Message-Id: <20230517194040.3857137-1-andrzej.hajda@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Organization: Intel Technology Poland sp. z o.o. - ul. Slowackiego 173, 80-298 Gdansk - KRS 101882 - NIP 957-07-52-316 Subject: [Intel-gfx] [CI DO_NOT_MERGE 1/3] drm/i915/mtl: do not enable render power-gating on MTL X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrzej Hajda Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Multiple CI tests fails with forcewake ack timeouts if render power gating is enabled. BSpec 52698 clearly states it should be 0 for MTL. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4983 Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/i915/gt/intel_rc6.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c index 908a3d0f2343f4..ebb2373dd73640 100644 --- a/drivers/gpu/drm/i915/gt/intel_rc6.c +++ b/drivers/gpu/drm/i915/gt/intel_rc6.c @@ -117,8 +117,9 @@ static void gen11_rc6_enable(struct intel_rc6 *rc6) GEN6_RC_CTL_RC6_ENABLE | GEN6_RC_CTL_EI_MODE(1); - /* Wa_16011777198 - Render powergating must remain disabled */ - if (IS_DG2_GRAPHICS_STEP(gt->i915, G10, STEP_A0, STEP_C0) || + /* Wa_16011777198 and BSpec 52698 - Render powergating must be off */ + if (IS_METEORLAKE(gt->i915) || + IS_DG2_GRAPHICS_STEP(gt->i915, G10, STEP_A0, STEP_C0) || IS_DG2_GRAPHICS_STEP(gt->i915, G11, STEP_A0, STEP_B0)) pg_enable = GEN9_MEDIA_PG_ENABLE | From patchwork Wed May 17 19:40:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 13245637 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 438E3C7EE22 for ; Wed, 17 May 2023 19:41:16 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C0AD410E471; Wed, 17 May 2023 19:41:15 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 01CE310E471 for ; Wed, 17 May 2023 19:41:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684352475; x=1715888475; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OUszBUL+3fbjiNAc3pbmVn1SiewYnuSYjBC85Jfb7C4=; b=JQNbQR/rTR2F+IE6Y0hgsscFe+wpQDCRRCG9pt348kAR5UxGzPrPEFAJ cKQ9LRFlzqKno3AOViKaQ+c+1+HlayUQJ8tinFo4f5WXlS+IVZk40lKap +r4uUZn0nRan8smwFEiFPDVnMRylGRgYdTDtKPUbAyibcAiI7WwYOEC14 Gw6GAF38Ks9XHnIfkWiG4dJluCuj3Bt+Iu1PlERS1WeVLDRdJl0f2Y67s mOYv545gnXnHXi5lUNPxVFfyF2nFj+In5Q27BUOuqJ7Jo5jIw/9khywxK +8TuuRgcmfmWUfzfB6zfLPrVgiDZNtc/bEO918iZX27qoR1jfh8mbqWkY A==; X-IronPort-AV: E=McAfee;i="6600,9927,10713"; a="331474397" X-IronPort-AV: E=Sophos;i="5.99,283,1677571200"; d="scan'208";a="331474397" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 12:41:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10713"; a="679402276" X-IronPort-AV: E=Sophos;i="5.99,283,1677571200"; d="scan'208";a="679402276" Received: from lab-ah.igk.intel.com ([10.102.138.202]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 12:41:04 -0700 From: Andrzej Hajda To: intel-gfx@lists.freedesktop.org Date: Wed, 17 May 2023 21:40:39 +0200 Message-Id: <20230517194040.3857137-2-andrzej.hajda@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230517194040.3857137-1-andrzej.hajda@intel.com> References: <20230517194040.3857137-1-andrzej.hajda@intel.com> MIME-Version: 1.0 Organization: Intel Technology Poland sp. z o.o. - ul. Slowackiego 173, 80-298 Gdansk - KRS 101882 - NIP 957-07-52-316 Subject: [Intel-gfx] [CI DO_NOT_MERGE 2/3] drm/i915/gt: do not enable render and media power-gating on ADL X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrzej Hajda Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Multiple CI tests fails with forcewake timeouts. Disabling power gating for render and media solves the issue. References: https://gitlab.freedesktop.org/drm/intel/-/issues/4983 Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/i915/gt/intel_rc6.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c index ebb2373dd73640..e80685ac92dbef 100644 --- a/drivers/gpu/drm/i915/gt/intel_rc6.c +++ b/drivers/gpu/drm/i915/gt/intel_rc6.c @@ -124,6 +124,9 @@ static void gen11_rc6_enable(struct intel_rc6 *rc6) pg_enable = GEN9_MEDIA_PG_ENABLE | GEN11_MEDIA_SAMPLER_PG_ENABLE; + /* Testing */ + else if (IS_ALDERLAKE_S(gt->i915) || IS_ALDERLAKE_P(gt->i915)) + pg_enable = 0; else pg_enable = GEN9_RENDER_PG_ENABLE | From patchwork Wed May 17 19:40:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 13245638 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7A182C77B7A for ; Wed, 17 May 2023 19:41:19 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0EFBF10E470; Wed, 17 May 2023 19:41:19 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2479B10E473 for ; Wed, 17 May 2023 19:41:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684352475; x=1715888475; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JxKh5QweJolljg0pIVTyIpPyyyaJJNCQJnxwTEutC2I=; b=LC14neyoZGQszC6H19GvD7tsTEzBwp7DoLul15OQgEj4lGytpv746t2f Dj/BTe9f1CS9vCE9RRrs/oAaxNYMbQBXQ5RUM5v5hBs3PdFlp3sdhCIpC zgEwW3Qqe9tf4lYZkYo2HSY2n3DYwZZUK80nLMLGlahtst3oqr2PhwBNN /jk1lrBII2E7k3MElxn7rlYp6UjIkbpYTZs1BzB5alcdzLLV1IpxHPv1E q6MhLmCJE2YIIalp7KZ476AZvi+BGWtXr2Y5MyhIMTcpFUGH99NiI6YdF dyGBf/BU15kcBiiYfetX0JAbR0SKPj5dVA9+px3epOZeLz8k4WqvwB9wq w==; X-IronPort-AV: E=McAfee;i="6600,9927,10713"; a="331474398" X-IronPort-AV: E=Sophos;i="5.99,283,1677571200"; d="scan'208";a="331474398" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 12:41:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10713"; a="679402288" X-IronPort-AV: E=Sophos;i="5.99,283,1677571200"; d="scan'208";a="679402288" Received: from lab-ah.igk.intel.com ([10.102.138.202]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2023 12:41:05 -0700 From: Andrzej Hajda To: intel-gfx@lists.freedesktop.org Date: Wed, 17 May 2023 21:40:40 +0200 Message-Id: <20230517194040.3857137-3-andrzej.hajda@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230517194040.3857137-1-andrzej.hajda@intel.com> References: <20230517194040.3857137-1-andrzej.hajda@intel.com> MIME-Version: 1.0 Organization: Intel Technology Poland sp. z o.o. - ul. Slowackiego 173, 80-298 Gdansk - KRS 101882 - NIP 957-07-52-316 Subject: [Intel-gfx] [CI DO_NOT_MERGE 3/3] drm/i915/selftests: add forcewake_with_spinners tests X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrzej Hajda Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" The test examines if running spinners do not interfere with forcewake. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/i915/selftests/intel_uncore.c | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c index e4281508d5808b..0ce8a5c5ee0064 100644 --- a/drivers/gpu/drm/i915/selftests/intel_uncore.c +++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c @@ -22,7 +22,10 @@ * */ +#include +#include #include "../i915_selftest.h" +#include static int intel_fw_table_check(const struct intel_forcewake_range *ranges, unsigned int num_ranges, @@ -342,12 +345,94 @@ static int live_fw_table(void *arg) GRAPHICS_VER(gt->i915) >= 9); } +static int live_forcewake_with_spinners(void *arg) +{ + struct intel_gt *gt = arg; + struct intel_uncore_forcewake_domain *domain; + struct intel_engine_cs *engine; + enum intel_engine_id id; + intel_wakeref_t wakeref; + struct igt_spinner spin; + unsigned int tmp; + int err; + + wakeref = intel_runtime_pm_get(gt->uncore->rpm); + + err = igt_spinner_init(&spin, gt); + if (err) + goto err_rpm; + + for_each_engine(engine, gt, id) { + struct intel_context *ce; + struct i915_request *rq; + + if (!intel_engine_can_store_dword(engine)) + continue; + + pr_info("%s: Spinning %s\n", __func__, engine->name); + + ce = intel_context_create(engine); + if (IS_ERR(ce)) { + err = PTR_ERR(ce); + goto err_spin; + } + rq = igt_spinner_create_request(&spin, ce, MI_ARB_CHECK); + intel_context_put(ce); + if (IS_ERR(rq)) { + err = PTR_ERR(rq); + goto err_spin; + } + i915_request_add(rq); + } + + intel_uncore_forcewake_get(gt->uncore, FORCEWAKE_ALL); + for_each_fw_domain(domain, gt->uncore, tmp) { + if (readl(domain->reg_ack) & FORCEWAKE_KERNEL) + continue; + pr_err("%s: not acked\n", intel_uncore_forcewake_domain_to_str(domain->id)); + err = -EINVAL; + } + if (err) { +#if defined(CONFIG_DRM_I915_DEBUG_WAKEREF) // Ugly test of presence of intel_klog_error_capture + intel_klog_error_capture(gt, (intel_engine_mask_t) ~0U); +#else + pr_err("Time to catch GuC logs.\n"); + msleep(4000); +#endif + } + msleep(3); + intel_uncore_forcewake_put(gt->uncore, FORCEWAKE_ALL); + +err_spin: + igt_spinner_fini(&spin); +err_rpm: + intel_runtime_pm_put(gt->uncore->rpm, wakeref); + + return err; +} + +static int live_forcewake_with_spinners_25s(void *arg) +{ + ktime_t t = ktime_get(); + int err = 0; + + while (ktime_ms_delta(ktime_get(), t) < 25000) { + err = live_forcewake_with_spinners(arg); + if (err) + break; + } + + return err; +} + int intel_uncore_live_selftests(struct drm_i915_private *i915) { static const struct i915_subtest tests[] = { SUBTEST(live_fw_table), SUBTEST(live_forcewake_ops), SUBTEST(live_forcewake_domains), + SUBTEST(live_forcewake_with_spinners), + SUBTEST(live_forcewake_with_spinners_25s), }; return intel_gt_live_subtests(tests, to_gt(i915));