Re: [Patch v2 net-next 3/7] octeontx2-pf: ethtool fec mode support

From: Willem de Bruijn
Date: Wed Jan 27 2021 - 15:33:04 EST


On Wed, Jan 27, 2021 at 4:03 AM Hariprasad Kelam <hkelam@xxxxxxxxxxx> wrote:
>
> From: Christina Jacob <cjacob@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx>
> Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxxx>
> Signed-off-by: Hariprasad Kelam <hkelam@xxxxxxxxxxx>
> ---
> .../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.