* [PATCH net 0/3] net: bcmgenet: misc fixes
@ 2014-06-26 17:26 Florian Fainelli
2014-06-26 17:26 ` [PATCH net 1/3] net: bcmgenet: disable clock before register_netdev Florian Fainelli
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Florian Fainelli @ 2014-06-26 17:26 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
Hi David,
This patch set contains 3 smal fixes targeted at the 'net' tree.
Thanks!
Florian Fainelli (3):
net: bcmgenet: disable clock before register_netdev
net: bcmgenet: start with carrier off
net: bcmgenet: do not set packet length for RX buffers
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH net 1/3] net: bcmgenet: disable clock before register_netdev
2014-06-26 17:26 [PATCH net 0/3] net: bcmgenet: misc fixes Florian Fainelli
@ 2014-06-26 17:26 ` Florian Fainelli
2014-06-26 17:26 ` [PATCH net 2/3] net: bcmgenet: start with carrier off Florian Fainelli
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2014-06-26 17:26 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
As soon as register_netdev() is called, the network device notifiers are
running which means that other parts of the kernel, or user-space
programs can call the network device ndo_open() callback and use the
interface.
Disable the Ethernet device clock before we register the network device
such that we do not create the following situation:
CPU0 CPU1
register_netdev()
bcmgenet_open()
clk_prepare_enable()
clk_disable_unprepare()
and leave the hardware block gated off, while we think it should be
gated on.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 5ba1cfbd60da..d17953cc5f49 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2535,14 +2535,14 @@ static int bcmgenet_probe(struct platform_device *pdev)
netif_set_real_num_tx_queues(priv->dev, priv->hw_params->tx_queues + 1);
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
- err = register_netdev(dev);
- if (err)
- goto err_clk_disable;
-
/* Turn off the main clock, WOL clock is handled separately */
if (!IS_ERR(priv->clk))
clk_disable_unprepare(priv->clk);
+ err = register_netdev(dev);
+ if (err)
+ goto err;
+
return err;
err_clk_disable:
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net 2/3] net: bcmgenet: start with carrier off
2014-06-26 17:26 [PATCH net 0/3] net: bcmgenet: misc fixes Florian Fainelli
2014-06-26 17:26 ` [PATCH net 1/3] net: bcmgenet: disable clock before register_netdev Florian Fainelli
@ 2014-06-26 17:26 ` Florian Fainelli
2014-06-26 17:26 ` [PATCH net 3/3] net: bcmgenet: do not set packet length for RX buffers Florian Fainelli
2014-07-02 0:25 ` [PATCH net 0/3] net: bcmgenet: misc fixes David Miller
3 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2014-06-26 17:26 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
We use the PHY library which will determine the link state for us, make
sure we start with a carrier off until libphy has completed the link
training.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index d17953cc5f49..e51e462bc8fd 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2535,6 +2535,9 @@ static int bcmgenet_probe(struct platform_device *pdev)
netif_set_real_num_tx_queues(priv->dev, priv->hw_params->tx_queues + 1);
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
+ /* libphy will determine the link state */
+ netif_carrier_off(dev);
+
/* Turn off the main clock, WOL clock is handled separately */
if (!IS_ERR(priv->clk))
clk_disable_unprepare(priv->clk);
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net 3/3] net: bcmgenet: do not set packet length for RX buffers
2014-06-26 17:26 [PATCH net 0/3] net: bcmgenet: misc fixes Florian Fainelli
2014-06-26 17:26 ` [PATCH net 1/3] net: bcmgenet: disable clock before register_netdev Florian Fainelli
2014-06-26 17:26 ` [PATCH net 2/3] net: bcmgenet: start with carrier off Florian Fainelli
@ 2014-06-26 17:26 ` Florian Fainelli
2014-07-02 0:25 ` [PATCH net 0/3] net: bcmgenet: misc fixes David Miller
3 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2014-06-26 17:26 UTC (permalink / raw)
To: netdev; +Cc: davem, Florian Fainelli
Hardware will provide this information as soon as we will start
processing incoming packets, so there is no need to set the RX buffer
length during buffer allocation.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index e51e462bc8fd..16281ad2da12 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -1408,13 +1408,6 @@ static int bcmgenet_alloc_rx_buffers(struct bcmgenet_priv *priv)
if (cb->skb)
continue;
- /* set the DMA descriptor length once and for all
- * it will only change if we support dynamically sizing
- * priv->rx_buf_len, but we do not
- */
- dmadesc_set_length_status(priv, priv->rx_bd_assign_ptr,
- priv->rx_buf_len << DMA_BUFLENGTH_SHIFT);
-
ret = bcmgenet_rx_refill(priv, cb);
if (ret)
break;
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net 0/3] net: bcmgenet: misc fixes
2014-06-26 17:26 [PATCH net 0/3] net: bcmgenet: misc fixes Florian Fainelli
` (2 preceding siblings ...)
2014-06-26 17:26 ` [PATCH net 3/3] net: bcmgenet: do not set packet length for RX buffers Florian Fainelli
@ 2014-07-02 0:25 ` David Miller
3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2014-07-02 0:25 UTC (permalink / raw)
To: f.fainelli; +Cc: netdev
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Thu, 26 Jun 2014 10:26:19 -0700
> This patch set contains 3 smal fixes targeted at the 'net' tree.
Series applied, thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-02 0:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-26 17:26 [PATCH net 0/3] net: bcmgenet: misc fixes Florian Fainelli
2014-06-26 17:26 ` [PATCH net 1/3] net: bcmgenet: disable clock before register_netdev Florian Fainelli
2014-06-26 17:26 ` [PATCH net 2/3] net: bcmgenet: start with carrier off Florian Fainelli
2014-06-26 17:26 ` [PATCH net 3/3] net: bcmgenet: do not set packet length for RX buffers Florian Fainelli
2014-07-02 0:25 ` [PATCH net 0/3] net: bcmgenet: misc fixes David Miller
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.