Re: Waiting for the PHY to complete auto-negotiation

2017-12-11 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 11/12/2017 15:36, Måns Rullgård wrote: > >> Mason writes: >> >>> I suppose I should test forcefully setting the enable bit to 0 in >>> the driver, and see if hell breaks loose. >> >> You can

Re: Waiting for the PHY to complete auto-negotiation

2017-12-11 Thread Måns Rullgård
>> in the Receive Status Register is set to "1". > > I don't see how sending "fake" packets through the loop back would be > considered "resetting the DMA enable in the middle of a DMA". > (I'm afraid the HW dev didn't grasp what the driver is doing.) > > I suppose I should test forcefully setting the enable bit to 0 in > the driver, and see if hell breaks loose. You can't. When the enable bit is 1, writes to that register are ignored. It goes back to 0 automatically when the hw runs out of descriptors. -- Måns Rullgård

Re: [PATCH v3 2/4] net: nb8800: Simplify nb8800_pause_config()

2017-11-15 Thread Måns Rullgård
l my patches are NACKed, what would you have me do? > > Moreover, mainline still has the nb8800_dma_stop() work-around, > which Mans has never seen hang. Here's the thing, if that trick doesn't work, then the dma queue filling up from real traffic will also hang the controller, which is a much bigger problem. Your test today suggests that this might be the case. -- Måns Rullgård

Re: [PATCH v3 3/4] net: nb8800: Move HW init to ndo_open()

2017-11-15 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 14/11/2017 17:55, Måns Rullgård wrote: > >> Marc Gonzalez wrote: >> >>> I will run iperf3 tests with RX_DESC_COUNT lowered to 2. >>> Would that produce conclusive results? >>> Do you

Re: [PATCH v3 3/4] net: nb8800: Move HW init to ndo_open()

2017-11-14 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 14/11/2017 14:54, Måns Rullgård wrote: > >> Marc Gonzalez writes: >> >>> On 14/11/2017 13:40, Måns Rullgård wrote: >>> >>>> Marc Gonzalez wrote: >>>> >>&g

Re: [PATCH v3 3/4] net: nb8800: Move HW init to ndo_open()

2017-11-14 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 14/11/2017 13:40, Måns Rullgård wrote: > >> Marc Gonzalez wrote: >> >>> Power entire ethernet block down in ndo_stop(). >>> Power it back up in ndo_open() and perform HW init. >>> De

Re: [PATCH v3 2/4] net: nb8800: Simplify nb8800_pause_config()

2017-11-14 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 14/11/2017 13:38, Måns Rullgård wrote: > >> Marc Gonzalez writes: >> >>> The "flow control enable" bit can be tweaked, even if DMA is enabled. >> >> No, it can't. Maybe on some o

Re: [PATCH v3 1/4] net: nb8800: Drop generic support

2017-11-14 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 14/11/2017 13:37, Måns Rullgård wrote: > >> Marc Gonzalez writes: >> >>> According to our HW dev, there is no provision for software to safely >>> disable RX DMA in the AU-

Re: [PATCH v3 4/4] net: nb8800: Add support for suspend/resume

2017-11-14 Thread Måns Rullgård
;, > @@ -1444,6 +1464,8 @@ static struct platform_driver nb8800_driver = { > }, > .probe = nb8800_probe, > .remove = nb8800_remove, > + .suspend = nb8800_suspend, > + .resume = nb8800_resume, > }; > > module_platform_driver(nb8800_driver); > -- > 2.15.0 > -- Måns Rullgård

Re: [PATCH v3 2/4] net: nb8800: Simplify nb8800_pause_config()

