[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200325152209.3428-5-olteanv@gmail.com>
Date: Wed, 25 Mar 2020 17:22:03 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: andrew@...n.ch, f.fainelli@...il.com, vivien.didelot@...il.com,
davem@...emloft.net, jakub.kicinski@...ronome.com
Cc: murali.policharla@...adcom.com, stephen@...workplumber.org,
jiri@...nulli.us, idosch@...sch.org, kuba@...nel.org,
nikolay@...ulusnetworks.com, netdev@...r.kernel.org
Subject: [PATCH v2 net-next 04/10] bgmac: Add MTU configuration support to the driver
From: Murali Krishna Policharla <murali.policharla@...adcom.com>
Add bgmac_change_mtu API to configure new mtu settings in bgmac driver.
Signed-off-by: Murali Krishna Policharla <murali.policharla@...adcom.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@....com>
---
drivers/net/ethernet/broadcom/bgmac.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
index 1bb07a5d82c9..c530dff0353b 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -1248,6 +1248,14 @@ static int bgmac_set_mac_address(struct net_device *net_dev, void *addr)
return 0;
}
+static int bgmac_change_mtu(struct net_device *net_dev, int mtu)
+{
+ struct bgmac *bgmac = netdev_priv(net_dev);
+
+ bgmac_write(bgmac, BGMAC_RXMAX_LENGTH, 32 + mtu);
+ return 0;
+}
+
static const struct net_device_ops bgmac_netdev_ops = {
.ndo_open = bgmac_open,
.ndo_stop = bgmac_stop,
@@ -1256,6 +1264,7 @@ static const struct net_device_ops bgmac_netdev_ops = {
.ndo_set_mac_address = bgmac_set_mac_address,
.ndo_validate_addr = eth_validate_addr,
.ndo_do_ioctl = phy_do_ioctl_running,
+ .ndo_change_mtu = bgmac_change_mtu,
};
/**************************************************
@@ -1529,6 +1538,7 @@ int bgmac_enet_probe(struct bgmac *bgmac)
net_dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
net_dev->hw_features = net_dev->features;
net_dev->vlan_features = net_dev->features;
+ net_dev->max_mtu = BGMAC_RX_MAX_FRAME_SIZE;
err = register_netdev(bgmac->net_dev);
if (err) {
--
2.17.1
Powered by blists - more mailing lists