lkml.org 
[lkml]   [2024]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[net-next PATCH v2 8/9] octeontx2-pf: Configure VF mtu via representor
    Date
    Add support to manage the mtu configuration for VF through representor.
    On update of representor mtu a mbox notification is send
    to VF to update its mtu.

    Signed-off-by: Sai Krishna <saikrishnag@marvell.com>
    Signed-off-by: Geetha sowjanya <gakula@marvell.com>
    ---
    .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 5 +++++
    .../net/ethernet/marvell/octeontx2/nic/rep.c | 17 +++++++++++++++++
    2 files changed, 22 insertions(+)

    diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
    index 2a1bc8cdea19..8fc26a95a871 100644
    --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
    +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
    @@ -854,6 +854,11 @@ static int otx2_mbox_up_handler_rep_event_up_notify(struct otx2_nic *pf,
    {
    struct net_device *netdev = pf->netdev;

    + if (info->event == RVU_EVENT_MTU_CHANGE) {
    + netdev->mtu = info->evt_data.mtu;
    + return 0;
    + }
    +
    if (info->event == RVU_EVENT_PORT_STATE) {
    if (info->evt_data.port_state) {
    pf->flags |= OTX2_FLAG_PORT_UP;
    diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
    index 304c8bb2812d..c2c13385a86d 100644
    --- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
    +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
    @@ -79,6 +79,22 @@ int rvu_event_up_notify(struct otx2_nic *pf, struct rep_event *info)
    return 0;
    }

    +static int rvu_rep_change_mtu(struct net_device *dev, int new_mtu)
    +{
    + struct rep_dev *rep = netdev_priv(dev);
    + struct otx2_nic *priv = rep->mdev;
    + struct rep_event evt = {0};
    +
    + netdev_info(dev, "Changing MTU from %d to %d\n",
    + dev->mtu, new_mtu);
    + dev->mtu = new_mtu;
    +
    + evt.evt_data.mtu = new_mtu;
    + evt.pcifunc = rep->pcifunc;
    + rvu_rep_notify_pfvf(priv, RVU_EVENT_MTU_CHANGE, &evt);
    + return 0;
    +}
    +
    static void rvu_rep_get_stats(struct work_struct *work)
    {
    struct delayed_work *del_work = to_delayed_work(work);
    @@ -225,6 +241,7 @@ static const struct net_device_ops rvu_rep_netdev_ops = {
    .ndo_stop = rvu_rep_stop,
    .ndo_start_xmit = rvu_rep_xmit,
    .ndo_get_stats64 = rvu_rep_get_stats64,
    + .ndo_change_mtu = rvu_rep_change_mtu,
    };

    static int rvu_rep_napi_init(struct otx2_nic *priv)
    --
    2.25.1

    \
     
     \ /
      Last update: 2024-05-27 17:55    [W:5.684 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site