We expose engine properties under sysfs so that the sysadmin can configure the driver according to their requirements. We can also use udev rules to then apply that configuration anytime a device is reloaded. Include a udev snippet provided by Joonas as an example. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/gt/sysfs_engines.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/gpu/drm/i915/gt/sysfs_engines.c b/drivers/gpu/drm/i915/gt/sysfs_engines.c index 967031056202..ef825b2f5d0d 100644 --- a/drivers/gpu/drm/i915/gt/sysfs_engines.c +++ b/drivers/gpu/drm/i915/gt/sysfs_engines.c @@ -11,6 +11,22 @@ #include "intel_engine_heartbeat.h" #include "sysfs_engines.h" +/* + * The sysfs provides a means for configuring each engine for the intended + * usecase, and by utilising a udev the configuration can be made persistent + * across reboots and device unbinding. + * + * An example udev rule to run a custom sysadmin script would be, + * /etc/udev/rules.d/50-intel-gpu.rules: + * + * ACTION=="bind|add",SUBSYSTEM=="pci",DRIVER=="i915",RUN+="/usr/local/libexec/setup-intel-gpu.sh" + * + * where the script receives the device name and can open the sysfs, e.g.: + * for ENGINE in $(find /sys/$DEVPATH/drm/card?/engine -maxdepth 1) do + * echo 0 > $ENGINE/heartbeat_interval_ms # Disable hang checking + * done + */ + struct kobj_engine { struct kobject base; struct intel_engine_cs *engine; -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx