All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Vadym Kochan <vadym.kochan@plvision.eu>
Cc: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Jiri Pirko <jiri@mellanox.com>,
	Ido Schimmel <idosch@mellanox.com>, Andrew Lunn <andrew@lunn.ch>,
	Oleksandr Mazur <oleksandr.mazur@plvision.eu>,
	Serhiy Boiko <serhiy.boiko@plvision.eu>,
	Serhiy Pshyk <serhiy.pshyk@plvision.eu>,
	Volodymyr Mytnyk <volodymyr.mytnyk@plvision.eu>,
	Taras Chornyi <taras.chornyi@plvision.eu>,
	Andrii Savka <andrii.savka@plvision.eu>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Mickey Rachamim <mickeyr@marvell.com>
Subject: Re: [net-next v3 4/6] net: marvell: prestera: Add ethtool interface support
Date: Sun, 26 Jul 2020 11:46:27 +0200	[thread overview]
Message-ID: <20200726094627.GG2216@nanopsycho> (raw)
In-Reply-To: <20200725150651.17029-5-vadym.kochan@plvision.eu>

Sat, Jul 25, 2020 at 05:06:49PM CEST, vadym.kochan@plvision.eu wrote:
>The ethtool API provides support for the configuration of the following
>features: speed and duplex, auto-negotiation, MDI-x, forward error
>correction, port media type. The API also provides information about the
>port status, hardware and software statistic. The following limitation
>exists:
>
>    - port media type should be configured before speed setting
>    - ethtool -m option is not supported
>    - ethtool -p option is not supported
>    - ethtool -r option is supported for RJ45 port only
>    - the following combination of parameters is not supported:
>
>          ethtool -s sw1pX port XX autoneg on
>
>    - forward error correction feature is supported only on SFP ports, 10G
>      speed
>
>    - auto-negotiation and MDI-x features are not supported on
>      Copper-to-Fiber SFP module
>
>Signed-off-by: Andrii Savka <andrii.savka@plvision.eu>
>Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
>Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
>---

[...]

	
>+
>+void prestera_ethtool_get_stats(struct net_device *dev,
>+				struct ethtool_stats *stats, u64 *data)
>+{
>+	struct prestera_port *port = netdev_priv(dev);
>+	struct prestera_port_stats *port_stats;
>+
>+	port_stats = &port->cached_hw_stats.stats;
>+
>+	memcpy((u8 *)data, port_stats, sizeof(*port_stats));

Avoid the needless cast.


[...]
	
	
>+static const struct ethtool_ops ethtool_ops = {
>+	.get_drvinfo = prestera_ethtool_get_drvinfo,
>+	.get_link_ksettings = prestera_ethtool_get_link_ksettings,
>+	.set_link_ksettings = prestera_ethtool_set_link_ksettings,
>+	.get_fecparam = prestera_ethtool_get_fecparam,
>+	.set_fecparam = prestera_ethtool_set_fecparam,
>+	.get_sset_count = prestera_ethtool_get_sset_count,
>+	.get_strings = prestera_ethtool_get_strings,
>+	.get_ethtool_stats = prestera_ethtool_get_stats,
>+	.get_link = ethtool_op_get_link,
>+	.nway_reset = prestera_ethtool_nway_reset
>+};

Have the struct in prestera_ethtool.c and export just the struct instead
of all the callbacks.


>+
> static int prestera_port_create(struct prestera_switch *sw, u32 id)
> {
> 	struct prestera_port *port;
>@@ -235,6 +266,7 @@ static int prestera_port_create(struct prestera_switch *sw, u32 id)
> 
> 	dev->features |= NETIF_F_NETNS_LOCAL;
> 	dev->netdev_ops = &netdev_ops;
>+	dev->ethtool_ops = &ethtool_ops;
> 
> 	netif_carrier_off(dev);
> 
>-- 
>2.17.1
>

  reply	other threads:[~2020-07-26  9:46 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-25 15:06 [net-next v3 0/6] net: marvell: prestera: Add Switchdev driver for Prestera family ASIC device 98DX326x (AC3x) Vadym Kochan
2020-07-25 15:06 ` [net-next v3 1/6] net: marvell: prestera: Add driver for Prestera family ASIC devices Vadym Kochan
2020-07-26  8:35   ` Jiri Pirko
2020-07-25 15:06 ` [net-next v3 2/6] net: marvell: prestera: Add PCI interface support Vadym Kochan
2020-07-26  9:51   ` Jiri Pirko
2020-07-26 10:32   ` Andy Shevchenko
2020-07-26 22:55     ` Vadym Kochan
2020-07-27  8:04       ` Andy Shevchenko
2020-07-27  9:34         ` Vadym Kochan
2020-07-27 11:05           ` Andy Shevchenko
2020-07-25 15:06 ` [net-next v3 3/6] net: marvell: prestera: Add basic devlink support Vadym Kochan
2020-07-26  9:20   ` Jiri Pirko
2020-07-25 15:06 ` [net-next v3 4/6] net: marvell: prestera: Add ethtool interface support Vadym Kochan
2020-07-26  9:46   ` Jiri Pirko [this message]
2020-07-25 15:06 ` [net-next v3 5/6] net: marvell: prestera: Add Switchdev driver implementation Vadym Kochan
2020-07-26  8:34   ` Jiri Pirko
2020-07-25 15:06 ` [net-next v3 6/6] dt-bindings: marvell,prestera: Add description for device-tree bindings Vadym Kochan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200726094627.GG2216@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=andrew@lunn.ch \
    --cc=andrii.savka@plvision.eu \
    --cc=davem@davemloft.net \
    --cc=idosch@mellanox.com \
    --cc=jiri@mellanox.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mickeyr@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=oleksandr.mazur@plvision.eu \
    --cc=serhiy.boiko@plvision.eu \
    --cc=serhiy.pshyk@plvision.eu \
    --cc=taras.chornyi@plvision.eu \
    --cc=vadym.kochan@plvision.eu \
    --cc=volodymyr.mytnyk@plvision.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.