[PATCH net-next 16/40] net: fec: eliminate calls to fec_enet_get_prevdesc

2016-01-28 Thread Troy Kisky
This shrinks the code a little. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 34 --- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c

[PATCH net-next 29/40] net: fec: don't free skb when returning busy

2016-01-28 Thread Troy Kisky
>From Documentation/networking/driver.txt If you return NETDEV_TX_BUSY from the ndo_start_xmit method, you must not keep any reference to that SKB and you must not attempt to free it up. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 2 -- 1 file changed, 2 deleti

[PATCH net-next 30/40] net: fec: move last_bdp assignment for symmetry

2016-01-28 Thread Troy Kisky
This way both if clauses assign last_bdp instead of only one clause overriding the default. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net

[PATCH net-next 22/40] net: fec: call dma_unmap_single on mapped tx buffers at restart

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index bc084ad9..da2e3c530 100644 --- a/drivers

[PATCH net-next 25/40] net: fec: don't free skb until it has been unmapped

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 98b9be2..380c8e2 100644 --- a/drivers/net/ethernet/freescale

[PATCH net-next 17/40] net: fec: move restart test for efficiency

2016-01-28 Thread Troy Kisky
This saves 1 comparison. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 1a838cc..fcbbf0d 100644

[PATCH net-next 40/40] ARM: dts: imx6qdl-nitrogen6_max: add phy interrupt to eliminate polling

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 9 + 1 file changed, 9 insertions(+) diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi index a35d54f..771f650 100644 --- a/arch/arm/boot/dts/imx6qdl

[PATCH net-next 32/40] net: fec: fix err_release in fec_enet_txq_submit_tso

2016-01-28 Thread Troy Kisky
Unmap descriptors upon error. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index

[PATCH net-next 33/40] net: fec: shrink the window for 'tx int lost'

2016-01-28 Thread Troy Kisky
Perform skb_tx_timestamp before transferring ownership This shrinks the window for 'tx int lost' If the packet is transmitted and napi clears the tx interrupt before the txq->bd.cur assignment, then the tx interrupt is effectively lost. Signed-off-by: Troy Kisky --- drivers

[PATCH net-next 18/40] net: fec: clear cbd_sc after transmission to help with debugging

2016-01-28 Thread Troy Kisky
When the tx queue is dumped, it is easier to see that this entry is idle. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index

[PATCH net-next 24/40] net: fec: return NETDEV_TX_BUSY, when not enough space in ring

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 29c5781..98b9be2 100644 --- a/drivers/net/ethernet

[PATCH net-next 39/40] ARM: dts: imx6qdl-nitrogen6x: add phy interrupt to eliminate polling

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 11 +++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi index caeed56..1d42331 100644 --- a/arch/arm/boot/dts/imx6qdl

[PATCH net-next 28/40] net: fec: unmap initial buffer on error

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 7258051..e141f6f 100644 --- a/drivers/net/ethernet

[PATCH net-next 36/40] net: fec: use mac set by bootloader before fuses

2016-01-28 Thread Troy Kisky
If a bootloader initializes the mac, prefer that to device tree or fuses. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 33 +-- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b

[PATCH net-next 37/40] net: fec: add events device file

2016-01-28 Thread Troy Kisky
This is for debug purposes. If a receive interrupt is lost, writing to this file can recover the FEC. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 52 +++ 1 file changed, 52 insertions(+) diff --git a/drivers/net/ethernet/freescale

[PATCH net-next 35/40] net: fec: rename dirty_tx to pending_tx

2016-01-28 Thread Troy Kisky
removal of fec_enet_get_prevdesc. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec.h | 14 +--- drivers/net/ethernet/freescale/fec_main.c | 38 ++- 2 files changed, 18 insertions(+), 34 deletions(-) diff --git a/drivers/net/ethernet

[PATCH net-next 38/40] net: fec: recover from lost rxf_0 interrupt

2016-01-28 Thread Troy Kisky
next packet is transmitted. This patch also has the advantage of increasing iperf speed. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net

[PATCH net-next 09/40] net: fec: only check queue 0 if RXF_0/TXF_0 interrupt is set

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 15a93f90..3ed79fd 100644 --- a/drivers/net/ethernet

[PATCH net-next 19/40] net: fec: dump all tx queues in fec_dump

2016-01-28 Thread Troy Kisky
Dump all tx queues, not just queue 0. Also, disable fec interrupts first. The interrupts will be reenabled in fec_restart. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 36 +-- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git

[PATCH net-next 10/40] net: fec: pass rxq to fec_enet_rx_queue instead of queue_id

2016-01-28 Thread Troy Kisky
The queue_id is the qid member of struct bufdesc_prop. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c

