From mboxrd@z Thu Jan 1 00:00:00 1970 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 C2EE8FF8864 for ; Mon, 27 Apr 2026 22:13:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7800910E97F; Mon, 27 Apr 2026 22:13:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="l1r8Z3sd"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3AC9310E97E for ; Mon, 27 Apr 2026 22:13:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1777328012; x=1808864012; h=date:message-id:from:to:cc:subject:in-reply-to: references:mime-version; bh=odmiBga7ap2n8l0lJO2M94+GDOfANqD4c/6gGCE+J8U=; b=l1r8Z3sdeaMUeC3PafkUengAnX3Niy3VFpaoMpap0RZQq6ij7GB3nHtF hbncWOx8se3UXokB1KgcWY4yfcY4y1o4jyOKlOQt4e2RVaGUKT1U0DXFB UhZgOtMnGHKjh9zLC+/FOU0c6RwsOeARQ/NhyrB6nVe1NGs1ko+i7mlOX 409z1D4kXAANv2nl0Y4tS0JnYbvKmW2jSI17buREe98YQP8oU55F63AJB gOSpbxvxW3UKzvMY6Qk8o097fy5OW9bBF4/LSWOvf8UT5lhvbXsrrzxrO 25QW+XhjeJQNzSOTJbzRZ2BITcg8Bo0Azl/FbdTbL2TgU+g1SRQO5L8Vo A==; X-CSE-ConnectionGUID: lcTH9TRTQUGZw4qE/2FidQ== X-CSE-MsgGUID: MEX3QAV1QHacRRTz5WU8sg== X-IronPort-AV: E=McAfee;i="6800,10657,11769"; a="103690197" X-IronPort-AV: E=Sophos;i="6.23,202,1770624000"; d="scan'208";a="103690197" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2026 15:13:32 -0700 X-CSE-ConnectionGUID: t75TO6omQzSZyGazvb64IA== X-CSE-MsgGUID: BfpxLwLHThOykRTffpVYQA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,202,1770624000"; d="scan'208";a="238797175" Received: from unknown (HELO adixit-MOBL3.intel.com) ([10.125.136.209]) by orviesa005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2026 15:13:31 -0700 Date: Mon, 27 Apr 2026 15:13:31 -0700 Message-ID: <87jytsjblg.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Matt Roper Cc: , Umesh Nerlige Ramappa Subject: Re: [PATCH 3/3] drm/xe/oa: Implement Wa_14026633728 In-Reply-To: <20260427205241.GK2131374@mdroper-desk1.amr.corp.intel.com> References: <20260427202655.2493474-1-ashutosh.dixit@intel.com> <20260427202655.2493474-4-ashutosh.dixit@intel.com> <20260427205241.GK2131374@mdroper-desk1.amr.corp.intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.2 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" On Mon, 27 Apr 2026 13:52:41 -0700, Matt Roper wrote: > Hi Matt, > On Mon, Apr 27, 2026 at 01:26:55PM -0700, Ashutosh Dixit wrote: > > CRI Wa_14026633728 requires MERTOA buffer to be allocated in device memory, > > not system memory (which is the default for OA buffers). > > > > Signed-off-by: Ashutosh Dixit > > Reviewed-by: Umesh Nerlige Ramappa > > --- > > drivers/gpu/drm/xe/xe_oa.c | 10 +++++++++- > > drivers/gpu/drm/xe/xe_wa_oob.rules | 1 + > > 2 files changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c > > index 83797c9479f7c..d905302f3f151 100644 > > --- a/drivers/gpu/drm/xe/xe_oa.c > > +++ b/drivers/gpu/drm/xe/xe_oa.c > > @@ -250,6 +250,11 @@ static void oa_timestamp_clear(struct xe_oa_stream *stream, u32 report_offset) > > xe_map_wr(stream->oa->xe, map, report_offset + 4, u32, 0); > > } > > > > +static bool mert_wa_14026633728(struct xe_oa_stream *s) > > +{ > > + return s->oa_unit->type == DRM_XE_OA_UNIT_TYPE_MERT && XE_GT_WA(s->gt, 14026633728); > > +} > > + > > static bool xe_oa_buffer_check_unlocked(struct xe_oa_stream *stream) > > { > > u32 gtt_offset = xe_bo_ggtt_addr(stream->oa_buffer.bo); > > @@ -893,11 +898,14 @@ static void xe_oa_stream_destroy(struct xe_oa_stream *stream) > > > > static int xe_oa_alloc_oa_buffer(struct xe_oa_stream *stream, size_t size) > > { > > + u32 vram = mert_wa_14026633728(stream) ? > > + XE_BO_FLAG_VRAM_IF_DGFX(xe_device_get_root_tile(stream->oa->xe)) : > > + XE_BO_FLAG_SYSTEM; > > struct xe_bo *bo; > > > > bo = xe_bo_create_pin_map_novm(stream->oa->xe, stream->gt->tile, > > size, ttm_bo_type_kernel, > > - XE_BO_FLAG_SYSTEM | XE_BO_FLAG_GGTT, false); > > + vram | XE_BO_FLAG_GGTT, false); > > if (IS_ERR(bo)) > > return PTR_ERR(bo); > > > > diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules > > index f8a185103b805..a7c1bd9bcb943 100644 > > --- a/drivers/gpu/drm/xe/xe_wa_oob.rules > > +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules > > @@ -65,3 +65,4 @@ > > > > 14025883347 MEDIA_VERSION_RANGE(1301, 3503) > > GRAPHICS_VERSION_RANGE(2004, 3005) > > +14026633728 PLATFORM(CRESCENTISLAND) > > Is the underlying defect here tied to the graphics IP or the > platform/SoC? If graphics IP, this should key off the graphics version > instead of platform). If platform, we should treat it as a device > workaround rather than a GT workaround. I.e., definition in > xe_device_wa_oob.rules and use XE_DEVICE_WA() at the check sites. Because the WA is in MERT I'd think it would be a device WA. So I've changed it to a device WA as suggested here in v8. Thanks. -- Ashutosh