1. 10 4月, 2015 2 次提交
    • A
      mlx4/mlx5: Use dma_wmb/rmb where appropriate · 12b3375f
      Alexander Duyck 提交于
      This patch should help to improve the performance of the mlx4 and mlx5 on a
      number of architectures.  For example, on x86 the dma_wmb/rmb equates out
      to a barrer() call as the architecture is already strong ordered, and on
      PowerPC the call works out to a lwsync which is significantly less expensive
      than the sync call that was being used for wmb.
      
      I placed the new barriers between any spots that seemed to be trying to
      order memory/memory reads or writes, if there are any spots that involved
      MMIO I left the existing wmb in place as the new barriers cannot order
      transactions between coherent and non-coherent memories.
      
      v2: Reduced the replacments to just the spots where I could clearly
          identify the usage pattern.
      
      Cc: Amir Vadai <amirv@mellanox.com>
      Cc: Ido Shamay <idos@mellanox.com>
      Cc: Eli Cohen <eli@mellanox.com>
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      12b3375f
    • A
      cxgb3/4/4vf: Update drivers to use dma_rmb/wmb where appropriate · 019be1cf
      Alexander Duyck 提交于
      Update the Chelsio Ethernet drivers to use the dma_rmb/wmb calls instead of
      the full barriers in order to improve performance.
      
      Cc: Santosh Raspatur <santosh@chelsio.com>
      Cc: Hariprasad S <hariprasad@chelsio.com>
      Cc: Casey Leedom <leedom@chelsio.com>
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      019be1cf
  2. 09 4月, 2015 13 次提交
  3. 08 4月, 2015 7 次提交
  4. 07 4月, 2015 3 次提交
  5. 04 4月, 2015 2 次提交
    • S
      mvneta: implement SGMII-based in-band link state signaling · 898b2970
      Stas Sergeev 提交于
      When MDIO bus is unavailable (common setup for SGMII), the in-band
      signaling must be used to correctly track link state.
      This patch enables the in-band status delivery for link state changes, namely:
      - link up/down
      - link speed
      - duplex full/half
      fixed_phy_update_state() is used to update phy status.
      
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      CC: Florian Fainelli <f.fainelli@gmail.com>
      CC: netdev@vger.kernel.org
      CC: linux-kernel@vger.kernel.org
      Signed-off-by: NStas Sergeev <stsp@users.sourceforge.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      898b2970
    • S
      add fixed_phy_update_state() - update state of fixed_phy · a3bebdce
      Stas Sergeev 提交于
      Currently fixed_phy uses a callback to periodically poll the link state.
      This patch adds the fixed_phy_update_state() API.
      It solves the following problems:
      - On link state interrupt, MAC driver can't update status.
      Instead it needs to provide the callback to periodically query
      the HW about the link state. It is more efficient to update status
      after interrupt.
      - The callback needs to be unregistered before phy_disconnect(),
      or otherwise it will be called with net_dev==NULL. phy_disconnect()
      does not have enough info to unregister the callback automatically.
      - The callback needs to be registered before of_phy_connect() to
      avoid running with outdated state, but of_phy_connect() returns the
      phy_device pointer, which is needed to register the callback. Registering
      it before of_phy_connect() will therefore require a hack to get the
      pointer earlier.
      
      Overall, this addition makes the subsequent patch that implements
      SGMII link status for mvneta, much cleaner.
      
      CC: Florian Fainelli <f.fainelli@gmail.com>
      CC: netdev@vger.kernel.org
      CC: linux-kernel@vger.kernel.org
      Signed-off-by: NStas Sergeev <stsp@users.sourceforge.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3bebdce
  6. 03 4月, 2015 13 次提交