[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-Lx-rxFPGQ+Sv0ECnso80UUZ_BaAep9Y707cTsTcodnEQ@mail.gmail.com>
Date: Wed, 27 Jan 2021 15:30:33 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Hariprasad Kelam <hkelam@...vell.com>
Cc: Network Development <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Sunil Kovvuri Goutham <sgoutham@...vell.com>,
Linu Cherian <lcherian@...vell.com>,
Geethasowjanya Akula <gakula@...vell.com>,
Jerin Jacob <jerinj@...vell.com>, sbhatta@...vell.com,
Christina Jacob <cjacob@...vell.com>
Subject: Re: [Patch v2 net-next 3/7] octeontx2-pf: ethtool fec mode support
On Wed, Jan 27, 2021 at 4:03 AM Hariprasad Kelam <hkelam@...vell.com> wrote:
>
> From: Christina Jacob <cjacob@...vell.com>
>
> Add ethtool support to configure fec modes baser/rs and
> support to fecth FEC stats from CGX as well PHY.
>
> Configure fec mode
> - ethtool --set-fec eth0 encoding rs/baser/off/auto
> Query fec mode
> - ethtool --show-fec eth0
>
> Signed-off-by: Christina Jacob <cjacob@...vell.com>
> Signed-off-by: Sunil Goutham <sgoutham@...vell.com>
> Signed-off-by: Hariprasad Kelam <hkelam@...vell.com>
> ---
> .../ethernet/marvell/octeontx2/nic/otx2_common.c | 23 +++
> .../ethernet/marvell/octeontx2/nic/otx2_common.h | 6 +
> .../ethernet/marvell/octeontx2/nic/otx2_ethtool.c | 181 ++++++++++++++++++++-
> .../net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 3 +
> 4 files changed, 211 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
> index bdfa2e2..f7e5450 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
> @@ -60,6 +60,22 @@ void otx2_update_lmac_stats(struct otx2_nic *pfvf)
> mutex_unlock(&pfvf->mbox.lock);
> }
>
> +void otx2_update_lmac_fec_stats(struct otx2_nic *pfvf)
> +{
> + struct msg_req *req;
> +
> + if (!netif_running(pfvf->netdev))
> + return;
> + mutex_lock(&pfvf->mbox.lock);
> + req = otx2_mbox_alloc_msg_cgx_fec_stats(&pfvf->mbox);
> + if (!req) {
> + mutex_unlock(&pfvf->mbox.lock);
> + return;
> + }
> + otx2_sync_mbox_msg(&pfvf->mbox);
Perhaps simpler to have a single exit from the critical section:
if (req)
otx2_update_lmac_fec_stats
> + mutex_unlock(&pfvf->mbox.lock);
> +}
Also, should this function return an error on failure? The caller
returns errors in other cases.
Powered by blists - more mailing lists