net: mvneta: support setting hardware address
PATCH 1/1 net: mvneta: support setting hardware address
mvneta already supports setting the MAC address but this was only done internally when some other part of U-Boot tries to actually use the interface. This commit exposes this functionality to the ethernet core code so that the MAC addresses of all interfaces are configured correctly even if they are not used before loading Linux.
--- drivers/net/mvneta.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/net/mvneta.c +11 -0
@@ -890,6 +890,16 @@ static void mvneta_mac_addr_set(struct mvneta_port *pp, unsigned char *addr,mvneta_set_ucast_addr (pp, addr[5 ], queue); } +static int mvneta_write_hwaddr (struct udevice *dev) +{ +mvneta_mac_addr_set ( +dev_get_priv (dev), + ((struct eth_pdata *)dev_get_platdata (dev))->enetaddr, + rxq_def); + +return 0 ; +} +/* Handle rx descriptor fill by setting buf_cookie and buf_phys_addr */ static void mvneta_rx_desc_fill (struct mvneta_rx_desc *rx_desc,u32 phys_addr,u32 cookie)
@@ -1753,6 +1763,7 @@ static const struct eth_ops mvneta_ops = { .send = mvneta_send, .recv = mvneta_recv, .stop = mvneta_stop, + .write_hwaddr = mvneta_write_hwaddr, };static int mvneta_ofdata_to_platdata (struct udevice *dev)
Signature · 1 line
2.14.3
PATCH 1/1 net: mvneta: support setting hardware address
Hi Matt,
(added Joe as network custodian to Cc)
Quoted 34 lines · Matt Pelland
mvneta already supports setting the MAC address but this was only done internally when some other part of U-Boot tries to actually use the interface. This commit exposes this functionality to the ethernet core code so that the MAC addresses of all interfaces are configured correctly even if they are not used before loading Linux.
Signed-off-by Matt Pelland <[email protected]>--- drivers/net/mvneta.c | 11 +++++++++++ 1 file changed, 11 insertions(+)drivers/net/mvneta.c +10
-0@@ -890,6 +890,16 @@ static void mvneta_mac_addr_set(struct mvneta_port *pp, unsigned char *addr,mvneta_set_ucast_addr (pp, addr[5 ], queue); } +static int mvneta_write_hwaddr (struct udevice *dev) +{ +mvneta_mac_addr_set ( +dev_get_priv (dev), + ((struct eth_pdata *)dev_get_platdata (dev))->enetaddr, + rxq_def); + +return 0 ; +} +/* Handle rx descriptor fill by setting buf_cookie and buf_phys_addr */ static void mvneta_rx_desc_fill (struct mvneta_rx_desc *rx_desc,u32 phys_addr,u32 cookie)
drivers/net/mvneta.c static const struct eth_ops mvneta_ops = { · line 1769
Quoted 7 lines
drivers/net/mvneta.c +1
-0@@ -1753,6 +1763,7 @@ static const struct eth_ops mvneta_ops = { .send = mvneta_send, .recv = mvneta_recv, .stop = mvneta_stop, + .write_hwaddr = mvneta_write_hwaddr, };static int mvneta_ofdata_to_platdata (struct udevice *dev)
Joe, will you pick this one up (if you have no objections)? Or should I push it via the Marvell repo?
Thanks,
Stefan
PATCH 1/1 net: mvneta: support setting hardware address
Quoted 50 lines · Stefan Roese
Hi Matt,
(added Joe as network custodian to Cc)
Quoted 34 lines · Matt Pelland
mvneta already supports setting the MAC address but this was only done internally when some other part of U-Boot tries to actually use the interface. This commit exposes this functionality to the ethernet core code so that the MAC addresses of all interfaces are configured correctly even if they are not used before loading Linux.
Signed-off-by Matt Pelland <[email protected]>--- drivers/net/mvneta.c | 11 +++++++++++ 1 file changed, 11 insertions(+)drivers/net/mvneta.c +9
-0@@ -890,6 +890,16 @@ static void mvneta_mac_addr_set(struct mvneta_port *pp, unsigned char *addr,mvneta_set_ucast_addr (pp, addr[5 ], queue); } +static int mvneta_write_hwaddr(struct udevice *dev) +{ +mvneta_mac_addr_set ( +dev_get_priv (dev), + ((struct eth_pdata *)dev_get_platdata (dev))->enetaddr, + rxq_def); + +return 0 ; +} +/* Handle rx descriptor fill by setting buf_cookie and buf_phys_addr */ static void mvneta_rx_desc_fill (struct mvneta_rx_desc *rx_desc,u32 phys_addr,u32 cookie)drivers/net/mvneta.c static const struct eth_ops mvneta_ops = { · line 1769
Quoted 7 lines
drivers/net/mvneta.c +1
-0@@ -1753,6 +1763,7 @@ static const struct eth_ops mvneta_ops = { .send = mvneta_send, .recv = mvneta_recv, .stop = mvneta_stop, + .write_hwaddr = mvneta_write_hwaddr, };static int mvneta_ofdata_to_platdata (struct udevice *dev)Reviewed-by Stefan Roese <[email protected]>
Quoted 2 lines
Joe, will you pick this one up (if you have no objections)? Or should I push it via the Marvell repo?
I'll take it.
Cheers,
-Joe
PATCH 1/1 net: mvneta: support setting hardware address
In reply to Matt PellandQuoted 7 lines · Matt Pelland
mvneta already supports setting the MAC address but this was only done internally when some other part of U-Boot tries to actually use the interface. This commit exposes this functionality to the ethernet core code so that the MAC addresses of all interfaces are configured correctly even if they are not used before loading Linux.
Signed-off-by Matt Pelland <[email protected]>
Hi Matt,
https://patchwork.ozlabs.org/patch/891783/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git
Thanks!
-Joe