1. 09 8月, 2017 1 次提交
  2. 30 4月, 2017 1 次提交
  3. 25 2月, 2016 1 次提交
  4. 13 12月, 2015 1 次提交
  5. 03 6月, 2015 1 次提交
  6. 24 2月, 2015 1 次提交
  7. 27 5月, 2014 1 次提交
    • D
      e1000e: Failure to write SHRA turns on PROMISC mode · b3e5bf1f
      David Ertman 提交于
      Previously, the check to turn on promiscuous mode only took into account
      the total number of SHared Receive Address (SHRA) registers and if the
      request was for a register within that range.  It is possible that the
      Management Engine might have locked a number of SHRA and not allowed a
      new address to be written to the requested register.
      
      Add a function to determine the number of unlocked SHRA registers.  Then
      determine if the number of registers available is sufficient for our needs,
      if not then return -ENOMEM so that UNICAST PROMISC mode is activated.
      
      Since the method by which ME claims SHRA registers is non-deterministic,
      also add a return value to the function attempting to write an address
      to a SHRA, and return a -E1000_ERR_CONFIG if the write fails.  The error
      will be passed up the function chain and allow the driver to also set
      UNICAST PROMISC when this happens.
      
      Cc: Vlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDave Ertman <davidx.m.ertman@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b3e5bf1f
  8. 08 3月, 2014 2 次提交
    • D
      e1000e: Feature Enable PHY Ultra Low Power Mode (ULP) · 74f350ee
      David Ertman 提交于
      ULP is a power saving feature that reduces the power consumption of the
      PHY when a cable is not connected.
      
      ULP is gated on the following conditions:
      1) The hardware must support ULP.  Currently this is only I218
         devices from Intel
      2) ULP is initiated by the driver, so, no driver results in no ULP.
      3) ULP's implementation utilizes Runtime Power Management to toggle its
         execution.  ULP is enabled/disabled based on the state of Runtime PM.
      4) ULP is not active when wake-on-unicast, multicast or broadcast is active
         as these features are mutually-exclusive.
      
      Since the PHY is in an unavailable state while ULP is active, any access
      of the PHY registers will fail.  This is resolved by utilizing kernel
      calls that cause the device to exit Runtime PM (e.g. pm_runtime_get_sync)
      and then, after PHY access is complete,  allow the device to resume
      Runtime PM (e.g. pm_runtime_put_sync).
      
      Under certain conditions, toggling the LANPHYPC is necessary to disable
      ULP mode.  Break out existing code to toggle LANPHYPC to a new function
      to avoid code duplication.
      Signed-off-by: NDave Ertman <davidx.m.ertman@intel.com>
      Cc: Bruce Allan <bruce.w.allan@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      74f350ee
    • D
      e1000e: Cleanup - Update GPL header and Copyright · e78b80b1
      David Ertman 提交于
      This patch is to update the GPL header by removing the portion that
      refers to the Free Software Foundation address.
      
      Change the copyright date for 2014.
      
      Reformat the header comments to conform to kernel networking coding norms
      Signed-off-by: NDave Ertman <davidx.m.ertman@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e78b80b1
  9. 22 8月, 2013 1 次提交
  10. 28 7月, 2013 2 次提交
  11. 21 5月, 2013 1 次提交
  12. 08 3月, 2013 2 次提交
  13. 05 2月, 2013 8 次提交
  14. 30 1月, 2013 1 次提交
    • B
      e1000e: enable ECC on I217/I218 to catch packet buffer memory errors · 28600304
      Bruce Allan 提交于
      In rare instances, memory errors have been detected in the internal packet
      buffer memory on I217/I218 when stressed under certain environmental
      conditions.  Enable Error Correcting Code (ECC) in hardware to catch both
      correctable and uncorrectable errors.  Correctable errors will be handled
      by the hardware.  Uncorrectable errors in the packet buffer will cause the
      packet to be received with an error indication in the buffer descriptor
      causing the packet to be discarded.  If the uncorrectable error is in the
      descriptor itself, the hardware will stop and interrupt the driver
      indicating the error.  The driver will then reset the hardware in order to
      clear the error and restart.
      
      Both types of errors will be accounted for in statistics counters.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Cc: <stable@vger.kernel.org> # 3.5.x & 3.6.x
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      28600304
  15. 28 1月, 2013 1 次提交
  16. 27 1月, 2013 4 次提交
  17. 18 1月, 2013 2 次提交
  18. 16 1月, 2013 1 次提交
  19. 01 12月, 2012 1 次提交
  20. 09 10月, 2012 1 次提交
  21. 04 5月, 2012 1 次提交
  22. 02 5月, 2012 2 次提交
    • B
      e1000e: fix .ndo_set_rx_mode for 82579 · 69e1e019
      Bruce Allan 提交于
      Secondary unicast and multicast addresses are added to the Receive
      Address registers (RAR) for most parts supported by the driver.  For
      82579, there is only one actual RAR and a number of Shared Receive Address
      registers (SHRAR) that are shared among the driver and f/w which can be
      reserved and write-protected by the f/w.  On this device, use the SHRARs
      that are not taken by f/w for the additional addresses.
      
      Add a MAC ops function pointer infrastructure (similar to other MAC
      operations in the driver) for setting RARs, introduce a new rar_set
      function for 82579 and convert the existing code that sets RARs on other
      devices to a generic rar_set function.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      69e1e019
    • B
      e1000e: workaround EEPROM configuration change on 82579 · 62bc813e
      Bruce Allan 提交于
      An update to the EEPROM on 82579 will extend a delay in hardware to fix an
      issue with WoL not working after a G3->S5 transition which is unrelated to
      the driver.  However, this extended delay conflicts with nominal operation
      of the device when it is initialized by the driver and after every reset
      of the hardware (i.e. the driver starts configuring the device before the
      hardware is done with it's own configuration work).  The workaround for
      when the driver is in control of the device is to tell the hardware after
      every reset the configuration delay should be the original shorter one.
      
      Some pre-existing variables are renamed generically to be re-used with
      new register accesses.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      62bc813e
  23. 27 4月, 2012 1 次提交
    • B
      e1000e: 82579 potential system hang on stress when ME enabled · bdc125f7
      Bruce Allan 提交于
      Previously, a workaround was added to address a hardware bug in the
      PCIm2PCI arbiter where a write by the driver of the Transmit/Receive
      Descriptor Tail register could happen concurrently with a write of any
      MAC CSR register by the Manageability Engine (ME) which could cause the
      Tail register to have an incorrect value.  The arbiter is supposed to
      prevent the concurrent writes but there is a bug that can cause the Host
      (driver) access to be acknowledged later than it should.
      After further investigation, it was discovered that a driver write access
      of any MAC CSR register after being idle for some time can be lost when
      ME is accessing a MAC CSR register.  When this happens, no further target
      access is claimed by the MAC which could hang the system.
      The workaround to check bit 24 in the FWSM register (set only when ME is
      accessing a MAC CSR register) and delay for a limited amount of time until
      it is cleared is now done for all driver writes of MAC CSR registers on
      82579 with ME enabled.  In the rare case when the driver is writing the
      Tail register and ME is accessing any MAC CSR register for a duration
      longer than the maximum delay, write the register and verify it has the
      correct value before continuing, otherwise reset the device.
      
      This patch also moves some pre-existing macros from the hardware-specific
      header file to the more appropriate generic driver header file.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      bdc125f7
  24. 04 4月, 2012 1 次提交
  25. 25 2月, 2012 1 次提交