Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Lucas De Marchi <lucas.demarchi@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: Lucas De Marchi <lucas.demarchi@intel.com>,
	Matt Roper <matthew.d.roper@intel.com>
Subject: [Intel-xe] [PATCH v5 20/21] drm/xe/rtp: Also check gt type
Date: Fri, 26 May 2023 09:43:57 -0700	[thread overview]
Message-ID: <20230526164358.86393-21-lucas.demarchi@intel.com> (raw)
In-Reply-To: <20230526164358.86393-1-lucas.demarchi@intel.com>

When running rules on MTL and beyond that have media as a standalone GT,
the rule should only match if the gt passed as parameter match the
version/range/stepping that the rule is checking. This allows
workarounds affecting only the media GT to be applied only on that GT
and vice-versa.

For platforms before MTL, the GT will not be of media type, even if it
includes media engines. Make sure to cover that case by checking if the
platforma has standalone media.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_rtp.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
index ebcfb04c391a..43a86358efb6 100644
--- a/drivers/gpu/drm/xe/xe_rtp.c
+++ b/drivers/gpu/drm/xe/xe_rtp.c
@@ -23,6 +23,11 @@
  * the values to the registers that have matching rules.
  */
 
+static bool has_samedia(const struct xe_device *xe)
+{
+	return xe->info.media_verx100 >= 1300;
+}
+
 static bool rule_matches(const struct xe_device *xe,
 			 struct xe_gt *gt,
 			 struct xe_hw_engine *hwe,
@@ -43,26 +48,32 @@ static bool rule_matches(const struct xe_device *xe,
 				xe->info.subplatform == r->subplatform;
 			break;
 		case XE_RTP_MATCH_GRAPHICS_VERSION:
-			match = xe->info.graphics_verx100 == r->ver_start;
+			match = xe->info.graphics_verx100 == r->ver_start &&
+				(!has_samedia(xe) || !xe_gt_is_media_type(gt));
 			break;
 		case XE_RTP_MATCH_GRAPHICS_VERSION_RANGE:
 			match = xe->info.graphics_verx100 >= r->ver_start &&
-				xe->info.graphics_verx100 <= r->ver_end;
+				xe->info.graphics_verx100 <= r->ver_end &&
+				(!has_samedia(xe) || !xe_gt_is_media_type(gt));
 			break;
 		case XE_RTP_MATCH_GRAPHICS_STEP:
 			match = xe->info.step.graphics >= r->step_start &&
-				xe->info.step.graphics < r->step_end;
+				xe->info.step.graphics < r->step_end &&
+				(!has_samedia(xe) || !xe_gt_is_media_type(gt));
 			break;
 		case XE_RTP_MATCH_MEDIA_VERSION:
-			match = xe->info.media_verx100 == r->ver_start;
+			match = xe->info.media_verx100 == r->ver_start &&
+				(!has_samedia(xe) || xe_gt_is_media_type(gt));
 			break;
 		case XE_RTP_MATCH_MEDIA_VERSION_RANGE:
 			match = xe->info.media_verx100 >= r->ver_start &&
-				xe->info.media_verx100 <= r->ver_end;
+				xe->info.media_verx100 <= r->ver_end &&
+				(!has_samedia(xe) || xe_gt_is_media_type(gt));
 			break;
 		case XE_RTP_MATCH_MEDIA_STEP:
 			match = xe->info.step.media >= r->step_start &&
-				xe->info.step.media < r->step_end;
+				xe->info.step.media < r->step_end &&
+				(!has_samedia(xe) || xe_gt_is_media_type(gt));
 			break;
 		case XE_RTP_MATCH_INTEGRATED:
 			match = !xe->info.is_dgfx;
-- 
2.40.1


  parent reply	other threads:[~2023-05-26 16:44 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-26 16:43 [Intel-xe] [PATCH v5 00/21] Dump + OOB workarounds Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 01/21] drm/xe: Fix Wa_22011802037 annotation Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 02/21] drm/xe/rtp: Split rtp process initialization Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 03/21] drm/xe/rtp: Replace XE_WARN_ON Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 04/21] drm/xe/rtp: Add "_sr" to entry/function names Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 05/21] drm/xe/rtp: Allow to track active workarounds Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 06/21] drm/xe/wa: Track gt/engine/lrc " Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 07/21] drm/xe/debugfs: Dump " Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 08/21] drm/xe/rtp: Rename STEP to GRAPHICS_STEP Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 09/21] drm/xe/rtp: Add check for media stepping Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 10/21] drm/xe/rtp: Add support for entries with no action Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 11/21] drm/xe: Include build directory Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 12/21] drm/xe: Add support for OOB workarounds Lucas De Marchi
2023-08-29  9:49   ` Jani Nikula
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 13/21] drm/xe/guc: Port Wa_22012773006 to xe_wa Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 14/21] drm/xe/guc: Port Wa_16011759253 " Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 15/21] drm/xe/guc: Port Wa_14012197797/Wa_22011391025 " Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 16/21] drm/xe/guc: Port Wa_16011777198 " Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 17/21] drm/xe/guc: Port Wa_22012727170/Wa_22012727685 " Lucas De Marchi
2023-05-26 16:54   ` Matt Roper
2023-05-26 17:23     ` Lucas De Marchi
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 18/21] drm/xe/guc: Port Wa_16015675438/Wa_18020744125 " Lucas De Marchi
2023-05-26 16:56   ` Matt Roper
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 19/21] drm/xe/guc: Port Wa_1509372804 " Lucas De Marchi
2023-05-26 16:43 ` Lucas De Marchi [this message]
2023-05-26 16:43 ` [Intel-xe] [PATCH v5 21/21] drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it Lucas De Marchi
2023-05-26 16:58 ` [Intel-xe] ✓ CI.Patch_applied: success for Dump + OOB workarounds Patchwork
2023-05-26 17:00 ` [Intel-xe] ✓ CI.KUnit: " Patchwork
2023-05-26 17:04 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-05-26 17:32 ` [Intel-xe] ○ CI.BAT: info " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230526164358.86393-21-lucas.demarchi@intel.com \
    --to=lucas.demarchi@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=matthew.d.roper@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox