• John Harrison's avatar
    drm/i915/guc: Update to GuC version 69.0.3 · 77b6f79d
    John Harrison authored
    Update to the latest GuC release.
    
    The latest GuC firmware introduces a number of interface changes:
    
    GuC may return NO_RESPONSE_RETRY message for requests sent over CTB.
    Add support for this reply and try resending the request again as a
    new CTB message.
    
    A KLV (key-length-value) mechanism is now used for passing
    configuration data such as CTB management.
    
    With the new KLV scheme, the old CTB management actions are no longer
    used and are removed.
    
    Register capture on hang is now supported by GuC. Full i915 support
    for this will be added by a later patch. A minimum support of
    providing capture memory and register lists is required though, so add
    that in.
    
    The device id of the current platform needs to be provided at init time.
    
    The 'poll CS' w/a (Wa_22012773006) was blanket enabled by previous
    versions of GuC. It must now be explicitly requested by the KMD. So,
    add in the code to turn it on when relevant.
    
    The GuC log entry format has changed. This requires adding a new field
    to the log header structure to mark the wrap point at the end of the
    buffer (as the buffer size is no longer a multiple of the log entry
    size).
    
    New CTB notification messages are now sent for some things that were
    previously only sent via MMIO notifications.
    
    Of these, the crash dump notification was not really being handled by
    i915. It called the log flush code but that only flushed the regular
    debug log and then only if relay logging was enabled. So just report
    an error message instead.
    
    The 'exception' notification was just being ignored completely. So add
    an error message for that as well.
    
    Note that in either the crash dump or the exception case, the GuC is
    basically dead. The KMD will detect this via the heartbeat and trigger
    both an error log (which will include the crash dump as part of the
    GuC log) and a GT reset. So no other processing is really required.
    Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
    Signed-off-by: default avatarMichal Wajdeczko <michal.wajdeczko@intel.com>
    Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220107000622.292081-3-John.C.Harrison@Intel.com
    77b6f79d
intel_guc.c 24.2 KB