Skip to content
Snippets Groups Projects
  1. Jun 09, 2011
    • Bruce Allan's avatar
      e1000e: access multiple PHY registers on same page at the same time · 2b6b168d
      Bruce Allan authored
      
      Doing a PHY page select can take a long time, relatively speaking. This
      can cause a significant delay when updating a number of PHY registers on
      the same page by unnecessarily setting the page for each PHY access. For
      example when going to Sx, all the PHY wakeup registers (WUC, RAR[], MTA[],
      SHRAR[], IP4AT[], IP6AT[], etc.) on 82577/8/9 need to be updated which
      takes a long time which can cause issues when suspending.
      
      This patch introduces new PHY ops function pointers to allow callers to
      set the page directly and do any number of PHY accesses on that page.
      This feature is currently only implemented for 82577, 82578 and 82579
      PHYs for both the normally addressed registers as well as the special-
      case addressing of the PHY wakeup registers on page 800. For the latter
      registers, the existing function for accessing the wakeup registers has
      been divided up into three- 1) enable access to the wakeup register page,
      2) perform the register access and 3) disable access to the wakeup register
      page. The two functions that enable/disable access to the wakeup register
      page are necessarily available to the caller so that the caller can restore
      the value of the Port Control (a.k.a. Wakeup Enable) register after the
      wakeup register accesses are done.
      
      All instances of writing to multiple PHY registers on the same page are
      updated to use this new method and to acquire any PHY locking mechanism
      before setting the page and performing the register accesses, and release
      the locking mechanism afterward.
      
      Some affiliated magic number cleanup is done as well.
      
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Tested-by: default avatarJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      2b6b168d
  2. Apr 13, 2011
  3. Jan 24, 2011
  4. Jan 14, 2011
  5. Jan 10, 2011
  6. Dec 24, 2010
  7. Dec 10, 2010
  8. Nov 01, 2010
  9. Jun 18, 2010
  10. May 13, 2010
  11. Jan 13, 2010
  12. Dec 02, 2009
  13. Nov 21, 2009
  14. Nov 20, 2009
  15. Oct 29, 2009
  16. Oct 26, 2009
    • Bruce Allan's avatar
      e1000e: allow for swflag to be held over consecutive PHY accesses · 5ccdcecb
      Bruce Allan authored
      
      PCH-based parts (82577/82578) and some ICH8-based parts (82566) need to
      hold the swflag (sw/fw/hw hardware semaphore) over consecutive PHY accesses
      in order to perform sw-driven PHY configuration during initialization to
      workaround known hardware issues (see follow-on patch).  This patch
      provides new PHY read/write functions (and function pointers) that will
      allow accessing the PHY registers assuming the swflag has already been
      acquired.  The actual PHY register access code has moved into helper
      functions that are called with a flag indicating whether or not the swflag
      has already been acquired and acquires/releases it if not.
      
      The functions called from within the updated PHY access functions had to be
      updated to assume the swflag was already acquired, and other functions that
      called those functions were also updated to acquire/release the swflag.
      
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5ccdcecb
  17. Jul 03, 2009
  18. Jun 03, 2009
  19. Nov 21, 2008
  20. Sep 03, 2008
  21. May 06, 2008
    • Bruce Allan's avatar
      e1000e: Add support for BM PHYs on ICH9 · 97ac8cae
      Bruce Allan authored
      This patch adds support for the BM PHY, a new PHY model being used
      on ICH9-based implementations.
      
      This new PHY exposes issues in the ICH9 silicon when receiving
      jumbo frames large enough to use more than a certain part of the
      Rx FIFO, and this unfortunately breaks packet split jumbo receives.
      For this reason we re-introduce (for affected adapters only) the
      jumbo single-skb receive routine back so that people who do
      wish to use jumbo frames on these ich9 platforms can do so.
      Part of this problem has to do with CPU sleep states and to make
      sure that all the wake up timings are correctly we force them
      with the recently merged pm_qos infrastructure written by Mark
      Gross. (See http://lkml.org/lkml/2007/10/4/400
      
      ).
      
      To make code read a bit easier we introduce a _IS_ICH flag so
      that we don't need to do mac type checks over the code.
      
      Signed-off-by: default avatarBruce Allan <bruce.w.allan@intel.com>
      Signed-off-by: default avatarAuke Kok <auke-jan.h.kok@intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      97ac8cae
  22. Apr 25, 2008
Loading