1. 27 6月, 2016 15 次提交
    • T
      net/mlx5e: CQE based moderation · 9908aa29
      Tariq Toukan 提交于
      In this mode the moderation timer will restart upon
      new completion (CQE) generation rather than upon interrupt
      generation.
      
      The outcome is that for bursty traffic the period timer will never
      expire and thus only the moderation frames counter will dictate
      interrupt generation, thus the interrupt rate will be relative
      to the incoming packets size.
      If the burst seizes for "moderation period" time then an interrupt
      will be issued immediately.
      
      CQE based moderation is off by default and can be controlled
      via ethtool set_priv_flags.
      
      Performance tested on ConnectX4-Lx 50G.
      
      Less packet loss in netperf UDP and TCP tests, with no bw degradation,
      for both single and multi streams, with message sizes of
      64, 1024, 1472 and 32768 byte.
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NAchiad Shochat <achiad@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Signed-off-by: NGil Rockah <gilr@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9908aa29
    • G
      net/mlx5e: Introduce net device priv flags infrastructure · 4e59e288
      Gal Pressman 提交于
      Introduce an infrastructure for getting/setting private net device
      flags.
      
      Currently a 'nop' priv flag is added, following patches will override
      the flag will actual feature specific flags.
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e59e288
    • Y
      net/mlx5e: Add TXQ set max rate support · 507f0c81
      Yevgeny Petrilin 提交于
      Implement set_maxrate ndo.
      Use the rate index from the hardware table to attach to channel SQ/TXQ.
      In case of failure to configure new rate, the queue remains with
      unlimited rate.
      
      We save the configuration on priv structure and apply it each time
      Send Queues are being reinitialized (after open/close) operations.
      Signed-off-by: NYevgeny Petrilin <yevgenyp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      507f0c81
    • Y
      net/mlx5: Rate limit tables support · 1466cc5b
      Yevgeny Petrilin 提交于
      Configuring and managing HW rate limit tables.
      The HW holds a table of rate limits, each rate is
      associated with an index in that table.
      Later a Send Queue uses this index to set the rate limit.
      Multiple Send Queues can have the same rate limit, which is
      represented by a single entry in this table.
      Even though a rate can be shared, each queue is being rate
      limited independently of others.
      
      The SW shadow of this table holds the rate itself,
      the index in the HW table and the refcount (number of queues)
      working with this rate.
      
      The exported functions are mlx5_rl_add_rate and mlx5_rl_remove_rate.
      Number of different rates and their values are derived
      from HW capabilities.
      Signed-off-by: NYevgeny Petrilin <yevgenyp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1466cc5b
    • D
      Merge branch 'be2net-next' · f1eecb7e
      David S. Miller 提交于
      Sathya Perla says:
      
      ====================
      be2net: patch set
      
      Hi Dave, pls consider commiting the following patches to the net-next tree.
      Thanks!
      
      Patch 1 replaces the be_max_eqs() macro with two new macros called
      be_max_nic_eqs() and be_max_func_eqs() to clear confusion in that part
      of the code.
      
      Patch 2 adds support to configure asymmetric number of rx/tx queues via
      ethtool set-channels option.
      
      Patch 3 disables EVB when VFs are not enabled on a BE3 SR-IOV config to
      avoid the broadcast echo problem.
      
      Patch 4 updates copyright markings in be2net src files
      
      Patch 5 updates the be2net maintainers' list
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f1eecb7e
    • S
      be2net: update be2net maintainers list · d2ee76fa
      Sathya Perla 提交于
      This patch removes Padmanabh's name from the maintainers list as he's no
      longer with the company. It also adds the driver name on the headline to
      make it easy to lookup the maintainers list by the driver name.
      Signed-off-by: NSathya Perla <sathya.perla@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d2ee76fa
    • S
      be2net: Change copyright markings in source files · 7dfbe7d7
      Somnath Kotur 提交于
      This patch updates year and company name in the copyright markings in the
      be2net source files.
      Signed-off-by: NSomnath Kotur <somnath.kotur@emulex.com>
      Signed-off-by: NSathya Perla <sathya.perla@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7dfbe7d7
    • S
      be2net: Fix broadcast echoes from EVB in BE3 · 884476be
      Somnath Kotur 提交于
      On SR-IOV profiles, when the user connects a Linux Bridge or OVS to a BE3
      vport, they suffer the "broadcast/multicast echo" problem. BE3 EVB echoes
      broadcast and multicast packets back to PF's vport confusing the
      Linux bridge.  BE3 relies on the src-mac addr being programmed on the
      interface to avoid sending back an echo of a broadcast or multicast packet
      on a vPort. When a Linux bridge is connected to a BE3, the mac-addr of the
      VM behind the bridge doesn't get configured on the vPort and so echo
      cancellation doesn't work.
      This patch worksaround this problem by disabling the EVB initially
      and re-enabling it *only* when SR-IOV is enabled by the user. For the
      driver fix to work, the BE3 FW version must be >= 11.1.84.0.
      Signed-off-by: NSomnath Kotur <somnath.kotur@emulex.com>
      Signed-off-by: NSathya Perla <sathya.perla@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      884476be
    • S
      be2net: support asymmetric rx/tx queue counts · e261768e
      Sathya Perla 提交于
      be2net so far supported creation of RX/TX queues only in pairs.
      On configs where rx and tx queue counts are different, creation of only
      the lesser number of queues has been supported.
      
      This patch now allows a combination of RX/TX-only channels along with
      combined channels. N TX-queues and M RX-queues can be created with the
      following cmds:
      ethtool -L ethX combined N rx M-N  (when N < M)
      ethtool -L ethX combined M tx N-M (when M < N)
      
      Setting both RX-only and TX-only channels is still not supported.
      It is mandatory to create atleast one combined channel.
      Signed-off-by: NSathya Perla <sathya.perla@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e261768e
    • S
      be2net: fix definition of be_max_eqs() · ce7faf0a
      Sathya Perla 提交于
      The EQs available on a function are shared between NIC and RoCE.
      The be_max_eqs() macro was so far being used to refer to the max number of
      EQs available for NIC. This has caused some confusion in the code. To fix
      this confusion this patch introduces a new macro called be_max_nic_eqs()
      to refer to the max number of EQs avialable for NIC only and renames
      be_max_eqs() to be_max_func_eqs().
      Signed-off-by: NSathya Perla <sathya.perla@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ce7faf0a
    • D
      Merge branch 'fec-new-type-device' · 4c88aaf3
      David S. Miller 提交于
      Andy Duan says:
      
      ====================
      net: fec: add new type device
      
      Different i.MX SOC FEC support different features like :
          - i.MX6Q/DL FEC does not support AVB and interrupt coalesc
          - i.MX6SX/i.MX7D supports AVB and interrupt coalesc
          - i.MX6UL/ULL does not support AVB, but support interrupt coalesc
      
      Then, add new quirk flag to judge the supported features, and add new
      type device for i.MX6UL.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4c88aaf3
    • F
      net: fec: use a more proper compatible string for i.MX6UL type device · a51d3ab5
      Fugang Duan 提交于
      i.MX6UL is a member in i.MX series family, the SOC FEC inherits from
      i.MX6SX but removes some IP features, lets define a new type for fec
      device.
      Signed-off-by: NFugang Duan <fugang.duan@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a51d3ab5
    • F
      net: fec: add interrupt coalesc quirk flag · ff7566b8
      Fugang Duan 提交于
      Different i.MX SOC FEC support different features like :
      - i.MX6Q/DL FEC does not support AVB and interrupt coalesc
      - i.MX6SX/i.MX7D supports AVB and interrupt coalesc
      - i.MX6UL/ULL does not support AVB, but support interrupt coalesc
      
      So, add new quirk flag to judge the supported features.
      Signed-off-by: NFugang Duan <fugang.duan@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff7566b8
    • D
      Merge tag 'rxrpc-rewrite-20160622-2' of... · 2b7c4f7a
      David S. Miller 提交于
      Merge tag 'rxrpc-rewrite-20160622-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
      
      David Howells says:
      
      ====================
      rxrpc: Get rid of conn bundle and transport structs
      
      Here's the next part of the AF_RXRPC rewrite.  The primary purpose of this
      set is to get rid of the rxrpc_conn_bundle and rxrpc_transport structs.
      This simplifies things for future development of the connection handling.
      
      To this end, the following significant changes are made:
      
       (1) The rxrpc_connection struct is given pointers to the local and peer
           endpoints, inside the rxrpc_conn_parameters struct.  Pointers to the
           transport's copy of these pointers are then redirected to the
           connection struct.
      
       (2) Exclusive connection handling is fixed.  Exclusive connections should
           do just one call and then be retired.  They are used in security
           negotiations and, I believe, the idea is to avoid reuse of negotiated
           security contexts.
      
           The current code is doing a single connection per socket and doing all
           the calls over that.  With this change it gets a new connection for
           each call made.
      
       (3) A new sendmsg() control message marker is added to make individual
           calls operate over exclusive connections.  This should be used in
           future in preference to the sockopt that marks a socket as "exclusive
           connection".
      
       (4) IDs for client connections initiated by a machine are now allocated
           from a global pool using the IDR facility and are unique across all
           client connections, no matter their destination.  The IDR facility is
           then used to look up a connection on the connection ID alone.  Other
           parameters are then verified afterwards.
      
           Note that the IDR facility may use a lot of memory if the IDs it holds
           are widely scattered.  Given this, in a future commit, client
           connections will be retired if they are more than a certain distance
           from the last ID allocated.
      
           The client epoch is advanced by 1 each time the client ID counter
           wraps.  Connections outside the current epoch will also be retired in
           a future commit.
      
       (5) The connection bundle concept is removed and the client connection
           tree is moved into the local endpoint.  The queue for waiting for a
           call channel is moved to the rxrpc_connection struct as there can only
           be one connection for any particular key going to any particular peer
           now.
      
       (6) The rxrpc_transport struct is removed and the service connection tree
           is moved into the peer struct.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b7c4f7a
    • X
      net: stmmac: dwmac-rk: add rk3228-specific data · e7ffd812
      Xing Zheng 提交于
      Add constants and callback functions for the dwmac on rk3228/rk3229 socs.
      As can be seen, the base structure is the same, only registers and the
      bits in them moved slightly.
      Signed-off-by: NXing Zheng <zhengxing@rock-chips.com>
      Reviewed-by: NHeiko Stuebner <heiko@sntech.de>
      Acked-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7ffd812
  2. 26 6月, 2016 21 次提交
  3. 25 6月, 2016 4 次提交