From patchwork Sat Mar 18 00:05:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: John Harrison X-Patchwork-Id: 13179628 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 D236FC7618E for ; Sat, 18 Mar 2023 00:06:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 399C010E434; Sat, 18 Mar 2023 00:06:26 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id E009C10E434 for ; Sat, 18 Mar 2023 00:06:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679097983; x=1710633983; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2ZN3XehKf6V/+o4cym7ghdqwjW9B7JwRJm1Sh8M7T4A=; b=bdjUVvmsoBsvze8sm/Fidlo5xDzq8lQ++VLC7+68zV+emgArA38dSEnB 5rRtOG00s3dQzx0RvIjQL2Iiu0dPNPbDEM8TRxZIr+W4GfK7L3HrBTXNW /Ry+mxMN7iVjEXfoHu4lv+3mk5xU7mNN0WjCxNctUrcszPSL++eTieYTd b49QcPW+VIYBoWVZVhMZ9LQZ5jl9KSlkpQh5qKYAxoKuwHZhY5ZIBwz9X vl9GgYwhdbh8DVyOutIsVZY9hfdrYwzXgtQxB1H8z3AJ2PngG+X/0UK9d MtT8sBLq/ifn3vxuN+mx2BFrs0nzUCPeJngXaDU0kXAJnsEBQMOs3B7vG Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10652"; a="337093699" X-IronPort-AV: E=Sophos;i="5.98,270,1673942400"; d="scan'208";a="337093699" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2023 17:06:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10652"; a="657740935" X-IronPort-AV: E=Sophos;i="5.98,270,1673942400"; d="scan'208";a="657740935" Received: from relo-linux-5.jf.intel.com ([10.165.21.152]) by orsmga006.jf.intel.com with ESMTP; 17 Mar 2023 17:06:22 -0700 From: John.C.Harrison@Intel.com To: stable@vger.kernel.org Date: Fri, 17 Mar 2023 17:05:31 -0700 Message-Id: <20230318000531.480966-1-John.C.Harrison@Intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <167820540147158@kroah.com> References: <167820540147158@kroah.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 4.14.y] drm/i915: Don't use stolen memory for ring buffers with LLC 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: Jani Nikula , intel-gfx@lists.freedesktop.org, Chris Wilson , Rodrigo Vivi Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" From: John Harrison Direction from hardware is that stolen memory should never be used for ring buffer allocations on platforms with LLC. There are too many caching pitfalls due to the way stolen memory accesses are routed. So it is safest to just not use it. Signed-off-by: John Harrison Fixes: c58b735fc762 ("drm/i915: Allocate rings from stolen") Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Jani Nikula Cc: Rodrigo Vivi Cc: Tvrtko Ursulin Cc: intel-gfx@lists.freedesktop.org Cc: # v4.9+ Tested-by: Jouni Högander Reviewed-by: Daniele Ceraolo Spurio Link: https://patchwork.freedesktop.org/patch/msgid/20230216011101.1909009-2-John.C.Harrison@Intel.com (cherry picked from commit f54c1f6c697c4297f7ed94283c184acc338a5cf8) Signed-off-by: Jani Nikula (cherry picked from commit 690e0ec8e63da9a29b39fedc6ed5da09c7c82651) Signed-off-by: John Harrison --- drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 6c7563c1ab5f..f0b923e037df 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -1359,10 +1359,11 @@ static struct i915_vma * intel_ring_create_vma(struct drm_i915_private *dev_priv, int size) { struct i915_address_space *vm = &dev_priv->ggtt.base; - struct drm_i915_gem_object *obj; + struct drm_i915_gem_object *obj = NULL; struct i915_vma *vma; - obj = i915_gem_object_create_stolen(dev_priv, size); + if (!HAS_LLC(dev_priv)) + obj = i915_gem_object_create_stolen(dev_priv, size); if (!obj) obj = i915_gem_object_create_internal(dev_priv, size); if (IS_ERR(obj))