[PATCH net-next 21/40] net: fec: print more debug info in fec_timeout

2016-01-28 Thread Troy Kisky
Print the current interrupt flags and mask and the interrupt state during the last interrupt in fec_timeout. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec.h | 1 + drivers/net/ethernet/freescale/fec_main.c | 4 2 files changed, 5 insertions(+) diff --git a/drivers

[PATCH net-next 27/40] net: fec: enable interrupt on very last descriptor only

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index cf53e21..7258051 100644 --- a/drivers/net/ethernet/freescale

[PATCH net-next 07/40] net: fec: don't transfer ownership until descriptor write is complete

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index e8f35fb..b87f80d 100644 --- a/drivers/net

[PATCH net-next 12/40] net: fec: reduce interrupts

2016-01-28 Thread Troy Kisky
l now continue to receive the previously pending packets. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec.h | 6 +- drivers/net/ethernet/freescale/fec_main.c | 127 -- 2 files changed, 50 insertions(+), 83 deletions(-) diff --git a/drivers/net/eth

[PATCH net-next 08/40] net: fec: move cbd_bufaddr assignment closer to the mapping function

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index b87f80d..15a93f90 100644 --- a/drivers/net/ethernet

[PATCH net-next 15/40] net: fec: set cbd_sc without relying on previous value

2016-01-28 Thread Troy Kisky
Relying on the wrap bit to stay valid once initialized when the controller also writes to this byte seems undesirable since we can easily know what the value should be. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 31 ++- 1 file changed

[PATCH net-next 03/40] net: fec: fix fec_enet_get_free_txdesc_num

2016-01-28 Thread Troy Kisky
instead. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 620834f..8e1f2a6 100644 --- a/drivers/net/ethernet

[PATCH net-next 11/40] net: fec: pass txq to fec_enet_tx_queue instead of queue_id

2016-01-28 Thread Troy Kisky
queue_id is the qid member of struct bufdesc_prop. Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale

[PATCH net-next 26/40] net: fec: set cbd_esc only once

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 380c8e2..cf53e21 100644 --- a/drivers/net/ethernet

[PATCH net-next 14/40] net: fec: don't clear all rx queue bits when just one is being checked

2016-01-28 Thread Troy Kisky
FEC_ENET_RXF is 3 separate bits, we only check one queue at a time. So, when the last queue is being checked, it is bad to remove the interrupt on the 1st queue. Also, since this is now done in the napi routine and not the interrupt, it is not needed. Signed-off-by: Troy Kisky --- drivers/net

[PATCH net-next 23/40] net: fec: don't set cbd_bufaddr unless no mapping error

2016-01-28 Thread Troy Kisky
Signed-off-by: Troy Kisky --- drivers/net/ethernet/freescale/fec_main.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index da2e3c530..29c5781 100644 --- a/drivers/net

Re: [PATCH net-next 08/40] net: fec: move cbd_bufaddr assignment closer to the mapping function

2016-01-29 Thread Troy Kisky
On 1/28/2016 3:02 PM, Arnd Bergmann wrote: > On Thursday 28 January 2016 14:25:32 Troy Kisky wrote: >> Signed-off-by: Troy Kisky >> --- >> drivers/net/ethernet/freescale/fec_main.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) > > [note: missi

Re: lost interrupts when running sabrelite images (v4.15+) in qemu

2018-03-05 Thread Troy Kisky
On 3/3/2018 1:12 PM, Guenter Roeck wrote: > On 03/03/2018 12:48 PM, Guenter Roeck wrote: >> On 03/03/2018 11:07 AM, Troy Kisky wrote: >>> On 3/3/2018 8:32 AM, Guenter Roeck wrote: >>>> Hi, >>>> >>>> since v4.15, I get the following runtime wa

Re: lost interrupts when running sabrelite images (v4.15+) in qemu

2018-03-03 Thread Troy Kisky
On 3/3/2018 8:32 AM, Guenter Roeck wrote: > Hi, > > since v4.15, I get the following runtime warning when running sabrelite images > in qemu. > > irq 65: nobody cared (try booting with the "irqpoll" option) > ... > handlers: > [<26292474>] fec_pps_interrupt > Disabling IRQ #65 > fec 2188000.ether

Re: [PATCH v2 net,stable 1/2] net: fec: restore dev_id in the cases of probe error

2018-01-03 Thread Troy Kisky
On 1/2/2018 6:39 PM, Fugang Duan wrote: > The static variable dev_id always plus one before netdev registerred. > It should restore the dev_id value in the cases of probe error. > > Signed-off-by: Fugang Duan > --- > drivers/net/ethernet/freescale/fec_main.c | 1 + > 1 file changed, 1 insertion(

<    1   2