From patchwork Wed Mar 8 15:39:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 66318 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp411513wrd; Wed, 8 Mar 2023 07:50:52 -0800 (PST) X-Google-Smtp-Source: AK7set+vDp7KcHamekPiKtIiqM0t+m6W+Y9XZfkB7ufpLE+u798UyqOTCJWx3Rby07+NEd6J0SUX X-Received: by 2002:a05:6a20:8406:b0:cc:cc27:9185 with SMTP id c6-20020a056a20840600b000cccc279185mr28198357pzd.50.1678290652171; Wed, 08 Mar 2023 07:50:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678290652; cv=none; d=google.com; s=arc-20160816; b=tRwwkiGMyCq/sTFHSb3c3TlUQ17/olYfL+0Neh17plxaPQBfaQ0NoUwptIbocUul62 rsADrKBSpC0i/5VQNb9mDPkEwwa8TF88SLx8UczZChFcB79gHvBzXTzmhpK60vTBmmFc QETSa0sOHvytYj9R9zmdtoJjWEAf8yxcCtY5jVPzCZRYFVlIsfb0NzLQZBUvxjWA+BBV dd4g36sYxCfElgtuCyt6ulgZd8VKRz8K84okjj2O8p9XTF+MQnOxgMemTElBIMA09X4/ AColKzQJtsDM03D0pcARve3W1sldUXFwu5zjSRmOJrFmkAIThyGo8YT8swreOa4zbSwR tTig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=ERp9aJwImbi6vFtlNqFQD2zbp4UK439EK217B7O7tOY=; b=fgtTTOAMF0zR+u1GwZeKdyFvVO8LQ693dr12Ev4Qqe6Yh8MF0+ERkmuT59D9Dk9LRO IYmAn4gIvGpMfzxMQU3prybrSDfG/53PnYiDYf8Xj9gEcb17Xta0JWeNSFI7uUzzifbQ JMrk1m5I8y7J8aa2j+FZQpQzkpc9KZadM+stJsIvtZ8u4DjNK0Hxcb979M+1l963ppG0 yuGYyUozDZrKeNzIpeh42PtuQFFiSoupae0zt0uXM4WWt1rAo5Q3+Vp9GiFcRbFmxaDZ cw0+aHEoBByBdzuEQ3Bi10qJRND0EImWQnxfb01S/kVWzscHA7WLh0e2UEa6qPwtHK0s Ajag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MACEQGZm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w5-20020a63c105000000b00502f10fa6e0si15049186pgf.819.2023.03.08.07.50.37; Wed, 08 Mar 2023 07:50:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MACEQGZm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231579AbjCHPkf (ORCPT + 99 others); Wed, 8 Mar 2023 10:40:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232414AbjCHPkK (ORCPT ); Wed, 8 Mar 2023 10:40:10 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1BF91B8F16 for ; Wed, 8 Mar 2023 07:39:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678289990; x=1709825990; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=UFsc11qcv0An3YTgsx2jUXx1nEcHzBdMgxW2w6BVW+0=; b=MACEQGZmaVuwhCs7LR/uQarID42E+EPlwAMla0aSVcu3DH6MYc3Ehbmw yXpZm/xLQIUqUSp9TXgiMVx3/p3U7j2oawiOyRzuA1oTZY7Xoq4VlO9yT dJA/6cJ3m6A9HWWI9ovnfQHqsZE672GSYLnZdpy0IyIk9gH9BuXdpbeS6 uCWPzLJpH/cNoUhyDgUZOBnZx74s/LtIVPkTr/8dMtL2D2mR4vk30hXMu diVHnds+untvk1QMH96rlAs9B/K++bshEd3SZrPFdZ/6wN+hhkPSnjSQP mwdnCOMd55EnuLYEiWm1QM5jDM5wI6n3KuaZozbCmub7C6EDCjttHdu3o g==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="337703537" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="337703537" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="787160246" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="787160246" Received: from lab-ah.igk.intel.com ([10.102.42.211]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:44 -0800 From: Andrzej Hajda Date: Wed, 08 Mar 2023 16:39:03 +0100 Subject: [PATCH v5 1/4] drm/i915/gt: make nop_clear_range public MIME-Version: 1.0 Message-Id: <20230308-guard_error_capture-v5-1-6d1410d13540@intel.com> References: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> In-Reply-To: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Andi Shyti , Chris Wilson , Nirmoy Das , Andrzej Hajda X-Mailer: b4 0.11.1 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759815298839210908?= X-GMAIL-MSGID: =?utf-8?q?1759815298839210908?= Function nop_clear_range can be used instead of local implementations. Signed-off-by: Andrzej Hajda Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/gt/intel_ggtt.c | 3 +-- drivers/gpu/drm/i915/gt/intel_gtt.h | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c index 842e69c7b21e49..b925da42c7cfc4 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -345,8 +345,7 @@ static void gen6_ggtt_insert_entries(struct i915_address_space *vm, ggtt->invalidate(ggtt); } -static void nop_clear_range(struct i915_address_space *vm, - u64 start, u64 length) +void nop_clear_range(struct i915_address_space *vm, u64 start, u64 length) { } diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.h b/drivers/gpu/drm/i915/gt/intel_gtt.h index 5a775310d3fcb5..c15a4892e9f45d 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.h +++ b/drivers/gpu/drm/i915/gt/intel_gtt.h @@ -672,4 +672,6 @@ static inline struct sgt_dma { return (struct sgt_dma){ sg, addr, addr + sg_dma_len(sg) }; } +void nop_clear_range(struct i915_address_space *vm, u64 start, u64 length); + #endif From patchwork Wed Mar 8 15:39:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 66317 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp411318wrd; Wed, 8 Mar 2023 07:50:27 -0800 (PST) X-Google-Smtp-Source: AK7set8AvPu1claeChEF4Fa7CGWy3064VnZspLWoKKfAHYufK0vMTatnPe96/QXrTgxC0pNxJ1B3 X-Received: by 2002:a17:90b:1a87:b0:236:84a:8da0 with SMTP id ng7-20020a17090b1a8700b00236084a8da0mr18620703pjb.13.1678290627053; Wed, 08 Mar 2023 07:50:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678290627; cv=none; d=google.com; s=arc-20160816; b=lpbSZmRD3LoGo7FSQzGLo3FtPIWYQyxWB8Du3rcXcZQ+d0aBRkYtzWihnWQd7yXqIZ S76KjeWFe5LkU4cxM/bDGZQnnnxlHkJKzNlCvDuzD8TWfNnCPiW39ehVWNd3S37NWCOM uOTLw5Z1PxOqkaG/+sPIzi4Xbis8c/qQ+wiojq4V36dTxRCZERFPzvy4dqBjg6c4DEQa KXsuIYqoZtW7kSrGj+4x3b/gVTqQGCDC5lLJzZSrZ4EBbaT4E9F05DuZaIDyZrTCJS5U i8abZz9kvNRqx5asERFUtL/jPSiDTRYd/lw4aQCLiwzFY74CHsbbtHGphS0ggs0gUDDM FSYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=8q2V1mJUY2JHzcCJqb5EYybUNkiedqyhG1rA9asKfOA=; b=gcPkV5tRrUA7NMWdRvDdp6GLeld0vB2mLNBpyEiueaaN+02xZFs1pee5LiOoCtN8tn UMf3K4mxq4C2Xtyq8gSetSs9TvL+1BiN5W8zVCovof+pqoSucpuE5h7WvQksE1OSZ17l tNkVUwguvLtJujepQb2EJFZSS11zZwCa042C7WSVdDzxFliRBdQqz5xTz2WX6DjsTNOt i3+XeF/KM5LH9OIb4PmJDnNbWLdnwiNZL5oPgSTZbhG+wT8q8tJ716GdYtJqmLniY2+F RWMQf7/L5UWgShx4uNz4l03JV+5tCd/86b2tHLKQc8akGU8w+oH2844YxXIFoCl2BWFf /kwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ifRZDgdu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mh6-20020a17090b4ac600b00223facc5d2csi17560780pjb.162.2023.03.08.07.50.10; Wed, 08 Mar 2023 07:50:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=ifRZDgdu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231734AbjCHPkn (ORCPT + 99 others); Wed, 8 Mar 2023 10:40:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232431AbjCHPkN (ORCPT ); Wed, 8 Mar 2023 10:40:13 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C576238667 for ; Wed, 8 Mar 2023 07:39:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678289991; x=1709825991; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=Se/biot0lVFjHYoy6HUt2Ws+mFr0uN1AGnXhhRrqKoQ=; b=ifRZDgduRD7frqZ+g68XDawNtJbLPkzR8BvZFhHMvMMvaoHdXUNyE96j 8PpL68NuKDPYiOfMF2os9kqA3hJWWOraIFYnqFLcxBqUWj0ZZjMFPdVG0 5pSWNkqKQWbQestNRibo89Ks4Vs1M1Xi0EcUstYZgA9hJU16q2iAcwjR7 bW3zLp6QA9rjAbOhcLTxZHXOnr/qC8gWCaWPz/BLcVU259YGGuXehFdrK RkQLhXLT+/P/s8QiPpBotHcFswtB30Jb1gcHrNqtNFdtOAxle7KUo1iTu qF4xJWHYmKHmUq5h+eVle5HTq0fkZXh3lue26BBDz8rADObHGwdVVJsFs Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="337703559" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="337703559" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="787160261" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="787160261" Received: from lab-ah.igk.intel.com ([10.102.42.211]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:46 -0800 From: Andrzej Hajda Date: Wed, 08 Mar 2023 16:39:04 +0100 Subject: [PATCH v5 2/4] drm/i915/display: use nop_clear_range instead of local function MIME-Version: 1.0 Message-Id: <20230308-guard_error_capture-v5-2-6d1410d13540@intel.com> References: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> In-Reply-To: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Andi Shyti , Chris Wilson , Nirmoy Das , Andrzej Hajda X-Mailer: b4 0.11.1 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759815272387069054?= X-GMAIL-MSGID: =?utf-8?q?1759815272387069054?= Since nop_clear_range is visible it can be used here. Signed-off-by: Andrzej Hajda Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/display/intel_dpt.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dpt.c b/drivers/gpu/drm/i915/display/intel_dpt.c index ad1a37b515fb1c..eb9d1a6cbfb9dd 100644 --- a/drivers/gpu/drm/i915/display/intel_dpt.c +++ b/drivers/gpu/drm/i915/display/intel_dpt.c @@ -73,11 +73,6 @@ static void dpt_insert_entries(struct i915_address_space *vm, gen8_set_pte(&base[i++], pte_encode | addr); } -static void dpt_clear_range(struct i915_address_space *vm, - u64 start, u64 length) -{ -} - static void dpt_bind_vma(struct i915_address_space *vm, struct i915_vm_pt_stash *stash, struct i915_vma_resource *vma_res, @@ -291,7 +286,7 @@ intel_dpt_create(struct intel_framebuffer *fb) i915_address_space_init(vm, VM_CLASS_DPT); vm->insert_page = dpt_insert_page; - vm->clear_range = dpt_clear_range; + vm->clear_range = nop_clear_range; vm->insert_entries = dpt_insert_entries; vm->cleanup = dpt_cleanup; From patchwork Wed Mar 8 15:39:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 66316 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp411140wrd; Wed, 8 Mar 2023 07:50:00 -0800 (PST) X-Google-Smtp-Source: AK7set+w2kHnSxpKzOhhtLBeyhFoaVcVyFhJPlUqSRbIVJl40QxLUckFqglExjmVgPUSJ2oICvik X-Received: by 2002:a17:90b:33c3:b0:237:b92f:39d1 with SMTP id lk3-20020a17090b33c300b00237b92f39d1mr19304273pjb.0.1678290600352; Wed, 08 Mar 2023 07:50:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678290600; cv=none; d=google.com; s=arc-20160816; b=hPZUO92jSS0c7gpqQkpqHGjLShrWBvYbmcmPKgvCl0YI8nLLmd/y6zJL/4XwVDrLJS hqttWn7KFXgxQfqvNIHQI66/gEgAmKBM/4Q6AxcAUam/5OZuKPXPWo8v5pzn8JUg28gc GPpQ7LEoaYN/RdGR4M0QbU+x0sNr+ytTiwRVLii6sWQaZnT62IxBI45CJ0DczssyPU+T eodlvr2nTIrrfY02LzjA31HJJqgwiR3fKO5l4OtpyRLbY7ixtEdxptjMcGRmmsL89J59 k5Ovg+g6qk0bsw/aYjyV2ZmJJgLobVbL5mTQ2OTXtCnyTirp31gb75M4ANBDEk8rfz1y smyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=rgVR1XCNUbfiU0wHhva3lE2Gx/F97zEMCTTD6ckzrIg=; b=ad9Ym9G/XJO/MV96T0gWOlciyJBWI+IarJUoZIjJet/knQR3i62/FBLfBK+7QttQQt e4MIlhWIj6dL2+0kGI3hg+dmcsTxAmF2MYspHkvmF5me38O4rz6QRQ1bJjxzjUuPzmO4 Qz+qE5SHDn5VatyLpAirWXs5tVQ5IazGR2FdpaKUZZRoHf9nAxGN/HILHzrcifz6LejA QDZhAkZVww3i+QObpxo/fWaaP497ojCU83fazjE4AcSxzDZUwUpaMkwIz/D0j2/m8/i/ FEckOMgPG3Lp8N9YRNDakTMUP6nAV83wG5cxjHAl/241Z7FL5BP7aprZSx/L/Sh2cPY3 c4RQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=m+3DxtLK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lx10-20020a17090b4b0a00b00205da45d8a5si20010157pjb.124.2023.03.08.07.49.44; Wed, 08 Mar 2023 07:50:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=m+3DxtLK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232021AbjCHPlG (ORCPT + 99 others); Wed, 8 Mar 2023 10:41:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232519AbjCHPkZ (ORCPT ); Wed, 8 Mar 2023 10:40:25 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C9095D26A for ; Wed, 8 Mar 2023 07:40:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678290009; x=1709826009; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=wG3vf2+xlpzOKdj5dCj9/rgBBguHqYIRNINuZ3j1/Dc=; b=m+3DxtLKGcIi07Hge9SmupV9IN8MFNYT93ZRY2OtqsaBpp7/u1eBSJQB iOjfy+0SmPm22zxkeO4ycCoe8Iem6SYNqAH+0doNN0ckMY92UGxhQRkBT o422fkrOy2sH0aeDd6d4MnrZ7qInirdg1j+S8H/X4BkfyK1MxOnuN0Nwi R2oEkO3DyKdWnwEu+56kuxbyc4pPyFrV4qKjZsS8SsqB9wI8FK5eAfzCm wWIR77R0W+IxTA1q3mkMyEdQG9uM+NP8uphDlWWkvhEYsmP0LY3l4kfXS Tah2Ww5qmmeNWHi3xEXTR2XG5Azf5DRYgpV8VpQdaM6EkgrdQyAwhi3L6 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="337703576" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="337703576" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="787160279" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="787160279" Received: from lab-ah.igk.intel.com ([10.102.42.211]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:49 -0800 From: Andrzej Hajda Date: Wed, 08 Mar 2023 16:39:05 +0100 Subject: [PATCH v5 3/4] drm/i915/selftests: use nop_clear_range instead of local function MIME-Version: 1.0 Message-Id: <20230308-guard_error_capture-v5-3-6d1410d13540@intel.com> References: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> In-Reply-To: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Andi Shyti , Chris Wilson , Nirmoy Das , Andrzej Hajda X-Mailer: b4 0.11.1 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759815244492197292?= X-GMAIL-MSGID: =?utf-8?q?1759815244492197292?= Since nop_clear_range is visible it can be used here. Signed-off-by: Andrzej Hajda Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/selftests/mock_gtt.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/mock_gtt.c b/drivers/gpu/drm/i915/selftests/mock_gtt.c index ece97e4faacb97..89119e3970279f 100644 --- a/drivers/gpu/drm/i915/selftests/mock_gtt.c +++ b/drivers/gpu/drm/i915/selftests/mock_gtt.c @@ -57,11 +57,6 @@ static void mock_cleanup(struct i915_address_space *vm) { } -static void mock_clear_range(struct i915_address_space *vm, - u64 start, u64 length) -{ -} - struct i915_ppgtt *mock_ppgtt(struct drm_i915_private *i915, const char *name) { struct i915_ppgtt *ppgtt; @@ -80,7 +75,7 @@ struct i915_ppgtt *mock_ppgtt(struct drm_i915_private *i915, const char *name) ppgtt->vm.alloc_pt_dma = alloc_pt_dma; ppgtt->vm.alloc_scratch_dma = alloc_pt_dma; - ppgtt->vm.clear_range = mock_clear_range; + ppgtt->vm.clear_range = nop_clear_range; ppgtt->vm.insert_page = mock_insert_page; ppgtt->vm.insert_entries = mock_insert_entries; ppgtt->vm.cleanup = mock_cleanup; @@ -119,7 +114,7 @@ void mock_init_ggtt(struct intel_gt *gt) ggtt->vm.alloc_pt_dma = alloc_pt_dma; ggtt->vm.alloc_scratch_dma = alloc_pt_dma; - ggtt->vm.clear_range = mock_clear_range; + ggtt->vm.clear_range = nop_clear_range; ggtt->vm.insert_page = mock_insert_page; ggtt->vm.insert_entries = mock_insert_entries; ggtt->vm.cleanup = mock_cleanup; From patchwork Wed Mar 8 15:39:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 66315 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp409183wrd; Wed, 8 Mar 2023 07:45:51 -0800 (PST) X-Google-Smtp-Source: AK7set/a4tJCRNQNIyvb/+tHuQasyMftINTxv0hasckkl5l0ubmy37fenBaF7h3ZPt4WelVvDzKs X-Received: by 2002:a62:384c:0:b0:5a9:c55b:2cae with SMTP id f73-20020a62384c000000b005a9c55b2caemr16515143pfa.31.1678290351618; Wed, 08 Mar 2023 07:45:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678290351; cv=none; d=google.com; s=arc-20160816; b=CSxn1TG0BaOWVvnuc71MpAMINCLuXWerhFByOysHQQ0uKxhkRZStGyACjiO1AsIki5 vVpH3VAP0SxcExZShECbqHX+nCpKjxTDcdc0Kn3BP3SdYsHggF8z5xD9rcBa2sQ4NMhA g6ESWUvA4bGxPEUQj5X2CDyyxmnr/ivaUA5eAMv49G6pJ3C2lSQRtw5+MuVneII3f6SP iaL924ryYV492SErptvaRFnYcmi31ONpx9paSnhhTNzjFh2HGjDdQ5GPX/CGmpCE+W2q pBnpmMFh1SAR7xu6+qMYr2InagCcv9pZyoFBeZj7fToYaFUnqwOpfiA8KEzjPrBUKLtW W00A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=+eJARa3JWrIpq3VGREx4YSQ2X6CLQVVj5C4DR5UN8V8=; b=HXZ2oXPSYTddK6Leklj51t6K+klTJd+t9kW8pB3MW4T1Fs1n55bxmUyoP3ZSpJqs2Y FvrFhBVtAWHfOF8KNpgCcKG4soruvkNcWpVLSibB7PdQ6oUNtaGE6UptEvRANMyxRsAy zxy0NUykp6VYVjPmymRpKgPsgpGHygs+3BnjV+XAkSU1IlfJokQDobTUtekMS4eX3+G3 ivHmOV1DJImE7aAdpdcrA4jmyW9IXyFr2OrzZ84lAHMsKj0vaWCodKqEhMyvbxVu1cOS 2taOOHUOVxMOfflKAdrF+Tgthh+qURXioYARXBi0cfjdT9TOUWi2GgHhoHAJSLdHlhXJ bd6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bviiDxUM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t191-20020a6381c8000000b00502e4103888si4776653pgd.801.2023.03.08.07.45.34; Wed, 08 Mar 2023 07:45:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bviiDxUM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232134AbjCHPlK (ORCPT + 99 others); Wed, 8 Mar 2023 10:41:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33646 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232533AbjCHPk1 (ORCPT ); Wed, 8 Mar 2023 10:40:27 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BC1392BEB for ; Wed, 8 Mar 2023 07:40:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678290010; x=1709826010; h=from:date:subject:mime-version:content-transfer-encoding: message-id:references:in-reply-to:to:cc; bh=W+jwVlTRdjvktA1nEkWNcAT5iygeBJ8dB2aSEBElQ1U=; b=bviiDxUMJdiXBZhjxH8bd0LGJ/qYjKA0oHf3Oq9Kc3oF0bwhOV0grBeP dKR5JZMdb3yCO9vsoZh0BKf4KdfXImhfT7OFTA9lacia0+Dl4hab1/9ah n32l+jfmZyq7uRK+EHdWaAdA5Aohexu1MknHh0woBT+AMq9uw19f+VHTS WBiGOW5TghS3XfxYuRh0dXMwvwxXTjsAlvctJa4IZylxbLHjQ+vlFf02m Xcg5eCMOn5Zhc7kK9dpXB+gIja/wZYTlmd4VuRQtgtlMWZo0sIBvPUTMn uOikrO3Rs/4N+x0Vx8UyCvyYonNXekj4AODuWoMBmigHs96NQzkOd7e3g g==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="337703592" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="337703592" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="787160296" X-IronPort-AV: E=Sophos;i="5.98,244,1673942400"; d="scan'208";a="787160296" Received: from lab-ah.igk.intel.com ([10.102.42.211]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 07:39:51 -0800 From: Andrzej Hajda Date: Wed, 08 Mar 2023 16:39:06 +0100 Subject: [PATCH v5 4/4] drm/i915: add guard page to ggtt->error_capture MIME-Version: 1.0 Message-Id: <20230308-guard_error_capture-v5-4-6d1410d13540@intel.com> References: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> In-Reply-To: <20230308-guard_error_capture-v5-0-6d1410d13540@intel.com> To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Andi Shyti , Chris Wilson , Nirmoy Das , Andrzej Hajda X-Mailer: b4 0.11.1 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759814834448444110?= X-GMAIL-MSGID: =?utf-8?q?1759814983223279113?= Write-combining memory allows speculative reads by CPU. ggtt->error_capture is WC mapped to CPU, so CPU/MMU can try to prefetch memory beyond the error_capture, ie it tries to read memory pointed by next PTE in GGTT. If this PTE points to invalid address DMAR errors will occur. This behaviour was observed on ADL and RPL platforms. To avoid it, guard scratch page should be added after error_capture. The patch fixes the most annoying issue with error capture but since WC reads are used also in other places there is a risk similar problem can affect them as well. v2: - modified commit message (I hope the diagnosis is correct), - added bug checks to ensure scratch is initialized on gen3 platforms. CI produces strange stacktrace for it suggesting scratch[0] is NULL, to be removed after resolving the issue with gen3 platforms. v3: - removed bug checks, replaced with gen check. v4: - change code for scratch page insertion to support all platforms, - add info in commit message there could be more similar issues v5: - check for nop_clear_range instead of gen8 (Tvrtko), - re-insert scratch pages on resume (Tvrtko) Signed-off-by: Andrzej Hajda Reviewed-by: Andi Shyti --- drivers/gpu/drm/i915/gt/intel_ggtt.c | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt.c b/drivers/gpu/drm/i915/gt/intel_ggtt.c index b925da42c7cfc4..8fb700fde85c8f 100644 --- a/drivers/gpu/drm/i915/gt/intel_ggtt.c +++ b/drivers/gpu/drm/i915/gt/intel_ggtt.c @@ -502,6 +502,21 @@ static void cleanup_init_ggtt(struct i915_ggtt *ggtt) mutex_destroy(&ggtt->error_mutex); } +static void +ggtt_insert_scratch_pages(struct i915_ggtt *ggtt, u64 offset, u64 length) +{ + struct i915_address_space *vm = &ggtt->vm; + + if (vm->clear_range != nop_clear_range) + return vm->clear_range(vm, offset, length); + + while (length > 0) { + vm->insert_page(vm, px_dma(vm->scratch[0]), offset, I915_CACHE_NONE, 0); + offset += I915_GTT_PAGE_SIZE; + length -= I915_GTT_PAGE_SIZE; + } +} + static int init_ggtt(struct i915_ggtt *ggtt) { /* @@ -550,8 +565,12 @@ static int init_ggtt(struct i915_ggtt *ggtt) * paths, and we trust that 0 will remain reserved. However, * the only likely reason for failure to insert is a driver * bug, which we expect to cause other failures... + * + * Since CPU can perform speculative reads on error capture + * (write-combining allows it) add scratch page after error + * capture to avoid DMAR errors. */ - ggtt->error_capture.size = I915_GTT_PAGE_SIZE; + ggtt->error_capture.size = 2 * I915_GTT_PAGE_SIZE; ggtt->error_capture.color = I915_COLOR_UNEVICTABLE; if (drm_mm_reserve_node(&ggtt->vm.mm, &ggtt->error_capture)) drm_mm_insert_node_in_range(&ggtt->vm.mm, @@ -561,11 +580,15 @@ static int init_ggtt(struct i915_ggtt *ggtt) 0, ggtt->mappable_end, DRM_MM_INSERT_LOW); } - if (drm_mm_node_allocated(&ggtt->error_capture)) + if (drm_mm_node_allocated(&ggtt->error_capture)) { + u64 start = ggtt->error_capture.start; + u64 size = ggtt->error_capture.size; + + ggtt_insert_scratch_pages(ggtt, start, size); drm_dbg(&ggtt->vm.i915->drm, "Reserved GGTT:[%llx, %llx] for use by error capture\n", - ggtt->error_capture.start, - ggtt->error_capture.start + ggtt->error_capture.size); + start, start + size); + } /* * The upper portion of the GuC address space has a sizeable hole @@ -1256,6 +1279,10 @@ void i915_ggtt_resume(struct i915_ggtt *ggtt) flush = i915_ggtt_resume_vm(&ggtt->vm); + if (drm_mm_node_allocated(&ggtt->error_capture)) + ggtt_insert_scratch_pages(ggtt, ggtt->error_capture.start, + ggtt->error_capture.size); + ggtt->invalidate(ggtt); if (flush)