]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/xe/guc: Use proper flag definitions when registering context
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Mon, 8 Sep 2025 12:30:19 +0000 (14:30 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Tue, 9 Sep 2025 09:27:44 +0000 (11:27 +0200)
In H2G action context type is specified in flags dword in bits 2:1.
Use generic FIELD_PREP macro instead of misleading BIT logic.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20250908123025.747-3-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/xe_guc_fwif.h
drivers/gpu/drm/xe/xe_guc_submit.c

index 457d914097c8a0e744870de7ccf9e9df05c37315..a72ff8a68568a021ce6062bda257c8075efc0273 100644 (file)
@@ -65,6 +65,7 @@ struct guc_ctxt_registration_info {
        u32 hwlrca_hi;
 };
 #define CONTEXT_REGISTRATION_FLAG_KMD  BIT(0)
+#define CONTEXT_REGISTRATION_FLAG_TYPE GENMASK(2, 1)
 
 /* 32-bit KLV structure as used by policy updates and others */
 struct guc_klv_generic_dw_t {
index 2b8da44493aeb33ee3f0c8153638629df8a64c57..5ab242be50dd60195f4e8c0d5af5b40708202e5f 100644 (file)
@@ -558,10 +558,8 @@ static void register_exec_queue(struct xe_exec_queue *q, int ctx_type)
        info.engine_submit_mask = q->logical_mask;
        info.hwlrca_lo = lower_32_bits(xe_lrc_descriptor(lrc));
        info.hwlrca_hi = upper_32_bits(xe_lrc_descriptor(lrc));
-       info.flags = CONTEXT_REGISTRATION_FLAG_KMD;
-
-       if (ctx_type != GUC_CONTEXT_NORMAL)
-               info.flags |= BIT(ctx_type);
+       info.flags = CONTEXT_REGISTRATION_FLAG_KMD |
+               FIELD_PREP(CONTEXT_REGISTRATION_FLAG_TYPE, ctx_type);
 
        if (xe_exec_queue_is_parallel(q)) {
                u64 ggtt_addr = xe_lrc_parallel_ggtt_addr(lrc);