2017-11-14 Thread Måns Rullgård
nb8800_modl(priv, NB8800_RXC_CR, RCR_FL, priv->pause_tx); > - nb8800_start_rx(dev); > - netif_tx_unlock_bh(dev); > - napi_enable(>napi); > - } else { > - nb8800_modl(priv, NB8800_RXC_CR, RCR_FL, priv->pause

Re: [PATCH v3 3/4] net: nb8800: Move HW init to ndo_open()

2017-11-14 Thread Måns Rullgård
+ /* Auto-negotiate by default */ > + priv->pause_aneg = true; > + priv->pause_rx = true; > + priv->pause_tx = true; > + > + priv->ops = match->data; > + priv->ops->power_down(dev); > + > return 0; > > -err_free_dma: > - nb8800_dma_free(dev); > err_deregister_fixed_link: > if (of_phy_is_fixed_link(pdev->dev.of_node)) > of_phy_deregister_fixed_link(pdev->dev.of_node); > diff --git a/drivers/net/ethernet/aurora/nb8800.h > b/drivers/net/ethernet/aurora/nb8800.h > index 6ec4a956e1e5..23fefca54804 100644 > --- a/drivers/net/ethernet/aurora/nb8800.h > +++ b/drivers/net/ethernet/aurora/nb8800.h > @@ -305,11 +305,13 @@ struct nb8800_priv { > dma_addr_t tx_desc_dma; > > struct clk *clk; > + const struct nb8800_ops *ops; > }; > > struct nb8800_ops { > int (*init)(struct net_device *dev); > - int (*reset)(struct net_device *dev); > + void(*power_down)(struct net_device *dev); > + void(*power_up)(struct net_device *dev); > }; > > #endif /* _NB8800_H_ */ > -- > 2.15.0 > -- Måns Rullgård

Re: [PATCH v3 1/4] net: nb8800: Drop generic support

2017-11-14 Thread Måns Rullgård
t; - .compatible = "aurora,nb8800", > - }, > { > .compatible = "sigma,smp8642-ethernet", > .data = _tangox_ops, > -- Please leave this. It works just fine on tango3. -- Måns Rullgård

Re: [RFC PATCH v2 0/2] nb8800 suspend/resume support

2017-08-03 Thread Måns Rullgård
eck causing packet loss could be somewhere else. -- Måns Rullgård

Re: [RFC PATCH v2 0/2] nb8800 suspend/resume support

2017-08-03 Thread Måns Rullgård
Transfer Bandwidth Total Datagrams >> [ 4] 0.00-1.00 sec 102 MBytes 858 Mbits/sec 13091 >> [ 4] 1.00-2.00 sec 114 MBytes 953 Mbits/sec 14541 > > 114 MB in 14541 packets => 7840 bytes per packet > Is iperf3 sending jumbo frames?? It's probably sending fragmented packets. -- Måns Rullgård

Re: [RFC PATCH v2 0/2] nb8800 suspend/resume support

2017-08-02 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 02/08/2017 18:10, Måns Rullgård wrote: > >> Mason writes: >> >>> On 02/08/2017 17:56, Måns Rullgård wrote: >>> >>>> What does the tango5 do if you flood it with packets faster than the >>>>

Re: [RFC PATCH v2 0/2] nb8800 suspend/resume support

2017-08-02 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 02/08/2017 17:56, Måns Rullgård wrote: > >> Mason writes: >> >>> From my perspective, the older method does not work on newer chips :-) >> >> It does work on tango4. > > Agreed. > >> What

Re: [RFC PATCH v2 0/2] nb8800 suspend/resume support

2017-08-02 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 02/08/2017 17:36, Måns Rullgård wrote: > >> Mason wrote: >> >>> Looking at the tango-specific integration, I note this nugget: >>> >>> 1.5.4 Stopping & Starting the DMA >>> >>> This f

Re: [RFC PATCH v2 0/2] nb8800 suspend/resume support

2017-08-02 Thread Måns Rullgård
in the FIFO was an UDP packet, when clearing dma_stop, > this packet will directly start being written in the DRAM since UDP > packets are not controlled by the descriptor mechanism); > 2- Program a new chain of descriptor; > 3- Re-enable DMA (rx_ctrl register) > > rx_dma_stop: > Software control to stop the Rx DMA. > A write to this bit with “1” will gracefully stop the Rx DMA by after > transferring the current packet. If more packets are pending they will > be held until the software clears this bit. > > Hmmm, what do you think? This looks promising... This is only available in the more recent Sigma versions. Although it is nicer, I didn't think it was worth the trouble to support both methods since the older method should work on all chips. -- Måns Rullgård

Re: [RFC PATCH v2 1/2] net: ethernet: nb8800: Reset HW block in ndo_open

2017-08-02 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 02/08/2017 13:02, Måns Rullgård wrote: > >> Mason wrote: >> >>> Move all HW initializations to nb8800_init. >>> This provides the basis for suspend/resume support. >>>

Re: [RFC PATCH v2 1/2] net: ethernet: nb8800: Reset HW block in ndo_open

