• Akash Goel's avatar
    drm/i915: Early creation of relay channel for capturing boot time logs · 1e6b8b0d
    Akash Goel authored
    As per the current i915 Driver load sequence, debugfs registration is done
    at the end and so the relay channel debugfs file is also created after that
    but the GuC firmware is loaded much earlier in the sequence.
    As a result Driver could miss capturing the boot-time logs of GuC firmware
    if there are flush interrupts from the GuC side.
    Relay has a provision to support early logging where initially only relay
    channel can be created, to have buffers for storing logs, and later on
    channel can be associated with a debugfs file at appropriate time.
    Have availed that, which allows Driver to capture boot time logs also,
    which can be collected once Userspace comes up.
    
    v2:
    - Remove the couple of FIXMEs, as now the relay channel will be created
      early before enabling the flush interrupts, so no possibility of relay
      channel pointer being modified & read at the same time from 2 different
      execution contexts.
    - Rebase.
    
    v3:
    - Add a comment to justiy setting 'is_global' before the NULL check on the
      parent directory dentry pointer.
    Suggested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarAkash Goel <akash.goel@intel.com>
    Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    1e6b8b0d
i915_guc_submission.c 48.6 KB