* [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree
@ 2023-10-22 15:19 Adam Ford
2023-10-24 0:14 ` Jacob Keller
2023-10-24 9:30 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 5+ messages in thread
From: Adam Ford @ 2023-10-22 15:19 UTC (permalink / raw)
To: netdev
Cc: aford, Adam Ford, Andrew Lunn, Grygorii Strashko, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-omap,
linux-kernel
Currently there is a device tree entry called "local-mac-address"
which can be filled by the bootloader or manually set.This is
useful when the user does not want to use the MAC address
programmed into the SoC.
Currently, the davinci_emac reads the MAC from the DT, copies
it from pdata->mac_addr to priv->mac_addr, then blindly overwrites
it by reading from registers in the SoC, and falls back to a
random MAC if it's still not valid. This completely ignores any
MAC address in the device tree.
In order to use the local-mac-address, check to see if the contents
of priv->mac_addr are valid before falling back to reading from the
SoC when the MAC address is not valid.
Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
---
V2: Rebase, add R-B tag, and post stand-alone for netdev branch, since
the device tree patch has already been accepted via the omap tree.
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index 23f8bc1cd20d..b0950a318c42 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1928,18 +1928,20 @@ static int davinci_emac_probe(struct platform_device *pdev)
goto err_free_rxchan;
ndev->irq = rc;
- rc = davinci_emac_try_get_mac(pdev, res_ctrl ? 0 : 1, priv->mac_addr);
- if (!rc)
- eth_hw_addr_set(ndev, priv->mac_addr);
-
+ /* If the MAC address is not present, read the registers from the SoC */
if (!is_valid_ether_addr(priv->mac_addr)) {
- /* Use random MAC if still none obtained. */
- eth_hw_addr_random(ndev);
- memcpy(priv->mac_addr, ndev->dev_addr, ndev->addr_len);
- dev_warn(&pdev->dev, "using random MAC addr: %pM\n",
- priv->mac_addr);
+ rc = davinci_emac_try_get_mac(pdev, res_ctrl ? 0 : 1, priv->mac_addr);
+ if (!rc)
+ eth_hw_addr_set(ndev, priv->mac_addr);
+
+ if (!is_valid_ether_addr(priv->mac_addr)) {
+ /* Use random MAC if still none obtained. */
+ eth_hw_addr_random(ndev);
+ memcpy(priv->mac_addr, ndev->dev_addr, ndev->addr_len);
+ dev_warn(&pdev->dev, "using random MAC addr: %pM\n",
+ priv->mac_addr);
+ }
}
-
ndev->netdev_ops = &emac_netdev_ops;
ndev->ethtool_ops = ðtool_ops;
netif_napi_add(ndev, &priv->napi, emac_poll);
--
2.40.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree
2023-10-22 15:19 [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree Adam Ford
@ 2023-10-24 0:14 ` Jacob Keller
2023-10-24 1:22 ` Adam Ford
2023-10-24 9:30 ` patchwork-bot+netdevbpf
1 sibling, 1 reply; 5+ messages in thread
From: Jacob Keller @ 2023-10-24 0:14 UTC (permalink / raw)
To: Adam Ford, netdev
Cc: aford, Andrew Lunn, Grygorii Strashko, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-omap,
linux-kernel
On 10/22/2023 8:19 AM, Adam Ford wrote:
> Currently there is a device tree entry called "local-mac-address"
> which can be filled by the bootloader or manually set.This is
> useful when the user does not want to use the MAC address
> programmed into the SoC.
>
> Currently, the davinci_emac reads the MAC from the DT, copies
> it from pdata->mac_addr to priv->mac_addr, then blindly overwrites
> it by reading from registers in the SoC, and falls back to a
> random MAC if it's still not valid. This completely ignores any
> MAC address in the device tree.
>
> In order to use the local-mac-address, check to see if the contents
> of priv->mac_addr are valid before falling back to reading from the
> SoC when the MAC address is not valid.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> ---
> V2: Rebase, add R-B tag, and post stand-alone for netdev branch, since
> the device tree patch has already been accepted via the omap tree.
Looks like you didn't add the tag for which tree. Given the context, I
would assume net-next.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree
2023-10-24 0:14 ` Jacob Keller
@ 2023-10-24 1:22 ` Adam Ford
2023-10-24 9:24 ` Paolo Abeni
0 siblings, 1 reply; 5+ messages in thread
From: Adam Ford @ 2023-10-24 1:22 UTC (permalink / raw)
To: Jacob Keller
Cc: netdev, aford, Andrew Lunn, Grygorii Strashko, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, linux-omap,
linux-kernel
On Mon, Oct 23, 2023 at 7:14 PM Jacob Keller <jacob.e.keller@intel.com> wrote:
>
>
>
> On 10/22/2023 8:19 AM, Adam Ford wrote:
> > Currently there is a device tree entry called "local-mac-address"
> > which can be filled by the bootloader or manually set.This is
> > useful when the user does not want to use the MAC address
> > programmed into the SoC.
> >
> > Currently, the davinci_emac reads the MAC from the DT, copies
> > it from pdata->mac_addr to priv->mac_addr, then blindly overwrites
> > it by reading from registers in the SoC, and falls back to a
> > random MAC if it's still not valid. This completely ignores any
> > MAC address in the device tree.
> >
> > In order to use the local-mac-address, check to see if the contents
> > of priv->mac_addr are valid before falling back to reading from the
> > SoC when the MAC address is not valid.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> > Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> > ---
> > V2: Rebase, add R-B tag, and post stand-alone for netdev branch, since
> > the device tree patch has already been accepted via the omap tree.
>
> Looks like you didn't add the tag for which tree. Given the context, I
> would assume net-next.
>
That was my intent. I sent the e-mail to netdev and CC'd others. I
thought that was enough.
> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree
2023-10-24 1:22 ` Adam Ford
@ 2023-10-24 9:24 ` Paolo Abeni
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Abeni @ 2023-10-24 9:24 UTC (permalink / raw)
To: Adam Ford, Jacob Keller
Cc: netdev, aford, Andrew Lunn, Grygorii Strashko, David S. Miller,
Eric Dumazet, Jakub Kicinski, linux-omap, linux-kernel
On Mon, 2023-10-23 at 20:22 -0500, Adam Ford wrote:
> On Mon, Oct 23, 2023 at 7:14 PM Jacob Keller <jacob.e.keller@intel.com> wrote:
> > Looks like you didn't add the tag for which tree. Given the context, I
> > would assume net-next.
>
> That was my intent. I sent the e-mail to netdev and CC'd others. I
> thought that was enough.
For future submissions: there are 2 different netdev trees, one for new
features (net-next) and another one for bugfixes (net), and you should
specify the target explcitly in the patch prefix. See:
Documentation/process/maintainer-netdev.rst
for the more details.
Looks like this one is targeting net-next.
Cheers,
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree
2023-10-22 15:19 [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree Adam Ford
2023-10-24 0:14 ` Jacob Keller
@ 2023-10-24 9:30 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-10-24 9:30 UTC (permalink / raw)
To: Adam Ford
Cc: netdev, aford, andrew, grygorii.strashko, davem, edumazet, kuba,
pabeni, linux-omap, linux-kernel
Hello:
This patch was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Sun, 22 Oct 2023 10:19:11 -0500 you wrote:
> Currently there is a device tree entry called "local-mac-address"
> which can be filled by the bootloader or manually set.This is
> useful when the user does not want to use the MAC address
> programmed into the SoC.
>
> Currently, the davinci_emac reads the MAC from the DT, copies
> it from pdata->mac_addr to priv->mac_addr, then blindly overwrites
> it by reading from registers in the SoC, and falls back to a
> random MAC if it's still not valid. This completely ignores any
> MAC address in the device tree.
>
> [...]
Here is the summary with links:
- [V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree
https://git.kernel.org/netdev/net-next/c/f30a51a41828
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-10-24 9:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-22 15:19 [PATCH V2] net: ethernet: davinci_emac: Use MAC Address from Device Tree Adam Ford
2023-10-24 0:14 ` Jacob Keller
2023-10-24 1:22 ` Adam Ford
2023-10-24 9:24 ` Paolo Abeni
2023-10-24 9:30 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).