On Mon, Jun 27, 2016 at 05:46:53PM +0530, akash.g...@intel.com wrote:
> +static void guc_remove_log_relay_file(struct intel_guc *guc)
> +{
> +     relay_close(guc->log_relay_chan);
> +}
> +
> +static void guc_create_log_relay_file(struct intel_guc *guc)
> +{
> +     struct drm_i915_private *dev_priv = guc_to_i915(guc);
> +     struct drm_device *dev = dev_priv->dev;
> +     struct dentry *log_dir;
> +     struct rchan *guc_log_relay_chan;
> +     size_t n_subbufs, subbuf_size;
> +
> +     if (guc->log_relay_chan)
> +             return;
> +
> +     /* If /sys/kernel/debug/dri/0 location do not exist, then debugfs is
> +      * not mounted and so can't create the relay file.
> +      * The relay API seems to fit well with debugfs only.
> +      */

Ah. dev->primary->debugfs_root does not exist until the end of driver
loading.

You need to add an intel_guc_register() to the i915_driver_register()
after we call drm_dev_rigster() (that then calls this function).

Similarly, this needs to be torn down in unregister.

> +     if (!dev->primary->debugfs_root) {
> +             /* logging will remain off */
> +             i915.guc_log_level = -1;
> +             return;
> +     }
> +
> +     /* For now create the log file in /sys/kernel/debug/dri dir. */
> +     log_dir = dev->primary->debugfs_root->d_parent;

In future, this will be something like /sys/kernel/gpu/i915/guc_log, so
I don't see a good argument for not being more canonical in the debugfs
placement and using dev->primary->debugfs_root (i.e. /.../dri/0)

At the very least, you need to explain why we don't use dri/0/
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to