e1000e: allow for swflag to be held over consecutive PHY accesses
authorBruce Allan <bruce.w.allan@intel.com>
Mon, 26 Oct 2009 11:24:02 +0000 (11:24 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Oct 2009 23:16:25 +0000 (16:16 -0700)
commit5ccdcecb72692d46d7a9264e62751241c7eca559
treec82d7487a41fed230234578f1ddbe1b35ea59e5e
parentca15df58b1b98f073393eef3704674b45d1cb474
e1000e: allow for swflag to be held over consecutive PHY accesses

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: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/e1000.h
drivers/net/e1000e/hw.h
drivers/net/e1000e/ich8lan.c
drivers/net/e1000e/phy.c