From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuval Shaia Subject: Re: [PATCH v3 2/2] IB/core: Add generic function to extract IB speed from netdev Date: Mon, 26 Jun 2017 22:12:55 +0300 Message-ID: <20170626191252.GA14355@raspberrypi> References: <20170611054450.7221-1-yuval.shaia@oracle.com> <20170611054450.7221-3-yuval.shaia@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Selvin Xavier Cc: Doug Ledford , Sean Hefty , Hal Rosenstock , Devesh Sharma , Somnath Kotur , Sriharsha Basavapatna , benve-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org, dgoodell-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org, monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org, Leon Romanovsky , ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, sagi-TmH2Wj2nsNJBDLzU/O5InQ@public.gmane.org, bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org, Yishai Hadas , linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-rdma@vger.kernel.org On Wed, Jun 14, 2017 at 08:45:12PM +0530, Selvin Xavier wrote: > On Sun, Jun 11, 2017 at 11:14 AM, Yuval Shaia wrote: > > diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c > > index 7ba9e69..d0e0f90 100644 > > --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c > > +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c > > @@ -181,50 +181,6 @@ int bnxt_re_modify_device(struct ib_device *ibdev, > > return 0; > > } > > > > -static void __to_ib_speed_width(struct net_device *netdev, u8 *speed, u8 *width) > > -{ > > - struct ethtool_link_ksettings lksettings; > > - u32 espeed; > > - > > - if (netdev->ethtool_ops && netdev->ethtool_ops->get_link_ksettings) { > > - memset(&lksettings, 0, sizeof(lksettings)); > > - rtnl_lock(); > > - netdev->ethtool_ops->get_link_ksettings(netdev, &lksettings); > > - rtnl_unlock(); > > - espeed = lksettings.base.speed; > > - } else { > > - espeed = SPEED_UNKNOWN; > > - } > > - switch (espeed) { > > - case SPEED_1000: > > - *speed = IB_SPEED_SDR; > > - *width = IB_WIDTH_1X; > > - break; > > - case SPEED_10000: > > - *speed = IB_SPEED_QDR; > > - *width = IB_WIDTH_1X; > > - break; > > - case SPEED_20000: > > - *speed = IB_SPEED_DDR; > > - *width = IB_WIDTH_4X; > > - break; > > - case SPEED_25000: > > - *speed = IB_SPEED_EDR; > > - *width = IB_WIDTH_1X; > > - break; > > - case SPEED_40000: > > - *speed = IB_SPEED_QDR; > > - *width = IB_WIDTH_4X; > > - break; > > - case SPEED_50000: > > - break; > > - default: > > - *speed = IB_SPEED_SDR; > > - *width = IB_WIDTH_1X; > > - break; > > - } > > -} > > - > > /* Port */ > > int bnxt_re_query_port(struct ib_device *ibdev, u8 port_num, > > struct ib_port_attr *port_attr) > > @@ -266,8 +222,9 @@ int bnxt_re_query_port(struct ib_device *ibdev, u8 port_num, > > * IB stack to avoid race in the NETDEV_UNREG path > > */ > > if (test_bit(BNXT_RE_FLAG_IBDEV_REGISTERED, &rdev->flags)) > > - __to_ib_speed_width(rdev->netdev, &port_attr->active_speed, > > - &port_attr->active_width); > > + if (!ib_get_eth_speed(ibdev, port_num, &port_attr->active_speed, > > + &port_attr->active_width)) > > + return -EINVAL; > > return 0; > > } > > The bnxt_re changes looks good to me. > > But this change conflicts with one of the patches i submitted as a > part of the bug fix series. > > https://patchwork.kernel.org/patch/9786057/ > > Depending on the order in which Doug pulls these patches, one of us > might have to > re-spin the patch. Doug, you want me to rebase v4 of the patch on top of the above? > > Thanks, > Selvin Xavier > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html