• Jeffrey Hugo's avatar
    accel/qaic: Add bootlog debugfs · 5f8df5c6
    Jeffrey Hugo authored
    During the boot process of AIC100, the bootloaders (PBL and SBL) log
    messages to device RAM. During SBL, if the host opens the QAIC_LOGGING
    channel, SBL will offload the contents of the log buffer to the host,
    and stream any new messages that SBL logs.
    
    This log of the boot process can be very useful for an initial triage of
    any boot related issues. For example, if SBL rejects one of the runtime
    firmware images for a validation failure, SBL will log a reason why.
    
    Add the ability of the driver to open the logging channel, receive the
    messages, and store them. Also define a debugfs entry called "bootlog"
    by hooking into the DRM debugfs framework. When the bootlog debugfs
    entry is read, the current contents of the log that the host is caching
    is displayed to the user. The driver will retain the cache until it
    detects that the device has rebooted.  At that point, the cache will be
    freed, and the driver will wait for a new log. With this scheme, the
    driver will only have a cache of the log from the current device boot.
    Note that if the driver initializes a device and it is already in the
    runtime state (QSM), no bootlog will be available through this mechanism
    because the driver and SBL have not communicated.
    Signed-off-by: default avatarJeffrey Hugo <quic_jhugo@quicinc.com>
    Reviewed-by: default avatarCarl Vanderlip <quic_carlv@quicinc.com>
    Reviewed-by: default avatarPranjal Ramajor Asha Kanojiya <quic_pkanojiy@quicinc.com>
    Reviewed-by: default avatarJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240322175730.3855440-2-quic_jhugo@quicinc.com
    5f8df5c6
qaic_debugfs.h 631 Bytes