Re: devlink interface for asynchronous event/messages from firmware?
From: Jiri Pirko <jiri@resnulli.us>
Date: 2020-05-22 11:00:37
Thu, May 21, 2020 at 11:51:13PM CEST, kuba@kernel.org wrote:
On Thu, 21 May 2020 13:59:32 -0700 Jacob Keller wrote:quoted
quoted
quoted
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.