1. 01 Jul, 2012 1 commit
    • Giuseppe CAVALLARO's avatar
      stmmac: add the Energy Efficient Ethernet support · d765955d
      Giuseppe CAVALLARO authored
      
      
      This patch adds the Energy Efficient Ethernet support to the stmmac.
      
      Please see the driver's documentation for further details about this support
      in the driver.
      
      Thanks also goes to Rayagond Kokatanur for his first implementation.
      
      Note:
       to clearly manage and expose the lpi interrupt status and eee ethtool
       stats I've had to do some modifications to the driver's design and I
       found really useful to move other parts of the code (e.g. mmc irq stat)
       in the main directly. So this means that some core has been reworked
       to introduce the EEE.
      
      v1: initial patch
      v2: fixed some sparse issues (typos)
      v3: erroneously sent the v2 renamed as v3
      v4:
      	o Fixed the return value of the stmmac_eee_init as suggested by D.Miller
      	o Totally reviewed the ethtool support for EEE
      	o Added a new internal parameter to tune the SW timer for TX LPI.
      v5: do not change any eee setting in case of the stmmac_ethtool_op_set_eee fails
          (it has to return -EOPNOTSUPP in that case).
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d765955d
  2. 04 Apr, 2012 1 commit
  3. 15 Feb, 2012 1 commit
  4. 05 Jan, 2012 1 commit
  5. 17 Nov, 2011 1 commit
    • Giuseppe CAVALLARO's avatar
      stmmac: parameters auto-tuning through HW cap reg · 19e30c14
      Giuseppe CAVALLARO authored
      
      
      New GMAC devices (newer than the databook 3.50a) have the
      HW capability register that provides which features are actually
      supported by the hardware.
      
      On old devices many information have to be passed through the
      platform, for example: enhanced descriptor structure,
      TX COE etc. These are mandatory to properly configure the driver.
      This remains still valid because the driver has to support old
      Synopsys devices but now it's also able to override them using the
      values from the HW capability register if supported.
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      19e30c14
  6. 16 Nov, 2011 1 commit
  7. 28 Oct, 2011 1 commit
    • Giuseppe CAVALLARO's avatar
      stmmac: update normal descriptor structure (v2) · 3c20f72f
      Giuseppe CAVALLARO authored
      
      
      This patch updates the normal descriptor structure
      to work fine on new GMAC Synopsys chips.
      
      Normal descriptors were designed on the old MAC10/100
      databook 1.91 where some bits were reserved: for example
      the tx checksum insertion and rx checksum offload.
      
      The patch maintains the back-compatibility with old
      MAC devices (tested on STx7109 MAC10/100) and adds new
      fields that actually new GMAC devices can use.
      
      For example, STx7109 (MAC10/100) will pass from the platform
        tx_coe = 0, enh_desc = 0, has_gmac = 0.
      A platform like Loongson1B (GMAC) will pass:
        tx_coe = 1, enh_desc = 0, has_gmac = 1.
      
      Thanks to Kelvin, he enhanced the normal descriptors for
      GMAC (on MIPS Loongson1B platform).
      Signed-off-by: default avatarKelvin Cheung <keguang.zhang@gmail.com>
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3c20f72f
  8. 19 Oct, 2011 1 commit
  9. 15 Sep, 2011 2 commits
  10. 11 Aug, 2011 1 commit
  11. 22 Jun, 2011 1 commit
    • Alexey Dobriyan's avatar
      net: remove mm.h inclusion from netdevice.h · b7f080cf
      Alexey Dobriyan authored
      
      
      Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually).
      
      To prevent mm.h inclusion via other channels also extract "enum dma_data_direction"
      definition into separate header. This tiny piece is what gluing netdevice.h with mm.h
      via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h".
      Removal of mm.h from scatterlist.h was tried and was found not feasible
      on most archs, so the link was cutoff earlier.
      
      Hope people are OK with tiny include file.
      
      Note, that mm_types.h is still dragged in, but it is a separate story.
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7f080cf
  12. 07 Jun, 2011 1 commit
  13. 13 May, 2011 2 commits
  14. 29 Apr, 2011 1 commit
    • David Decotigny's avatar
      ethtool: Call ethtool's get/set_settings callbacks with cleaned data · 8ae6daca
      David Decotigny authored
      
      
      This makes sure that when a driver calls the ethtool's
      get/set_settings() callback of another driver, the data passed to it
      is clean. This guarantees that speed_hi will be zeroed correctly if
      the called callback doesn't explicitely set it: we are sure we don't
      get a corrupted speed from the underlying driver. We also take care of
      setting the cmd field appropriately (ETHTOOL_GSET/SSET).
      
      This applies to dev_ethtool_get_settings(), which now makes sure it
      sets up that ethtool command parameter correctly before passing it to
      drivers. This also means that whoever calls dev_ethtool_get_settings()
      does not have to clean the ethtool command parameter. This function
      also becomes an exported symbol instead of an inline.
      
      All drivers visible to make allyesconfig under x86_64 have been
      updated.
      Signed-off-by: default avatarDavid Decotigny <decot@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ae6daca
  15. 13 Apr, 2011 1 commit
  16. 11 Apr, 2011 1 commit
  17. 06 Dec, 2010 1 commit
  18. 24 Nov, 2010 1 commit
  19. 17 Oct, 2010 1 commit
  20. 16 Oct, 2010 1 commit
  21. 25 Sep, 2010 1 commit
  22. 17 Sep, 2010 1 commit
    • Giuseppe CAVALLARO's avatar
      stmmac: consolidate and tidy-up the COE support · ebbb293f
      Giuseppe CAVALLARO authored
      
      
      The first version of the driver had hard-coded the logic
      for handling the checksum offloading.
      This was designed according to the chips included in
      the STM platforms where:
      o MAC10/100 supports no COE at all.
      o GMAC fully supports RX/TX COE.
      
      This is not good for other chip configurations where,
      for example, the mac10/100 supports the tx csum in HW
      or when the GMAC has no IPC.
      
      Thanks to Johannes Stezenbach; he provided me a first
      draft of this patch that only reviewed the IPC for the
      GMAC devices.
      
      This patch also helps on SPEAr platforms where the
      MAC10/100 can perform the TX csum in HW.
      Thanks to Deepak SIKRI for his support on this.
      
      In the end, GMAC devices for STM platforms have
      a bugged Jumbo frame support that needs to have
      the Tx COE disabled for oversized frames (due to
      limited buffer sizes). This information is also
      passed through the driver's platform structure.
      Signed-off-by: default avatarGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: default avatarJohannes Stezenbach <js@sig21.net>
      Signed-off-by: default avatarDeepak SIKRI <deepak.sikri@st.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ebbb293f
  23. 25 Aug, 2010 1 commit
  24. 14 May, 2010 1 commit
    • Joe Perches's avatar
      drivers/net: Remove unnecessary returns from void function()s · a4b77097
      Joe Perches authored
      
      
      This patch removes from drivers/net/ all the unnecessary
      return; statements that precede the last closing brace of
      void functions.
      
      It does not remove the returns that are immediately
      preceded by a label as gcc doesn't like that.
      
      It also does not remove null void functions with return.
      
      Done via:
      $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \
        xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }'
      
      with some cleanups by hand.
      
      Compile tested x86 allmodconfig only.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a4b77097
  25. 04 Feb, 2010 1 commit
  26. 08 Jan, 2010 2 commits
  27. 14 Oct, 2009 1 commit