Re: [PATCH v2 4/4] platform/x86: intel_telemetry: report debugfs failure

From: Andy Shevchenko
Date: Fri Oct 19 2018 - 08:39:37 EST


On Sat, Oct 6, 2018 at 9:54 AM Rajneesh Bhardwaj
<rajneesh.bhardwaj@xxxxxxxxxxxxxxx> wrote:
>
> On some Goldmont based systems such as ASRock J3455M the BIOS may not
> enable the IPC1 device that provides access to the PMC and PUNIT. In
> such scenarios, the IOSS and PSS resources from the platform device can
> not be obtained and result in a invalid telemetry_plt_config which is an
> internal data structure that holds platform config and is maintained by
> the telemetry platform driver.
>
> This is also applicable to the platforms where the BIOS supports IPC1
> device under debug configurations but IPC1 is disabled by user or the
> policy.
>
> This change allows user to know the reason for not seeing entries under
> /sys/kernel/debug/telemetry/* when there is no apparent failure at boot.
>

Pushed to my review and testing queue, thanks!

P.S. I appended one more patch against this file, please check if it's okay.

> Cc: Matt Turner <matt.turner@xxxxxxxxx>
> Cc: Len Brown <len.brown@xxxxxxxxx>
> Cc: Souvik Kumar Chakravarty <souvik.k.chakravarty@xxxxxxxxx>
> Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxx>
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=198779
> Acked-by: Matt Turner <matt.turner@xxxxxxxxx>
> Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@xxxxxxxxxxxxxxx>
> ---
> Changes in v2:
> * Removed print and out label both as suggested by Andy.
> * changed to pr_info.
> * Other minor style fixes.
>
>
> drivers/platform/x86/intel_telemetry_debugfs.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/intel_telemetry_debugfs.c b/drivers/platform/x86/intel_telemetry_debugfs.c
> index ffd0474b0531..1423fa8710fd 100644
> --- a/drivers/platform/x86/intel_telemetry_debugfs.c
> +++ b/drivers/platform/x86/intel_telemetry_debugfs.c
> @@ -951,12 +951,16 @@ static int __init telemetry_debugfs_init(void)
> debugfs_conf = (struct telemetry_debugfs_conf *)id->driver_data;
>
> err = telemetry_pltconfig_valid();
> - if (err < 0)
> + if (err < 0) {
> + pr_info("Invalid pltconfig, ensure IPC1 device is enabled in BIOS\n");
> return -ENODEV;
> + }
>
> err = telemetry_debugfs_check_evts();
> - if (err < 0)
> + if (err < 0) {
> + pr_info("telemetry_debugfs_check_evts failed\n");
> return -EINVAL;
> + }
>
> register_pm_notifier(&pm_notifier);
>
> --
> 2.17.1
>


--
With Best Regards,
Andy Shevchenko