[dpdk-dev] [PATCH v2 1/1] net/ixgbe: Add access and locking APIs for MDIO

Shweta Choudaha shweta.choudaha at gmail.com
Wed Apr 11 16:01:22 CEST 2018


Thanks for the review.
I have sent an updated patch.

regards,
Shweta

On Wed, Apr 4, 2018 at 3:15 AM, Lu, Wenzhuo <wenzhuo.lu at intel.com> wrote:

> Hi Shweta,
>
> > -----Original Message-----
> > From: Shweta Choudaha [mailto:shweta.choudaha at gmail.com]
> > Sent: Thursday, March 22, 2018 1:36 AM
> > To: dev at dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Ananyev, Konstantin
> > <konstantin.ananyev at intel.com>; Zhang, Helin <helin.zhang at intel.com>;
> > Yigit, Ferruh <ferruh.yigit at intel.com>; shweta.choudaha at att.com
> > Subject: [PATCH v2 1/1] net/ixgbe: Add access and locking APIs for MDIO
> >
> > From: Shweta Choudaha <shweta.choudaha at att.com>
> >
> > Add ixgbe MDIO lock/unlock and access APIs to read and write registers
> using
> > specific device address. This provides MDIO access to any devices that
> are
> > not associated with the autoprobed PHY.Export these APIs via the map file
> >
> > Signed-off-by: Shweta Choudaha <shweta.choudaha at att.com>
> > Reviewed-by: Chas Williams <chas3 at att.com>
> > Reviewed-by: Luca Boccassi <bluca at debian.org>
> > ---
> >  drivers/net/ixgbe/rte_pmd_ixgbe.c           | 203
> > ++++++++++++++++++++++++++++
> >  drivers/net/ixgbe/rte_pmd_ixgbe.h           |  71 ++++++++++
> >  drivers/net/ixgbe/rte_pmd_ixgbe_version.map |   9 ++
> >  3 files changed, 283 insertions(+)
> >
> > diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.c
> > b/drivers/net/ixgbe/rte_pmd_ixgbe.c
> > index d8ca8ca31..1846af89b 100644
> > --- a/drivers/net/ixgbe/rte_pmd_ixgbe.c
> > +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.c
> > @@ -5,6 +5,8 @@
> >  #include <rte_ethdev_driver.h>
> >
> >  #include "base/ixgbe_api.h"
> > +#include "base/ixgbe_x540.h"
> > +#include "base/ixgbe_x550.h"
> >  #include "ixgbe_ethdev.h"
> >  #include "rte_pmd_ixgbe.h"
> >
> > @@ -1012,3 +1014,204 @@ rte_pmd_ixgbe_bypass_wd_reset(uint16_t
> > port_id)
> >       return ixgbe_bypass_wd_reset(dev);
> >  }
> >  #endif
> > +
> > +/**
> > + *  rte_pmd_ixgbe_acquire_swfw - Acquire SWFW semaphore
> > + *  @hw: pointer to hardware structure
> > + *  @mask: Mask to specify which semaphore to acquire
> > + *
> > + *  Acquires the SWFW semaphore and get the shared phy token as needed
> > +*/ STATIC s32 rte_pmd_ixgbe_acquire_swfw(struct ixgbe_hw *hw, u32 mask)
> > +{
> > +     int retries = FW_PHY_TOKEN_RETRIES;
> > +     s32 status = IXGBE_SUCCESS;
> > +
> > +     while (--retries) {
> > +             status = ixgbe_acquire_swfw_sync_X540(hw, mask);
> " ixgbe_acquire_swfw_sync_X540" is only for x540. Why not using "
> ixgbe_acquire_swfw_semaphore" which is common.
> The same for " ixgbe_release_swfw_sync_X540".
>
>
> > a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > index bf776742c..88a91627a 100644
> > --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > @@ -52,3 +52,12 @@ DPDK_17.08 {
> >       rte_pmd_ixgbe_bypass_wd_timeout_show;
> >       rte_pmd_ixgbe_bypass_wd_timeout_store;
> >  } DPDK_17.05;
> > +
> > +EXPERIMENTAL {
> > +     global:
> > +
> > +     rte_pmd_ixgbe_lock_mdio;
> > +     rte_pmd_ixgbe_unlock_mdio;
> > +     rte_pmd_ixgbe_mdio_read_unlocked;
> > +     rte_pmd_ixgbe_mdio_write_unlocked;
> > +} DPDK_17.08;
> 17.08 is old. Should add a 18.05 here.
>
> > --
> > 2.11.0
>
>


More information about the dev mailing list