llist_add(&engine->uabi_llist, &engine->i915->uabi_engines_llist);
 }
 
-static const u8 uabi_classes[] = {
+#define I915_NO_UABI_CLASS ((u16)(-1))
+
+static const u16 uabi_classes[] = {
        [RENDER_CLASS] = I915_ENGINE_CLASS_RENDER,
        [COPY_ENGINE_CLASS] = I915_ENGINE_CLASS_COPY,
        [VIDEO_DECODE_CLASS] = I915_ENGINE_CLASS_VIDEO,
        [VIDEO_ENHANCEMENT_CLASS] = I915_ENGINE_CLASS_VIDEO_ENHANCE,
        [COMPUTE_CLASS] = I915_ENGINE_CLASS_COMPUTE,
+       [OTHER_CLASS] = I915_NO_UABI_CLASS, /* Not exposed to users, no uabi class. */
 };
 
 static int engine_cmp(void *priv, const struct list_head *A,
 
 void intel_engines_driver_register(struct drm_i915_private *i915)
 {
+       u16 name_instance, other_instance = 0;
        struct legacy_ring ring = {};
        struct list_head *it, *next;
        struct rb_node **p, *prev;
                if (intel_gt_has_unrecoverable_error(engine->gt))
                        continue; /* ignore incomplete engines */
 
-               /*
-                * We don't want to expose the GSC engine to the users, but we
-                * still rename it so it is easier to identify in the debug logs
-                */
-               if (engine->id == GSC0) {
-                       engine_rename(engine, "gsc", 0);
-                       continue;
-               }
-
                GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes));
                engine->uabi_class = uabi_classes[engine->class];
+               if (engine->uabi_class == I915_NO_UABI_CLASS) {
+                       name_instance = other_instance++;
+               } else {
+                       GEM_BUG_ON(engine->uabi_class >=
+                                  ARRAY_SIZE(i915->engine_uabi_class_count));
+                       name_instance =
+                               i915->engine_uabi_class_count[engine->uabi_class]++;
+               }
+               engine->uabi_instance = name_instance;
 
-               GEM_BUG_ON(engine->uabi_class >=
-                          ARRAY_SIZE(i915->engine_uabi_class_count));
-               engine->uabi_instance =
-                       i915->engine_uabi_class_count[engine->uabi_class]++;
-
-               /* Replace the internal name with the final user facing name */
+               /*
+                * Replace the internal name with the final user and log facing
+                * name.
+                */
                engine_rename(engine,
                              intel_engine_class_repr(engine->class),
-                             engine->uabi_instance);
+                             name_instance);
+
+               if (engine->uabi_class == I915_NO_UABI_CLASS)
+                       continue;
 
                rb_link_node(&engine->uabi_node, prev, p);
                rb_insert_color(&engine->uabi_node, &i915->uabi_engines);