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

2015-11-11 Thread Måns Rullgård
David Miller writes: > From: Måns Rullgård > Date: Wed, 11 Nov 2015 13:04:07 + > >> Måns Rullgård writes: >> >>> David Miller writes: >>> >>>> From: Måns Rullgård >>>> Date: Wed, 11 Nov 2015 00:40:09 + >>>&

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 writes: > Eric Dumazet writes: > >> On Wed, 2015-11-11 at 13:48 +, Måns Rullgård wrote: >>> Eric Dumazet writes: >>> >>> > On Wed, 2015-11-11 at 13:04 +, Måns Rullgård wrote: >>> > >>> >> I tried that,

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

2015-11-11 Thread Måns Rullgård
Eric Dumazet writes: > On Wed, 2015-11-11 at 13:48 +0000, Måns Rullgård wrote: >> Eric Dumazet writes: >> >> > On Wed, 2015-11-11 at 13:04 +, Måns Rullgård wrote: >> > >> >> I tried that, and throughput (as measured by iperf3) dro

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

2015-11-11 Thread Måns Rullgård
Mason writes: > On 10/11/2015 22:51, Eric Dumazet wrote: > >> On Tue, 2015-11-10 at 21:21 +, Måns Rullgård wrote: >> >>> Even ixgbe uses napi_complete() while netdevice.h says one should >>> "consider using napi_complete_done() instead." Did th

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

2015-11-11 Thread Måns Rullgård
Eric Dumazet writes: > On Wed, 2015-11-11 at 13:04 +0000, Måns Rullgård wrote: > >> I tried that, and throughput (as measured by iperf3) dropped by 2%. >> Maybe I did something wrong. > > What link speed have you used, what was the throughput you got, > and is the

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 writes: > David Miller writes: > >> From: Måns Rullgård >> Date: Wed, 11 Nov 2015 00:40:09 + >> >>> When the DMA complete interrupt arrives, the next chain should be >>> kicked off as quickly as possible, and I don't see why

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

2015-11-11 Thread Måns Rullgård
David Miller writes: > From: Måns Rullgård > Date: Wed, 11 Nov 2015 00:40:09 + > >> When the DMA complete interrupt arrives, the next chain should be >> kicked off as quickly as possible, and I don't see why that would >> benefit from being done in napi c

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

2015-11-10 Thread Måns Rullgård
Andy Shevchenko writes: > On Wed, Nov 11, 2015 at 1:07 AM, Måns Rullgård wrote: >> Andy Shevchenko writes: > >>>>>> + nb8800_writel(priv, NB8800_TX_DESC_ADDR, txb->dma_desc); >>>>>> + wmb(); /* ensure desc addr is written

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

2015-11-10 Thread Måns Rullgård
+ >> +/* rx interrupt */ >> +val = nb8800_readl(priv, NB8800_RXC_SR); >> +if (val) { > [...] >> +} >> + >> +return IRQ_HANDLED; > > Returning IRQ_HANDLED is fine if one of those hold: > 1. you're sure that at least one of the &q

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

2015-11-10 Thread Måns Rullgård
Andy Shevchenko writes: > On Wed, Nov 11, 2015 at 12:34 AM, Måns Rullgård wrote: >> Andy Shevchenko writes: >> >>>> +static inline void nb8800_maskb(struct nb8800_priv *priv, int reg, >>>> + u32 mask, u32 val) >>>&g

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

2015-11-10 Thread Måns Rullgård
SC_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

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

2015-11-10 Thread Måns Rullgård
David Miller writes: > From: Måns Rullgård > Date: Tue, 10 Nov 2015 20:53:19 + > >> David Miller writes: >> >>> From: Måns Rullgård >>> Date: Tue, 10 Nov 2015 18:05:15 + >>> >>>> Because I haven't been follo

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

2015-11-10 Thread Måns Rullgård
David Miller writes: > From: Måns Rullgård > 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 function. I can >> certainly change it. >

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

2015-11-10 Thread Måns Rullgård
/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
O_DEVICE); >> + >> +if (dma_mapping_error(&dev->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
;nr_frags, page, >> +offset + RX_COPYHDR, len - RX_COPYHDR, >> +RX_BUF_SIZE); >> +} >> + >> +skb->protocol = eth_type_trans(skb, dev); >> +netif_receive_skb(skb); >> +} >> + > > Any

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

2015-10-31 Thread Måns Rullgård
arithmetic on pointer values. They have to be cast to an integer type first. >>>> + nb8800_writeb(priv, NB8800_RANDOM_SEED, 0x08); >>>> + >>>> + /* TX single deferral params */ >>>> + nb8800_writeb(priv, NB8800_TX_SDP, 0xc); >>

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

2015-10-31 Thread Måns Rullgård
Francois Romieu writes: > Måns Rullgård : >> Francois Romieu writes: > [...] >> > It looks like it receives, then tries to allocate new resources. If so >> > it may deplete the ring and you should instead consider allocating new >> > resources first, th

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

2015-10-31 Thread Måns Rullgård
t; + struct resource *res; >> + struct net_device *dev; >> + struct mii_bus *bus; >> + const unsigned char *mac; >> + void __iomem *base; >> + int irq; >> + int ret; >> + >> + match = of_match_device(nb8800_dt_i

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

2015-10-31 Thread Måns Rullgård
ting new > resources first, then receive data if alloc + map suceeded. The hardware receives a frame and stores it in the provided DMA buffer, then raises an interrupt and moves on to the next buffer. When a buffer is handed over to the network stack, a new one has to take its place in the DMA

Re: [PATCH v3 2/2] net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller

2015-10-27 Thread Måns Rullgård
t; > Since you are implementing ethtool please add a driver > info function. I don't know what I'd set there that the fallback code doesn't. -- Måns Rullgård m...@mansr.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body

Re: [PATCH v3 1/2] devicetree: add binding for Aurora VLSI NB8800 Ethernet controller

2015-10-26 Thread Måns Rullgård
igma,smp8642-ethernet", "aurora,nb8800"; > + reg = <0x26000 0x800>; > + interrupts = <38>; > + clocks = <&sys_clk>; > + max-speed = <1000>; > + phy-connection-type = "rgmii"; > + phy-handle = <ð0_phy>; &g

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

2015-10-24 Thread Måns Rullgård
MBSR read used for? >> >> On one of my boards, phylib misdetects a phy on the second ethernet port >> even though there is none. Perhaps I should revisit that problem and >> look for a better solution. > > I think that would be best, if you are currently using the Gener

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

2015-10-23 Thread Måns Rullgård
it is supported or not. This does something to the configuration of the external pins, the documentation is vague about what. >> +phydev = phy_find_first(bus); >> +if (!phydev || phy_read(phydev, MII_BMSR) <= 0) { > > What is this additional MII_MBSR read used for? On one of my boards, phylib mis

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

2015-10-22 Thread Måns Rullgård
s device. I'll include netdev when I send an updated version. -- 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