> -----Original Message----- > From: Edwin Peer <edwin.p...@broadcom.com> > Sent: Thursday, January 21, 2021 1:39 AM > To: Danielle Ratson <daniel...@nvidia.com> > Cc: netdev <netdev@vger.kernel.org>; David S . Miller <da...@davemloft.net>; > Jakub Kicinski <k...@kernel.org>; Jiri Pirko > <j...@nvidia.com>; Andrew Lunn <and...@lunn.ch>; f.faine...@gmail.com; Michal > Kubecek <mkube...@suse.cz>; mlxsw > <ml...@nvidia.com>; Ido Schimmel <ido...@nvidia.com> > Subject: Re: [PATCH net-next v3 2/7] ethtool: Get link mode in use instead of > speed and duplex parameters > > On Wed, Jan 20, 2021 at 3:21 AM Danielle Ratson <daniel...@nvidia.com> wrote: > > > + link_ksettings->link_mode = -1; > > + err = dev->ethtool_ops->get_link_ksettings(dev, link_ksettings); > > + if (err) > > + return err; > > + > > + if (link_ksettings->link_mode != -1) { > > + link_info = &link_mode_params[link_ksettings->link_mode]; > > + link_ksettings->base.speed = link_info->speed; > > + link_ksettings->lanes = link_info->lanes; > > + link_ksettings->base.duplex = link_info->duplex; > > + } > > Why isn't this also handled using a capability bit as is done for > lanes? Is link_mode read-only? Should it / will it always be? If not, > can drivers also derive the other fields if asked to set link_mode?
The link_mode param is only for deriving all the speed, lanes and duplex params in ethtool instead of deriving in driver and then passing each individual, as Michal asked. > That would be easy enough. Why don't we simply allow user space to set > link mode directly too (in addition to being able to constrain lanes > for autoneg or forced speeds)? It is already possible to do using 'advertise' parameter. > > Regards, > Edwin Peer