2017-08-02 Thread Måns Rullgård
nb8800_probe(struct platform_device *pdev) > > return 0; > > -err_free_dma: > - nb8800_dma_free(dev); > err_deregister_fixed_link: > if (of_phy_is_fixed_link(pdev->dev.of_node)) > of_phy_deregister_fixed_link(pdev->dev.of_node); > diff --git a/drivers/net/ethernet/aurora/nb8800.h > b/drivers/net/ethernet/aurora/nb8800.h > index 6ec4a956e1e5..d5f4481a2c7b 100644 > --- a/drivers/net/ethernet/aurora/nb8800.h > +++ b/drivers/net/ethernet/aurora/nb8800.h > @@ -305,6 +305,7 @@ struct nb8800_priv { > dma_addr_t tx_desc_dma; > > struct clk *clk; > + const struct nb8800_ops *ops; > }; > > struct nb8800_ops { > -- > 2.11.0 -- Måns Rullgård

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-31 Thread Måns Rullgård
ue of three descriptors that are pre-loaded from memory. Your hardware people should be able to confirm this. > With my changes, I get *exactly* the same logs on BOARD A > and BOARD B (modulo the descriptors addresses). > > Yet BOARD A stays functional, but BOARD B is hosed... What's the difference between board A and board B? > Depressing. I've run out of ideas. Get your hardware people involved. Perhaps they can run some test in a simulator. -- Måns Rullgård

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-31 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 31/07/2017 13:59, Måns Rullgård wrote: > >> Mason writes: >> >>> On 29/07/2017 17:18, Florian Fainelli wrote: >>> >>>> On 07/29/2017 05:02 AM, Mason wrote: >>>> >>>>>

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-31 Thread Måns Rullgård
ock, and everything will work as expected." Nobody is saying a reset won't recover the lockup. The problem is that we don't know what caused it to lock up in the first place. How do we know it can't happen during normal operation? If we knew the cause, it might also be possible to avoid the situation entirely. -- Måns Rullgård

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-29 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 29/07/2017 14:05, Måns Rullgård wrote: > >> Mason writes: >> >>> I'll take this opportunity to change flow control to >>> off by default (it breaks several 100 Mbps switches). >> >> I was told to h

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-29 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 29/07/2017 13:24, Måns Rullgård wrote: > >> Until you figure out why it's getting stuck, we can't be sure >> it isn't caused by something that could trigger at any time. > Would you take a look at it, if I can reproduce on tango4?

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-29 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 28/07/2017 20:56, Måns Rullgård wrote: > >> Marc Gonzalez writes: >> >>> On 28/07/2017 18:17, Måns Rullgård wrote: >>> >>>> Marc Gonzalez wrote: >>>> >>>>> ndo_stop breaks RX

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-28 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 28/07/2017 18:17, Måns Rullgård wrote: > >> Marc Gonzalez wrote: >> >>> ndo_stop breaks RX in a way that ndo_open is unable to undo. >> >> Please elaborate. Why can't it be fixed in a

Re: [RFC PATCH v1] net: ethernet: nb8800: Reset HW block in ndo_open

2017-07-28 Thread Måns Rullgård
0; > > -err_free_dma: > - nb8800_dma_free(dev); > err_deregister_fixed_link: > if (of_phy_is_fixed_link(pdev->dev.of_node)) > of_phy_deregister_fixed_link(pdev->dev.of_node); > diff --git a/drivers/net/ethernet/aurora/nb8800.h > b/drivers/net/ethernet/aurora/nb8800.h > index 6ec4a956e1e5..d5f4481a2c7b 100644 > --- a/drivers/net/ethernet/aurora/nb8800.h > +++ b/drivers/net/ethernet/aurora/nb8800.h > @@ -305,6 +305,7 @@ struct nb8800_priv { > dma_addr_t tx_desc_dma; > > struct clk *clk; > + const struct nb8800_ops *ops; > }; > > struct nb8800_ops { > -- > 2.11.0 > -- Måns Rullgård

Re: [PATCH v2 3/4] net: ethernet: nb8800: Fix RGMII TX clock delay setup

2017-07-21 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 21/07/2017 15:47, Måns Rullgård wrote: > >> Marc Gonzalez wrote: >> >>> On 21/07/2017 15:04, Måns Rullgård wrote: >>> >>>> Marc Gonzalez wrote: >>>>

Re: [PATCH v2 3/4] net: ethernet: nb8800: Fix RGMII TX clock delay setup

2017-07-21 Thread Måns Rullgård
Marc Gonzalez <marc_gonza...@sigmadesigns.com> writes: > On 21/07/2017 15:04, Måns Rullgård wrote: > >> Marc Gonzalez wrote: >> >>> According to commit e5f3a4a56ce2a707b2fb8ce37e4414dcac89c672 >>> ("Documentation: devicetree: clarify usage of th

Re: [PATCH v2 3/4] net: ethernet: nb8800: Fix RGMII TX clock delay setup

2017-07-21 Thread Måns Rullgård
pad_mode = PAD_MODE_RGMII; > break; > > default: I still don't like this. Having both the MAC and PHY drivers react to the phy-connection-type property is bound to cause trouble somewhere. The only way out of the current mess is to define new properties for both MAC and PHY that override the existing ones if present. -- Måns Rullgård

Re: [PATCH v2 2/4] net: ethernet: nb8800: Set RGMII_MODE for all RGMII modes

2017-07-21 Thread Måns Rullgård
mac_mode |= RGMII_MODE; > > mac_mode |= GMAC_MODE; > -- > 2.11.0 > -- Måns Rullgård

Re: [PATCH 2/2] net: ethernet: nb8800: Fix RGMII TX clock delay setup

2017-07-20 Thread Måns Rullgård
Mason <slash@free.fr> writes: > I will look for an inter-packet gap knob and FCS error counter. There is an FCS error counter. Use "ethtool -S" and look for rx_bad_fcs_frames. Reading the stats counters automatically resets them to zero. -- Måns Rullgård

Re: [PATCH 2/2] net: ethernet: nb8800: Fix RGMII TX clock delay setup

2017-07-19 Thread Måns Rullgård
e only sane solution to this mess is to never configure the MAC delay based on the existing phy-connection-type property. If some board requires this delay (because the PHY can't do it), a new property should probably be introduced for that. -- Måns Rullgård

Re: Setting link down or up in software

2017-01-19 Thread Måns Rullgård
sed features that require a specific driver. Interrupts, for example. -- Måns Rullgård

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-12 Thread Måns Rullgård
David Laight <david.lai...@aculab.com> writes: > From: Måns Rullgård >> Sent: 10 December 2016 13:25 > ... >> I solved this problem in an Ethernet driver by copying the initial part >> of the packet to an aligned skb and appending the remainder using >> sk

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-11 Thread Måns Rullgård
a one-bit field can indicate the presence of an extended header yet to be defined. Then old software can still make sense of the basic header. -- Måns Rullgård

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-10 Thread Måns Rullgård
Felix Fietkau <n...@nbd.name> writes: > On 2016-12-10 14:25, Måns Rullgård wrote: >> Felix Fietkau <n...@nbd.name> writes: >> >>> On 2016-12-07 19:54, Jason A. Donenfeld wrote: >>>> On Wed, Dec 7, 2016 at 7:51 PM, David Miller <da...@davemlo

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-10 Thread Måns Rullgård
aligned skb and appending the remainder using skb_add_rx_frag(). The kernel network stack only cares about the headers, so the alignment of the packet payload doesn't matter. -- Måns Rullgård

Re: [PATCH net-next v2 3/4] Documentation: net: phy: Add blurb about RGMII

2016-11-30 Thread Måns Rullgård
gt; What I am trying to say is that once a PHY driver properly configures a >> delay that you have specified, there is no reason why this is not >> applicable to other platforms using this same PHY driver. > > As has been stated earlier it can depend on the track lengths on the > board i

Re: [net-next PATCH v1 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay

2016-11-25 Thread Måns Rullgård
etween the MAC and the PHY. > From your explanation it appears that the delay is to account for board > routing (wires) between the PHY and the RJ45 socket. The delay pertains to the RGMII link between MAC and PHY. The external connection is self-clocking. -- Måns Rullgård

Re: Debugging Ethernet issues

2016-11-17 Thread Måns Rullgård
Florian Fainelli <f.faine...@gmail.com> writes: > On 11/14/2016 11:00 AM, Måns Rullgård wrote: >> Florian Fainelli <f.faine...@gmail.com> writes: >> >>> On 11/14/2016 10:20 AM, Florian Fainelli wrote: >>>> On 11/14/2016 09:59 AM, Sebastian Fr

Re: Debugging Ethernet issues

2016-11-14 Thread Måns Rullgård
ol tend to kick in under higher packet rates (at >> least, that's what you expect). >> >>> >>> Right now we know that Mason's patch makes this work, but we do not >>> understand why nor its implications. >> >> You need to understand why, right now, the way this problem is >> presented, you came up with a workaround, not with the root cause or the >> solution. What does your link partner (switch?) reports, that is, what >> is the ethtool output when you have a link up from your nb8800 adapter? > > Actually, nb8800_pause_config() seems to be doing a complete MAC/DMA > reconfiguration when pause frames get auto-negotiated while the link is > UP, This is due to a silly hardware limitation. The register containing the flow control bits can't be written while rx is enabled. > and it does not differentiate being called from > ethtool::set_pauseparam or the PHYLIB adjust_link callback (which it > probably should), Differentiate how? > wondering if there is a not a remote chance you can get the reply to > arrive right when you just got signaled a link UP? If you're attempting to send or receive things before you get the link up notification, you shouldn't expect anything to work reliably. -- Måns Rullgård

Re: [PATCH v3 2/2] net: ethernet: nb8800: handle all RGMII definitions

2016-11-07 Thread Måns Rullgård
Sebastian Frias <s...@laposte.net> writes: > Hi Måns, > > On 11/05/2016 01:58 PM, Måns Rullgård wrote: >>> if (gigabit) { >>> - if (priv->phy_mode == PHY_INTERFACE_MODE_RGMII) >>> + if (phy_interface_is_rgmii(phydev)) &

Re: [PATCH v3 2/2] net: ethernet: nb8800: handle all RGMII definitions

2016-11-05 Thread Måns Rullgård
pad_mode = PAD_MODE_RGMII; > - break; > - > + case PHY_INTERFACE_MODE_RGMII_ID: > + case PHY_INTERFACE_MODE_RGMII_RXID: > case PHY_INTERFACE_MODE_RGMII_TXID: > pad_mode = PAD_MODE_RGMII; > break; > -- > 1.7.11.2 > -- Måns Rullgård

Re: [PATCH v2 2/2 ] net: ethernet: nb8800: handle all RGMII definitions

2016-11-04 Thread Måns Rullgård
gt; + case PHY_INTERFACE_MODE_RGMII_ID: > + case PHY_INTERFACE_MODE_RGMII_RXID: > case PHY_INTERFACE_MODE_RGMII_TXID: > pad_mode = PAD_MODE_RGMII; > break; > -- > 1.7.11.2 > -- Måns Rullgård

Re: Ethernet not working on a different SoC with same eth HW

2016-11-04 Thread Måns Rullgård
Florian Fainelli <f.faine...@gmail.com> writes: > On 11/04/2016 08:22 AM, Måns Rullgård wrote: >> Andrew Lunn <and...@lunn.ch> writes: >> >>> On Fri, Nov 04, 2016 at 03:05:00PM +, Måns Rullgård wrote: >>>> Andrew Lunn <and...@lunn.ch

Re: [PATCH 1/2] net: ethernet: nb8800: Do not apply TX delay at MAC level

2016-11-04 Thread Måns Rullgård
Florian Fainelli <f.faine...@gmail.com> writes: > On 11/04/2016 08:36 AM, Sebastian Frias wrote: >> Hi Måns, >> >> On 11/04/2016 04:18 PM, Måns Rullgård wrote: >>> Sebastian Frias <s...@laposte.net> writes: >>> >>>> The delay

Re: [PATCH 1/2] net: ethernet: nb8800: Do not apply TX delay at MAC level

2016-11-04 Thread Måns Rullgård
pad_mode = PAD_MODE_RGMII; >> break; > > How many boards use this Ethernet driver? How many boards are your > potentially breaking, because they need this delay? > > I guess it is a small number, because doesn't it require the PHY is > also broken, not adding a delay when it should? What if the PHY doesn't have that option? -- Måns Rullgård

Re: Ethernet not working on a different SoC with same eth HW

2016-11-04 Thread Måns Rullgård
Andrew Lunn <and...@lunn.ch> writes: > On Fri, Nov 04, 2016 at 03:05:00PM +0000, Måns Rullgård wrote: >> Andrew Lunn <and...@lunn.ch> writes: >> >> >> > I agree with you. But fixing it is likely to break boards which >> >> > currently h

Re: [PATCH 1/2] net: ethernet: nb8800: Do not apply TX delay at MAC level

2016-11-04 Thread Måns Rullgård
s), that case should be merged with the one above it and PHY_INTERFACE_MODE_RGMII_RXID added as well. -- Måns Rullgård

Re: Ethernet not working on a different SoC with same eth HW

2016-11-04 Thread Måns Rullgård
The delay can be applied at either end or not at all, and it's anything but clear what the properties are supposed to mean. There is also no way to specify the amount of delay required even though many devices support more than one value. -- Måns Rullgård

Re: Ethernet not working on a different SoC with same eth HW

2016-11-04 Thread Måns Rullgård
d >> when a DTB specifies "rgmii" or "rgmii-txid" ? > > I agree with you. But fixing it is likely to break boards which > currently have "rgmii", but actually need the delay in order to work. Does the internal delay here refer to the PHY or the MAC? It's a property of the MAC node after all. -- Måns Rullgård

Re: Ethernet not working on a different SoC with same eth HW

2016-11-04 Thread Måns Rullgård
nals. The delay can be applied at the MAC or the PHY. I'd start by finding out what the PCB design expects or check the signals with a fast oscilloscope if you have one. -- Måns Rullgård

Re: [PATCH -next] net: ethernet: nb8800: fix error return code in nb8800_open()

2016-10-17 Thread Måns Rullgård
onfigure, 0, > priv->phy_mode); > - if (!phydev) > + if (!phydev) { > + err = -ENODEV; > goto err_free_irq; > + } > > nb8800_pause_adv(dev); > -- Måns Rullgård

Re: [PATCH 2/7] net: ethernet: nb8800: Fix module autoload

2016-10-17 Thread Måns Rullgård
gt; index 453dc0967125..d5f2ad1a5a30 100644 > --- a/drivers/net/ethernet/aurora/nb8800.c > +++ b/drivers/net/ethernet/aurora/nb8800.c > @@ -1357,6 +1357,7 @@ static const struct of_device_id nb8800_dt_ids[] = { > }, > { } > }; > +MODULE_DEVICE_TABLE(of, nb8800_dt_ids); > > static int nb8800_probe(struct platform_device *pdev) > { > -- -- Måns Rullgård

Re: [PATCH -next] net: ethernet: nb8800: fix error handling of nb8800_probe()

2016-07-19 Thread Måns Rullgård
if (ret) > - goto err_free_dev; > + goto err_disable_clk; > } > > bus = devm_mdiobus_alloc(>dev); > -- Måns Rullgård

Re: [PATCH net] net: nb8800: Fix SKB leak in nb8800_receive()

2016-07-16 Thread Måns Rullgård
x buffer allocation failed\n"); > dev->stats.rx_dropped++; > + dev_kfree_skb(skb); > return; > } > > -- > 2.7.4 > -- Måns Rullgård

Re: [PATCH 1/2] net: ethernet: nb8800: use phydev from struct net_device

2016-06-19 Thread Måns Rullgård
truct phy_device *phydev = dev->phydev; > > priv->pause_aneg = pp->autoneg; > priv->pause_rx = pp->rx_pause; > @@ -1088,8 +1089,8 @@ static int nb8800_set_pauseparam(struct net_device *dev, > > if (!priv->pause_aneg) > nb8800_p

Re: [PATCH 2/2] net: ethernet: nb8800: use phy_ethtool_{get|set}_link_ksettings

2016-06-19 Thread Måns Rullgård
800_ethtool_ops = { > .get_sset_count = nb8800_get_sset_count, > .get_strings= nb8800_get_strings, > .get_ethtool_stats = nb8800_get_ethtool_stats, > + .get_link_ksettings = phy_ethtool_get_link_ksettings, > + .set_link_ksettings = phy_ethtool_set_link_ksettings, > }; > > static int nb8800_hw_init(struct net_device *dev) > -- > 1.7.4.4 > -- Måns Rullgård

Re: [PATCH] net: phy: at803x: don't depend on GPIOLIB

2016-03-19 Thread Måns Rullgård
only to > force a hardware-reset when the PHY is wedged by some random event. Yes, and some variants of this phy are broken and require a hard reset in certain situations. At least that's what the comment in the code says. -- Måns Rullgård

Re: [PATCH v3] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-08 Thread Måns Rullgård
Sebastian Frias <s...@laposte.net> writes: > On 02/08/2016 03:11 PM, Mason wrote: >> On 08/02/2016 14:37, Måns Rullgård wrote: >> >>> Sebastian Frias wrote: >>> >>>> By the way, I know some people like the command line, email, etc. but >>

Re: [PATCH v3] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-08 Thread Måns Rullgård
he inlined comments were addressed. Gerrit has some merits, but for seasoned developers it's largely a nuisance. It's probably good at keeping junior/undisciplined developers from doing too much damage by strictly enforcing a cumbersome process. -- Måns Rullgård

Re: [PATCH v3] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-08 Thread Måns Rullgård
Sebastian Frias <s...@laposte.net> writes: > On 02/05/2016 04:26 PM, Måns Rullgård wrote: >> Sebastian Frias <s...@laposte.net> writes: >> >>> On 02/05/2016 04:08 PM, Måns Rullgård wrote: >>>> Sebastian Frias <s...@laposte.net> writes:

Re: [PATCH v5] net: ethernet: nb8800: support fixed-link DT node

2016-02-08 Thread Måns Rullgård
} > + priv->phy_node = of_node_get(pdev->dev.of_node); > + } > + > + if (!priv->phy_node) > + priv->phy_node = of_parse_phandle(pdev->dev.of_node, > + "phy-handle", 0); > + > if (!priv->phy_node) { > dev_err(>dev, "no PHY specified\n"); > ret = -ENODEV; > -- > 2.1.4 > -- Måns Rullgård

Re: [PATCH v3] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-05 Thread Måns Rullgård
Sebastian Frias <s...@laposte.net> writes: > On 02/05/2016 04:08 PM, Måns Rullgård wrote: >> Sebastian Frias <s...@laposte.net> writes: >> >>> On 02/05/2016 03:34 PM, Måns Rullgård wrote: >>>> Sebastian Frias <s...@laposte.net> writes: >&

Re: [PATCH v3] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-05 Thread Måns Rullgård
Sebastian Frias <s...@laposte.net> writes: > On 02/05/2016 03:34 PM, Måns Rullgård wrote: >> Sebastian Frias <s...@laposte.net> writes: >> >>> Signed-off-by: Sebastian Frias <s...@laposte.net> >> >> Please change the subject to something like

Re: [PATCH] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-05 Thread Måns Rullgård
Andy Shevchenko <andy.shevche...@gmail.com> writes: > On Fri, Feb 5, 2016 at 3:39 PM, Måns Rullgård <m...@mansr.com> wrote: >>> + if (ret < 0) { >>> + dev_err(>dev, "broken fixed-link >>>

Re: [PATCH v2] net: ethernet: support "fixed-link" DT key/node on nb8800 driver

2016-02-05 Thread Måns Rullgård
"phy-handle", 0); if (!priv->phy_node) { dev_err(>dev, "no PHY specified\n"); ret = -ENODEV; goto err_free_bus; } -- Måns Rullgård

Re: [PATCH v2] net: ethernet: support "fixed-link" DT key/node on nb8800 driver

2016-02-05 Thread Måns Rullgård
Sebastian Frias <s...@laposte.net> writes: > On 02/05/2016 02:58 PM, Måns Rullgård wrote: >> Sebastian Frias <s...@laposte.net> writes: >> >>> Signed-off-by: Sebastian Frias <s...@laposte.net> >>> --- >>> drivers/net/ethernet/a

Re: [PATCH] net: ethernet: support "fixed-link" DT node on nb8800 driver

2016-02-05 Thread Måns Rullgård
dev_err(>dev, "no PHY specified\n"); > + ret = -ENODEV; > + goto err_free_bus; > + } > } > > priv->mii_bus = bus; > -- > 2.1.4 > -- Måns Rullgård

Re: [PATCH 8/9] net: nb8800: avoid uninitialized variable warning

2016-01-27 Thread Måns Rullgård
rxd->report = 0; > last = next; > work++; > - } > + } while (work < budget); > > if (work) { > priv->rx_descs[last].desc.config |= DESC_EOC; > -- > 2.7.0 > -- Måns Rullgård

Re: [PATCH] ethernet: aurora: AURORA_NB8800 should depend on HAS_DMA

2015-12-07 Thread Måns Rullgård
a/Kconfig > index a3c7106fdf85e78f..8ba7f8ff3434000f 100644 > --- a/drivers/net/ethernet/aurora/Kconfig > +++ b/drivers/net/ethernet/aurora/Kconfig > @@ -13,6 +13,7 @@ if NET_VENDOR_AURORA > > config AURORA_NB8800 > tristate "Aurora AU-NB8800 support" > + depends

Re: [PATCH v8] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-25 Thread Måns Rullgård
Alexander Duyck <alexander.du...@gmail.com> writes: > On Wed, Nov 25, 2015 at 5:04 AM, Måns Rullgård <m...@mansr.com> wrote: >> Mason <slash@free.fr> writes: >> >>> On 25/11/2015 13:45, Måns Rullgård wrote: >>> >>>> M

Re: [PATCH v8] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-25 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 25/11/2015 17:16, Måns Rullgård wrote: > >> Alexander Duyck writes: >> >>> On Wed, Nov 25, 2015 at 5:04 AM, Måns Rullgård wrote: >>> >>>> Mason writes: >>>> >>>>> On 25/11/2

Re: [PATCH v8] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-25 Thread Måns Rullgård
ge_testzero(page))) > __free_pages_ok(page, compound_order(page)); > } > > Regards. > -- Måns Rullgård m...@mansr.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH v8] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-25 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 25/11/2015 13:45, Måns Rullgård wrote: > >> Mason wrote: >> >>> On 19/11/2015 14:02, Mans Rullgard wrote: >>> >>>> + if (dma_mapping_error(>dev, dma_addr)) { >>>> + skb_free_f

Re: [PATCH v6] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-16 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Mon, 16 Nov 2015 20:59:18 + > >> Anything else? > > Sorry, when I find one problem I give you the feedback for that > and move on to the 100s of other patches I h

Re: [PATCH v6] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-16 Thread Måns Rullgård
ly spell out "unsigned int" rather than use "unsigned" > as a shorthand. OK Anything else? -- Måns Rullgård m...@mansr.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH] net: phy: vitesse: add support for VSC8601

