]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/gt: Continue creating engine sysfs files even after a failure
authorAndi Shyti <andi.shyti@linux.intel.com>
Mon, 19 Aug 2024 11:31:40 +0000 (13:31 +0200)
committerAndi Shyti <andi.shyti@linux.intel.com>
Fri, 23 Aug 2024 22:28:55 +0000 (00:28 +0200)
The i915 driver generates sysfs entries for each engine of the
GPU in /sys/class/drm/cardX/engines/.

The process is straightforward: we loop over the UABI engines and
for each one, we:

 - Create the object.
 - Create basic files.
 - If the engine supports timeslicing, create timeslice duration files.
 - If the engine supports preemption, create preemption-related files.
 - Create default value files.

Currently, if any of these steps fail, the process stops, and no
further sysfs files are created.

However, it's not necessary to stop the process on failure.
Instead, we can continue creating the remaining sysfs files for
the other engines. Even if some files fail to be created, the
list of engines can still be retrieved by querying i915.

Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240819113140.325235-1-andi.shyti@linux.intel.com
drivers/gpu/drm/i915/gt/sysfs_engines.c

index 021f51d9b456810134257ff97f621b4564379007..aab2759067d2ecb8fba3f6b664b29e92587611da 100644 (file)
@@ -530,9 +530,8 @@ void intel_engines_add_sysfs(struct drm_i915_private *i915)
 err_object:
                        kobject_put(kobj);
 err_engine:
-                       dev_err(kdev, "Failed to add sysfs engine '%s'\n",
-                               engine->name);
-                       break;
+                       dev_warn(kdev, "Failed to add sysfs engine '%s'\n",
+                                engine->name);
                }
        }
 }