Thread (14 messages) 14 messages, 3 authors, 2021-01-27

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

flat view

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2021-01-27 20:33:03
Also in: lkml

On Wed, Jan 27, 2021 at 4:03 AM Hariprasad Kelam [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Christina Jacob <redacted>

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 <redacted>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: Hariprasad Kelam <redacted>
---
 .../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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help