Subject: Re: devlink interface for asynchronous event/messages from firmware?

From: Jiri Pirko <[email-masked]>
Date: Fri, 22 May 2020 13:00:28 +0200

Thu, May 21, 2020 at 11:51:13PM CEST, [email-masked] wrote:
>On Thu, 21 May 2020 13:59:32 -0700 Jacob Keller wrote:
>> >> So the ice firmware can optionally send diagnostic debug messages via
>> >> its control queue. The current solutions we've used internally
>> >> essentially hex-dump the binary contents to the kernel log, and then
>> >> these get scraped and converted into a useful format for human consumption.
>> >>
>> >> I'm not 100% of the format, but I know it's based on a decoding file
>> >> that is specific to a given firmware image, and thus attempting to tie
>> >> this into the driver is problematic.  
>> > 
>> > You explained how it works, but not why it's needed :)  
>> 
>> Well, the reason we want it is to be able to read the debug/diagnostics
>> data in order to debug issues that might be related to firmware or
>> software mis-use of firmware interfaces.
>> 
>> By having it be a separate interface rather than trying to scrape from
>> the kernel message buffer, it becomes something we can have as a
>> possibility for debugging in the field.
>
>For pure debug/tracing perhaps trace_devlink_hwerr() is the right fit?

Well, trace_devlink_hwerr() is for simple errors that are mapped 1:1
with some string. From what I got, Jacob needs to pass some data
structures to the user. Something more similar to health reporter dumps
and their fmsg.