Re: [PATCH v3 07/14] ASoC: SOF: Add DSP firmware logger support

Takashi Iwai
2018-12-12T06:44:35Z

On Wed, 12 Dec 2018 00:43:26 +0100,
Pierre-Louis Bossart wrote:
>
>
> On 12/11/18 5:21 PM, Andy Shevchenko wrote:
> > On Tue, Dec 11, 2018 at 03:23:11PM -0600, Pierre-Louis Bossart wrote:
> >> From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
> >>
> >> This patch adds support for real-time DSP logging (timestamped events
> >> and bespoke binary data) for firmware debug. The current solution
> >> relies on DMA transfers to system memory that is then accessed by
> >> userspace tools such as sof-logger. For Intel platforms, two types of
> >> DMAs are currently used (GP-DMA for Baytrail/CherryTrail and HDaudio
> >> DMA for SKL+)
> >>
> >> Due to historical reasons, the driver code follows the DSP firmware
> >> conventions and refers to 'traces', but it is currently unrelated to
> >> the Linux trace subsystem. Future solutions will include support for
> >> more advanced hardware (e.g. MIPI Sys-T), additional formats and the
> >> ability to enable/disable specific traces dynamically.
> >> + if (count > buffer_size - lpos)
> >> + count = buffer_size - lpos;
> > min() / max() ?
> >
> >> + /* make sure count is <= avail */
> >> + count = avail > count ? count : avail;
> > ditto.
> > Check entire series for such.
> yep.
> >
> >> + dfse->dfsentry = debugfs_create_file("trace", 0444, sdev->debugfs_root,
> >> + dfse, &sof_dfs_trace_fops);
> >> + if (!dfse->dfsentry) {
> >> + dev_err(sdev->dev,
> >> + "error: cannot create debugfs entry for trace\n");
> >> + kfree(dfse);
> >> + return -ENODEV;
> > Should not return an error. We must be fine w/o debugfs files.
>
> Not sure I fully agree with the 'must'.
>
> yes execution should proceed, but without debugfs we cannot, well,
> debug, so this is a real show-stopper

So the caller would ignore the error from this function?

Note that debugfs is a pure optional matter, and you can build a
kernel without CONFIG_DEBUGFS, too. Then you'll always get this
error...

thanks,

Takashi