[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230413131726.GQ17993@unreal>
Date: Thu, 13 Apr 2023 16:17:26 +0300
From: Leon Romanovsky <leon@...nel.org>
To: Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>
Cc: jiri@...nulli.us, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, corbet@....net,
jesse.brandeburg@...el.com, anthony.l.nguyen@...el.com,
richardcochran@...il.com, netdev@...r.kernel.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
intel-wired-lan@...ts.osuosl.org
Subject: Re: [RFC PATCH v1] ice: add CGU info to devlink info callback
On Wed, Apr 12, 2023 at 03:38:11PM +0200, Arkadiusz Kubalewski wrote:
> If Clock Generation Unit and dplls are present on NIC board user shall
> know its details.
> Provide the devlink info callback with a new:
> - fixed type object `cgu.id` - hardware variant of onboard CGU
> - running type object `fw.cgu` - CGU firmware version
> - running type object `fw.cgu.build` - CGU configuration build version
>
> These information shall be known for debugging purposes.
>
> Test (on NIC board with CGU)
> $ devlink dev info <bus_name>/<dev_name> | grep cgu
> cgu.id 8032
> fw.cgu 6021
> fw.cgu.build 0x1030001
>
> Test (on NIC board without CGU)
> $ devlink dev info <bus_name>/<dev_name> | grep cgu -c
> 0
>
> Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>
> ---
> Documentation/networking/devlink/ice.rst | 14 +++++++++
> drivers/net/ethernet/intel/ice/ice_devlink.c | 30 ++++++++++++++++++++
> drivers/net/ethernet/intel/ice/ice_main.c | 5 +++-
> drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 12 ++++----
> drivers/net/ethernet/intel/ice/ice_type.h | 9 +++++-
> 5 files changed, 62 insertions(+), 8 deletions(-)
<...>
> Flash Update
> ============
> diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c
> index bc44cc220818..06fe895739af 100644
> --- a/drivers/net/ethernet/intel/ice/ice_devlink.c
> +++ b/drivers/net/ethernet/intel/ice/ice_devlink.c
> @@ -193,6 +193,33 @@ ice_info_pending_netlist_build(struct ice_pf __always_unused *pf,
> snprintf(ctx->buf, sizeof(ctx->buf), "0x%08x", netlist->hash);
> }
>
> +static void ice_info_cgu_id(struct ice_pf *pf, struct ice_info_ctx *ctx)
> +{
> + if (ice_is_feature_supported(pf, ICE_F_CGU)) {
> + struct ice_hw *hw = &pf->hw;
> +
> + snprintf(ctx->buf, sizeof(ctx->buf), "%u", hw->cgu.id);
> + }
Please use kernel coding style - success oriented flow
struct ice_hw *hw = &pf->hw;
if (!ice_is_feature_supported(pf, ICE_F_CGU))
return;
snprintf(ctx->buf, sizeof(ctx->buf), "%u", hw->cgu.id);
However, it will be nice to have these callbacks only if CGU is
supported, in such way you won't need any of ice_is_feature_supported()
checks.
Thanks
Powered by blists - more mailing lists