1. 16 Nov, 2016 6 commits
    • David S. Miller's avatar
      Merge branch 'sun4i-emac-big-endian' · 92547f2b
      David S. Miller authored
      Michael Weiser says:
      
      ====================
      sun4i-emac: Fixes for running a big-endian kernel on Cubieboard2
      
      the following patches are what remains to be fixed in order to allow running a
      big-endian kernel on the Cubieboard2.
      
      The first patch fixes up endianness problems with DMA descriptors in
      the stmmac driver preventing it from working correctly when runnning a
      big-endian kernel.
      
      The second patch adds the ability to enable diagnostic messages in the
      sun4i-emac driver which were instrumental in finding the problem fixed
      by patch number three: Endianness confusion caused by dual-purpose I/O
      register usage in sun4i-emac.
      
      All of these have been tested successfully on a Cubieboard2 DualCard.
      
      Changes since v4:
      - Rebased to current master
      - Removed already applied patches to sunxi-mmc and sunxi-Kconfig
      
      Changes since v3:
      - Rebased sunxi-mmc patch against Ulf's mmc.git/next
      - Changed Kconfig change to enable big-endian support only for sun7i
        devices
      
      Changes since v2:
      - Fixed typo in stmmac patch causing a build failure
      - Added sun4i-emac patches
      
      Changes since v1:
      - Fixed checkpatch niggles
      - Added respective Cc:s
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      92547f2b
    • Michael Weiser's avatar
      net: ethernet: sun4i-emac: Read rxhdr in CPU byte-order · 934d0048
      Michael Weiser authored
      The EMAC EMAC_RX_IO_DATA_REG data register is dual-purpose: On one hand
      it is used to move actual packet data off the wire. This will be in
      wire-format and accepted as such by higher layers such as IP. Therefore
      it is correctly read as-is (i.e. raw) using readsl.
      
      On the other hand it provides metadata about incoming transfers to the
      driver such as length and checksum validation status. This data is
      little-endian, always and it is interpreted by the driver. Therefore it
      needs to be swapped to CPU endianness to make sense to the driver. This
      is already done for the "receive header" but not rxhdr.
      
      Read rxhdr using readl in order for sun4i-emac to work correctly when
      running a big-endian kernel.
      Signed-off-by: default avatarMichael Weiser <michael.weiser@gmx.de>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      934d0048
    • Michael Weiser's avatar
      net: ethernet: sun4i-emac: Allow to enable netif messages · b8ca3387
      Michael Weiser authored
      sun4i-emac has the ability to print a number of diagnostic messages using
      dev_dbg depending on message level settings implemented using netif_msg_*
      macros. But there's no way to actually enable them.
      
      Add the ability to switch diagnostic messages on using either a module
      parameter debug or ethtool -s <netif> msglvl <flags>.
      Signed-off-by: default avatarMichael Weiser <michael.weiser@gmx.de>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b8ca3387
    • Michael Weiser's avatar
      net: ethernet: stmmac: change dma descriptors to __le32 · f8be0d78
      Michael Weiser authored
      The stmmac driver does not take into account the processor may be big
      endian when writing the DMA descriptors. This causes the ethernet
      interface not to be initialised correctly when running a big-endian
      kernel. Change the descriptors for DMA to use __le32 and ensure they are
      suitably swapped before writing. Tested successfully on the
      Cubieboard2.
      Signed-off-by: default avatarMichael Weiser <michael.weiser@gmx.de>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Alexandre Torgue <alexandre.torgue@st.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8be0d78
    • Florian Westphal's avatar
      dctcp: update cwnd on congestion event · 47805667
      Florian Westphal authored
      draft-ietf-tcpm-dctcp-02 says:
      
      ... when the sender receives an indication of congestion
      (ECE), the sender SHOULD update cwnd as follows:
      
               cwnd = cwnd * (1 - DCTCP.Alpha / 2)
      
      So, lets do this and reduce cwnd more smoothly (and faster), as per
      current congestion estimate.
      
      Cc: Lawrence Brakmo <brakmo@fb.com>
      Cc: Andrew Shewmaker <agshew@gmail.com>
      Cc: Glenn Judd <glenn.judd@morganstanley.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47805667
    • Florian Fainelli's avatar
      net: bcm63xx_enet: Fix build failure with phy_ethtool_nway_reset · 0fa1dfd6
      Florian Fainelli authored
      Introduced a typo making the driver no longer build, *sigh*.
      
      Fixes: 42469bf5 ("net: bcm63xx_enet: Utilize phy_ethtool_nway_reset")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fa1dfd6
  2. 15 Nov, 2016 34 commits