1. 27 Aug, 2013 4 commits
    • Ben Hutchings's avatar
      sfc: Delegate MAC/NIC statistic description to efx_nic_type · cd0ecc9a
      Ben Hutchings authored
      Various hardware statistics that are available for Siena are
      unavailable or meaningless for Falcon.  Huntington adds further to the
      NIC-type-specific statistics, as it has different MAC blocks from
      Falcon/Siena.
      
      All NIC types still provide most statistics by DMA, and use
      little-endian byte order.
      
      Therefore:
      1. Add some general utility functions for reporting hardware statistics,
         efx_nic_describe_stats() and efx_nic_update_stats().
      2. Add an efx_nic_type::describe_stats operation to get the number and
         names of statistics, implemented using efx_nic_describe_stats()
      3. Change efx_nic_type::update_stats to store the core statistics
         (struct rtnl_link_stats64) or full statistics (array of u64) in a
         caller-provided buffer.  Use efx_nic_update_stats() to aid in the
         implementation.
      4. Rename struct efx_ethtool_stat to struct efx_sw_stat_desc and
         EFX_ETHTOOL_NUM_STATS to EFX_ETHTOOL_SW_STAT_COUNT.
      5. Remove efx_nic::mac_stats and struct efx_mac_stats.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      cd0ecc9a
    • Ben Hutchings's avatar
      sfc: Remove driver-local struct ethtool_string · b681e57c
      Ben Hutchings authored
      It's not really helpful to pretend ethtool string arrays are
      structured.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      b681e57c
    • Ben Hutchings's avatar
      sfc: Remove more left-overs from Falcon GMAC support · e5136124
      Ben Hutchings authored
      We only ever used the XMAC (10G link speed) in production.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      e5136124
    • Ben Hutchings's avatar
      sfc: Move MTD operations into efx_nic_type · 45a3fd55
      Ben Hutchings authored
      Merge the per-NIC-type MTD probe selection and struct efx_mtd_ops into
      struct efx_nic_type.  Move the implementations into the appropriate
      source files.
      
      Several NVRAM functions are now only called from MTD operations which
      are now implemented in the same file (falcon.c or mcdi.c).  There is no
      need for them to be extern, or to be defined at all if CONFIG_SFC_MTD
      is not enabled, so move them into the #ifdef CONFIG_SFC_MTD sections
      in those files.
      
      Most of the SPI-related definitions are also only used in falcon.c,
      so move them there.  Put the remainder of spi.h into nic.h (which
      previously included it).
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      45a3fd55
  2. 22 Aug, 2013 14 commits
  3. 21 Aug, 2013 22 commits