2015-11-13 Thread Måns Rullgård
ted Documentation/CodingStyle to forbid taking the address > of functions. I can't find anything to that effect. That said, it's not something I would normally do, but all the other phy_driver entries in that file look like that. -- Måns Rullgård m...@mansr.com -- To unsubscribe from this lis

Re: [PATCH] net: phy: at803x: support interrupt on 8030 and 8035

2015-11-12 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 12/11/2015 20:14, Florian Fainelli wrote: >> On 12/11/15 11:09, Måns Rullgård wrote: >>> On 12 November 2015 19:06:23 GMT+00:00, Mason wrote: >>>> On 12/11/2015 18:40, Mans Rullgard wrote: >>>>>

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-12 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 10/11/2015 20:25, Måns Rullgård wrote: > >> Mason writes: >> >>> On 10/11/2015 17:14, Mans Rullgard wrote: >>> >>>> This adds a driver for the Aurora VLSI NB8800 Ethernet controller. >>>

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-12 Thread Måns Rullgård
Mason <slash@free.fr> writes: > [ CCing a few knowledgeable people ] > > Despite the subject, this is about an Atheros 8035 PHY :-) > > On 12/11/2015 15:04, Måns Rullgård wrote: > >> Mason wrote: >> >>> BTW, you're not using the PHY IRQ, right

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-12 Thread Måns Rullgård
Måns Rullgård <m...@mansr.com> writes: > Mason <slash@free.fr> writes: > >> [ CCing a few knowledgeable people ] >> >> Despite the subject, this is about an Atheros 8035 PHY :-) >> >> On 12/11/2015 15:04, Måns Rullgård wrote: >> >&g

