19 Feb, 2014

40 commits

  • It's slightly smaller/faster for some architectures.
    Make sure def_multicast_addr is __aligned(2)

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • These include are here since kernel 2.2.7, but probably never used.

    Signed-off-by: Florent Fourcot
    Signed-off-by: David S. Miller

    Florent Fourcot
     
  • phy_set_csma_params has a redundant (and impossible) check for
    "retries", found by smatch. The check was supposed to be for
    frame_retries, but wasn't moved during development when
    phy_set_frame_retries was introduced. Also, maxBE >= 3 as required by
    the standard is not enforced.

    Remove the redundant check, assure max_be >= 3 and check -1
    Signed-off-by: David S. Miller

    Phoebe Buckheister
     
  • This patch fixes a typo in the Device Tree binding for the
    leading '#'.

    Reported-by: Sergei Shtylyov
    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • Rename the following functions, which are shorter and more in line
    with common naming practice in the network subsystem.

    tipc_bclink_send_msg->tipc_bclink_xmit
    tipc_bclink_recv_pkt->tipc_bclink_rcv
    tipc_disc_recv_msg->tipc_disc_rcv
    tipc_link_send_proto_msg->tipc_link_proto_xmit
    link_recv_proto_msg->tipc_link_proto_rcv
    link_send_sections_long->tipc_link_iovec_long_xmit
    tipc_link_send_sections_fast->tipc_link_iovec_xmit_fast
    tipc_link_send_sync->tipc_link_sync_xmit
    tipc_link_recv_sync->tipc_link_sync_rcv
    tipc_link_send_buf->__tipc_link_xmit
    tipc_link_send->tipc_link_xmit
    tipc_link_send_names->tipc_link_names_xmit
    tipc_named_recv->tipc_named_rcv
    tipc_link_recv_bundle->tipc_link_bundle_rcv
    tipc_link_dup_send_queue->tipc_link_dup_queue_xmit
    link_send_long_buf->tipc_link_frag_xmit

    tipc_multicast->tipc_port_mcast_xmit
    tipc_port_recv_mcast->tipc_port_mcast_rcv
    tipc_port_reject_sections->tipc_port_iovec_reject
    tipc_port_recv_proto_msg->tipc_port_proto_rcv
    tipc_connect->tipc_port_connect
    __tipc_connect->__tipc_port_connect
    __tipc_disconnect->__tipc_port_disconnect
    tipc_disconnect->tipc_port_disconnect
    tipc_shutdown->tipc_port_shutdown
    tipc_port_recv_msg->tipc_port_rcv
    tipc_port_recv_sections->tipc_port_iovec_rcv

    release->tipc_release
    accept->tipc_accept
    bind->tipc_bind
    get_name->tipc_getname
    poll->tipc_poll
    send_msg->tipc_sendmsg
    send_packet->tipc_send_packet
    send_stream->tipc_send_stream
    recv_msg->tipc_recvmsg
    recv_stream->tipc_recv_stream
    connect->tipc_connect
    listen->tipc_listen
    shutdown->tipc_shutdown
    setsockopt->tipc_setsockopt
    getsockopt->tipc_getsockopt

    Above changes have no impact on current users of the functions.

    Signed-off-by: Ying Xue
    Reviewed-by: Jon Maloy
    Signed-off-by: David S. Miller

    Ying Xue
     
  • Add support of the device tree probing for the Renesas SH-Mobile SoCs
    documenting the device tree binding as necessary.

    This work is loosely based on the original patch by Nobuhiro Iwamatsu
    .

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: David S. Miller

    Sergei Shtylyov
     
  • This patch is an attempt to gather the Ethernet related bindings in one file,
    like it's done in the MMC and some other subsystems. It should save some of
    the trouble of documenting several properties over and over in each binding
    document, instead only making reference to the main file.

    I have used the Embedded Power Architecture(TM) Platform Requirements (ePAPR)
    standard as a base for the properties description, also documenting some ad-hoc
    properties that have been introduced over time despite having direct analogs in
    ePAPR.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: David S. Miller

    Sergei Shtylyov
     
  • checkpatch.pl clean-up, from 14 error/ 277 warnings, to 0 errors, 7 warnings

    Signed-off-by: Justin van Wijngaarden
    Signed-off-by: David S. Miller

    Justin van Wijngaarden
     
  • Veaceslav Falico says:

    ====================
    bonding: add an option to rely on unvalidated arp packets

    v4 -> v5:
    Again per Nik's advise correct the bond_opts restrictions for arp_validate
    - set it the same as arp_interval.

    v3 -> v4:
    Per Nikolay's advise, remove the new bond_opts restriction on modes setting
    for arp_validate.

    v2 -> v3:
    Per Jay's advise, use the 'filter' keyword instead of 'arp' one, and use
    his text for documentation. Also, rebase on the latest net-next. Sorry for
    the delay, didn't manage to send it before net-next was closed.

    v1 -> v2:
    Don't remove the 'all traffic' functionality - rather, add new arp_validate
    options to specify that we want *only* unvalidated arps.

    Currently, if arp_validate is off (0), slave_last_rx() returns the
    slave->dev->last_rx, which is always updated on *any* packet received by
    slave, and not only arps. This means that, if the validation of arps is
    off, we're treating *any* incoming packet as a proof of slave being up, and
    not only arps.

    This might seem logical at the first glance, however it can cause a lot of
    troubles and false-positives, one example would be:

    The arp_ip_target is NOT accessible, however someone in the broadcast domain
    spams with any broadcast traffic. This way bonding will be tricked that the
    slave is still up (as in - can access arp_ip_target), while it's not.

    The net_device->last_rx is already used in a lot of drivers (even though the
    comment states to NOT do it :)), and it's also ugly to modify it from bonding.

    However, some loadbalance setups might rely on the fact that even non-arp
    traffic is a sign of slave being up - and we definitely can't break anyones
    config - so an extension to arp_validate is needed.

    So, to fix this, add an option for the user to specify if he wants to
    filter out non-arp traffic on unvalidated slaves, remove the last_rx from
    bonding, *always* call bond_arp_rcv() in slave's rx_handler (which is
    bond_handle_frame), and if we spot an arp there with this option on - update
    the slave->last_arp_rx - and use it instead of net_device->last_rx. Finally,
    rename last_arp_rx to last_rx to reflect the changes.

    Also rename slave->jiffies to ->last_link_up, to reflect better its
    meaning, add the new option's documentation and update the arp_validate one
    to be a bit more descriptive.
    ====================

    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    David S. Miller
     
  • To reflect the new meaning.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • slave->jiffies is updated every time the slave becomes active, which, for
    bonding, means that its link is 'up'.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Now that all the logic is handled via last_arp_rx, we don't need to use
    last_rx.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    CC: "David S. Miller"
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Now that last_arp_rx correctly show the last time we've received an ARP, we
    can use it safely instead of slave->dev->last_rx.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Now that last_arp_rx really has the last time we've received any (validated or
    not) ARP, we can use it in slave_last_rx() instead of slave->dev->last_rx.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Now that the options are in place - arp_validate can be set to receive all
    the traffic or only arp packets to verify if the slave is up, when the
    slave isn't validated.

    CC: Rob Landley
    CC: "David S. Miller"
    CC: Nikolay Aleksandrov
    CC: Ding Tianhong
    CC: Neil Horman
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Currently we can either receive any traffic as a proff of slave being up,
    or only *validated* arp traffic (i.e. with src/dst ip checked).

    Add an option to be able to specify if we want to receive non-validated arp
    traffic only.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Currently we only set bond_arp_rcv() if we're using arp_validate, however
    this makes us skip updating last_arp_rx if we're not validating incoming
    ARPs - thus, if arp_validate is off, last_arp_rx will never be updated.

    Fix this by always setting up recv_probe = bond_arp_rcv, even if we're not
    using arp_validate.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Currently we're updating the last_arp_rx only when we've validate the
    packet, however afterwards we use it as 'ANY last packet received', but not
    only validated ARPs.

    Fix this by updating it in case of any packet received. It won't break the
    arp_validation=0 because we, anyway, return the correct slave->dev->last_rx in
    slave_last_rx().

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Currently it's disabled because it's sometimes hard, in typical configs, to
    make it work - because of the nature how the loadbalance modes work - as
    it's hard to deliver valid arp replies to correct slaves by the switch.

    However we still can use arp_validation in loadbalance with several other
    configs, per example with arp_validate == 2 for backup with one broadcast
    domain, without the switch(es) doing any balancing - this way we'd be (a
    bit more) sure that the slave is up.

    So, enable it to let users decide which one works/suits them best. Also
    correct the mode limitation from BOND_OPT_ARP_VALIDATE.

    CC: Nikolay Aleksandrov
    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Acked-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • We're always called with rcu_read_lock() held (bond_arp_rcv() is only
    called from bond_handle_frame(), which is rx_handler and always called
    under rcu from __netif_receive_skb_core() ).

    The slave active/passive and/or bonding params can change in-flight, however
    we don't really care about that - we only modify the last time packet was
    received, which is harmless.

    CC: Jay Vosburgh
    CC: Andy Gospodarek
    Signed-off-by: Veaceslav Falico
    Acked-by: Ding Tianhong
    Signed-off-by: David S. Miller

    Veaceslav Falico
     
  • Hayes Wang says:

    ====================
    r8152: improvement and new features

    Change some flows or behavior to improve the efficiency or make the
    code readable. Besides, support WOL and runtime suspend.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Support get_msglevel and set_msglevel.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Set disable_hub_initiated_lpm = 1.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Replace netif_rx with netif_receive_skb to avoid disabling irq frequently
    for increasing the efficiency.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Disable teredo for RTL8152 by default.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Support runtime suspend for RTL8152 and RTL8153.

    Move tx_bottom() from tasklet to delayed_work. That avoids to
    transmit tx packets after calling autosuspend.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Support WOL for RTL8152 and RTL8153.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Add up method for rtl_ops and asign relative functions. Move
    clear_bp() and hw_phy_cfg() from init method to up method of rtl_ops.
    Call rtl_ops.up() for ndo_open() and rtl_ops.down for ndo_stop().

    Replace allocating the memory in probe() with in ndo_open().

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • PHY reset is necessary after some hw settings. However, it would
    cause the linking down, and so does the set_speed function. Combine
    the PHY reset with set_speed function. That could reduce the frequency
    of linking down and accessing the PHY register.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Modify the method of enabling the PHY to clear BMCR_PDOWN only.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Replace getting one item from a list with getting the whole list one time.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Except for RTL_VER_01, replace loading the MAC address from PLA_IDR
    with from PLA_BACKUP. The default MAC address may be modified by
    the other OS, so the PLA_IDR may be not the default MAC address.

    The data in the PLA_BACKUP address of the RTL_VER_01 may be destoryed,
    so load MAC address from PLA_IDR for RTL_VER_01.

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Modify the following functions.
    - r8153_u1u2en
    - r8153_u2p3en
    - r8153_power_cut_en

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Replace some codes with the following three functions.
    - rtl_drop_queued_tx
    - rxdy_gated_en
    - r8152_power_cut_en

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Move the following functions which is for the further coding.
    - rtl_clear_bp
    - r8153_clear_bp
    - r8153_teredo_off
    - r8152b_disable_aldps
    - r8152b_enable_aldps
    - r8152b_hw_phy_cfg

    Signed-off-by: Hayes Wang
    Signed-off-by: David S. Miller

    hayeswang
     
  • Hariprasad Shenai says:

    ====================
    Adds support for Chelsio T5 40G adapter and Misc. fixes

    This patch series adds support for Chelsio T5 40G adapters and provides
    miscelleneous fixes for cxgb4 driver.

    It also adds device ids of two new T5 adapters.

    We would like to request this patch series to get merged via David Miller's
    'net-next' tree.

    We have included all the maintainers of respective drivers. Kindly review the
    change and let us know in case of any review comments.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: Hariprasad Shenai
    Signed-off-by: David S. Miller

    Hariprasad Shenai
     
  • Also, modify is_eth_imm() to return header length so it doesn't
    have to be recomputed in calc_tx_flits().

    Based on original work by Mike Werner

    Signed-off-by: Kumar Sanghvi
    Signed-off-by: David S. Miller

    Kumar Sanghvi
     
  • Remove unused registers for registers list, and add missing ones
    Based on original work by Santosh Rastapur

    Signed-off-by: Kumar Sanghvi
    Signed-off-by: David S. Miller

    Kumar Sanghvi