03 Oct, 2014

1 commit


29 Sep, 2014

1 commit


20 Jun, 2014

1 commit

  • This prevents PHY not found types of errors for PHY drivers that are
    probed after the Ethernet driver is probed, because the ifconfig UP is
    done from userspace after all drivers have been probed.

    Also avoid the cvmx-helper-board.c PHY code if a real PHY driver is
    present, this allows a bootloader supplied device tree to specify the
    PHY information rather than having to modify the code for each
    different board.

    Tested-by: Alex Smith
    Signed-off-by: David Daney
    Signed-off-by: Alex Smith
    Cc: devel@driverdev.osuosl.org
    Signed-off-by: Greg Kroah-Hartman

    David Daney
     

19 Mar, 2014

1 commit


08 Mar, 2014

1 commit


05 Mar, 2014

1 commit


17 Sep, 2013

1 commit

  • Enable only those interrupts that we can handle & acknowledge in the
    interrupt handler.

    At least on EdgeRouter Lite, the hardware may occasionally interrupt with
    some error condition when the physical link status changes frequently.
    Since the interrupt condition is not acked properly, this leads to the
    following warning and the IRQ gets disabled completely:

    [ 41.324700] eth0: Link down
    [ 44.324721] eth0: 1000 Mbps Full duplex, port 0, queue 0
    [ 44.885590] irq 117: nobody cared (try booting with the "irqpoll" option)
    [ 44.892397] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.11.0-rc5-edge-los.git-27d042f-dirty-00950-gaa42f2d-dirty #8
    [ 44.902825] Stack : ffffffff815c0000 0000000000000004 0000000000000003 0000000000000000
    ffffffff81fd0000 ffffffff815c0000 0000000000000004 ffffffff8118530c
    ffffffff815c0000 ffffffff811858d8 0000000000000000 0000000000000000
    ffffffff81fd0000 ffffffff81fc0000 ffffffff8152f3a0 ffffffff815b7bf7
    ffffffff81fc6688 ffffffff815b8060 0000000000000000 0000000000000000
    0000000000000000 ffffffff815346c8 ffffffff815346b0 ffffffff814a6a18
    ffffffff8158b848 ffffffff81145614 ffffffff81593800 ffffffff81187174
    ffffffff815b7d00 ffffffff8158b760 0000000000000000 ffffffff814a9184
    0000000000000000 0000000000000000 0000000000000000 0000000000000000
    0000000000000000 ffffffff811203b8 0000000000000000 0000000000000000
    ...
    [ 44.968408] Call Trace:
    [ 44.970873] [] show_stack+0x68/0x80
    [ 44.975937] [] dump_stack+0x78/0xb8
    [ 44.980999] [] __report_bad_irq+0x44/0x108
    [ 44.986662] [] note_interrupt+0x248/0x2a0
    [ 44.992240] [] handle_irq_event_percpu+0x144/0x200
    [ 44.998598] [] handle_irq_event+0x54/0x90
    [ 45.004176] [] handle_level_irq+0xd0/0x148
    [ 45.009839] [] generic_handle_irq+0x34/0x50
    [ 45.015589] [] do_IRQ+0x18/0x30
    [ 45.020301] [] plat_irq_dispatch+0x74/0xb8
    [ 45.025958]
    [ 45.027451] handlers:
    [ 45.029731] [] cvm_oct_rgmii_rml_interrupt
    [ 45.035397] Disabling IRQ #117
    [ 45.038742] Port 0 receive error code 13, packet dropped
    [ 46.324719] eth0: Link down
    [ 48.324733] eth0: 1000 Mbps Full duplex, port 0, queue 0

    Reported-by: "Jason A. Donenfeld"
    Signed-off-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: Greg Kroah-Hartman
    Cc: devel@driverdev.osuosl.org
    Cc: linux-mips@linux-mips.org
    Cc: Jason A. Donenfeld
    Cc: richard@nod.at
    Patchwork: https://patchwork.linux-mips.org/patch/5810/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     

08 Dec, 2011

1 commit


24 Aug, 2011

1 commit


29 Jun, 2011

1 commit


27 Feb, 2010

2 commits


17 Dec, 2009

1 commit


12 Dec, 2009

1 commit


25 Jun, 2009

1 commit

  • Convert the driver to use net_device_ops as it is now mandatory.

    Also compensate for the removal of struct sk_buff's dst field.

    The changes are mostly mechanical, the content of ethernet-common.c
    was moved to ethernet.c and ethernet-common.{c,h} are removed.

    Signed-off-by: David Daney
    Signed-off-by: Ralf Baechle

    David Daney
     

17 Jun, 2009

1 commit

  • The octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui
    ports present on the Cavium OCTEON family of SOCs. These SOCs are
    multi-core mips64 processors with existing support over in arch/mips.

    The driver files can be categorized into three basic groups:

    1) Register definitions, these are named cvmx-*-defs.h

    2) Main driver code, these have names that don't start cvmx-.

    3) Interface specific functions and other utility code, names starting
    with cvmx-

    Signed-off-by: David Daney
    Signed-off-by: Ralf Baechle

    David Daney