Re: [PATCH] net: phy: at803x: support interrupt on 8030 and 8035

2015-11-12 Thread Måns Rullgård
ad_status, >> +.ack_interrupt = at803x_ack_interrupt, >> +.config_intr= at803x_config_intr, >> .driver = { >> .owner = THIS_MODULE, >> }, > >Shouldn't we take the opportunity to clean up the duplicated regi

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Wed, 11 Nov 2015 13:04:07 + > >> Måns Rullgård <m...@mansr.com> writes: >> >>> David Miller <da...@davemloft.net> writes: >>> >>>

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
Mason <slash@free.fr> writes: > On 10/11/2015 22:51, Eric Dumazet wrote: > >> On Tue, 2015-11-10 at 21:21 +0000, Måns Rullgård wrote: >> >>> Even ixgbe uses napi_complete() while netdevice.h says one should >>> "consider using napi_com

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
Eric Dumazet <eric.duma...@gmail.com> writes: > On Wed, 2015-11-11 at 13:48 +0000, Måns Rullgård wrote: >> Eric Dumazet <eric.duma...@gmail.com> writes: >> >> > On Wed, 2015-11-11 at 13:04 +, Måns Rullgård wrote: >> > >> >> I tried

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
Måns Rullgård <m...@mansr.com> writes: > Eric Dumazet <eric.duma...@gmail.com> writes: > >> On Wed, 2015-11-11 at 13:48 +, Måns Rullgård wrote: >>> Eric Dumazet <eric.duma...@gmail.com> writes: >>> >>> > On Wed, 2015-11-

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Wed, 11 Nov 2015 18:25:05 + > >> If the TX DMA channel is idle when start_xmit is called, it can be >> started immediately. Checking the DMA status and starting it if

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Wed, 11 Nov 2015 19:09:19 + > >> David Miller <da...@davemloft.net> writes: >> >>> From: Måns Rullgård <m...@mansr.com> >>> Date: Wed, 11

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Wed, 11 Nov 2015 19:17:07 + > >> David Miller <da...@davemloft.net> writes: >> >>> From: Måns Rullgård <m...@mansr.com> >>>

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-11 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Wed, 11 Nov 2015 19:35:05 + > >>> I don't think it's silly at all. >> >> I'm sure I read somewhere that the time spent spinning on a lock should >> be k

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
A_TO_DEVICE); >> + >> +if (dma_mapping_error(>dev, dma_addr)) { >> +netdev_err(dev, "tx dma mapping error\n"); >> +kfree_skb(skb); >> +dev->stats.tx_dropped++; >> + return NETDEV_TX_OK; >> +

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
t; +offset + RX_COPYHDR, len - RX_COPYHDR, >> +RX_BUF_SIZE); >> +} >> + >> + skb->protocol = eth_type_trans(skb, dev); >> +netif_receive_skb(skb); >> +} >> + > > Any reason

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
s support? > > drivers/net/ethernet/aurora/nb8800.c | 1146 > ++ > drivers/net/ethernet/aurora/nb8800.h | 230 +++ Some of the increase is from new features, some from improvements, and then there are a bunch of new comments. -- Måns Rullgård m...@mansr.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Tue, 10 Nov 2015 18:05:15 + > >> Because I haven't been following the netdev list closely for the last >> five years, and no documentation I read mentioned this fun

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
David Miller <da...@davemloft.net> writes: > From: Måns Rullgård <m...@mansr.com> > Date: Tue, 10 Nov 2015 20:53:19 + > >> David Miller <da...@davemloft.net> writes: >> >>> From: Måns Rullgård <m...@mansr.com> >>> Date:

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
Andy Shevchenko <andy.shevche...@gmail.com> writes: > On Wed, Nov 11, 2015 at 12:34 AM, Måns Rullgård <m...@mansr.com> wrote: >> Andy Shevchenko <andy.shevche...@gmail.com> writes: >> >>>> +static inline void nb8800_maskb(struct nb8800_priv *priv, int

Re: [PATCH v5] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-11-10 Thread Måns Rullgård
_TX_DESC_ADDR, txb->dma_desc); >> + wmb(); /* ensure desc addr is written before starting DMA */ > > Hm… Have I missed corresponding rmb() ? If it's about MMIO, perhaps mmiowb() ? Possibly. >> + nb8800_writel(priv, NB8800_TXC_CR, txc_cr | TCR_EN); >> + >> + priv->tx_queue = (priv->tx_queue + txb->chain_len) % TX_DESC_COUNT; >> +} -- Måns Rullgård m...@mansr.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

  1   2   >