linux_dsm_epyc7002/drivers/net/ethernet
Kamlakant Patel 769ce4c95e net/smsc911x: Fix ready check in cases where WORD_SWAP is needed
The chip ready check added by the commit 3ac3546e [Always wait for
the chip to be ready] does not work when the register read/write
is word swapped. This check has been added before the WORD_SWAP
register is programmed, so we need to check for swapped register
value as well.

Bit 16 is marked as RESERVED in SMSC datasheet, Steve Glendinning
<steve@shawell.net> checked with SMSC and wrote:

  The chip architects have concluded we should be reading PMT_CTRL
  until we see any of bits 0, 8, 16 or 24 set.  Then we should read
  BYTE_TEST to check the byte order is correct (as we already do).

  The rationale behind this is that some of the chip variants have
  word order swapping features too, so the READY bit could actually
  be in any of the 4 possible locations.  The architects have confirmed
  that if any of these 4 positions is set the chip is ready.  The other
  3 locations will either never be set or can only go high after READY
  does (so also indicate the device is ready).

This change will check for the READY bit at the 16th position. We do
not check the other two cases (bit 8 and 24) since the driver does not
support byte-swapped register read/write.

Signed-off-by: Kamlakant Patel <kamlakant.patel@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-14 21:50:10 -05:00
..
3com
8390
adaptec
adi
aeroflex
alteon
amd
apple
atheros
broadcom net: bnx2x: Fix typo in bnx2x driver 2012-11-03 15:31:23 -04:00
brocade
cadence
calxeda
chelsio cxgb4: Fix initialization of SGE_CONTROL register 2012-11-07 19:02:19 -05:00
cirrus
cisco
davicom
dec
dlink
emulex be2net: Remove code that stops further access to BE NIC based on UE bits 2012-10-09 13:54:59 -04:00
faraday
freescale gianfar: ethernet vanishes after restoring from hibernation 2012-11-09 17:08:36 -05:00
fujitsu
hp
i825xx
ibm
icplus
intel ixgbe: PTP get_ts_info missing software support 2012-11-01 11:22:34 -04:00
marvell drivers/net: use tasklet_kill in device remove/close process 2012-11-03 15:10:15 -04:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-10-26 15:00:48 -07:00
micrel drivers/net: fix tasklet misuse issue 2012-11-14 21:50:10 -05:00
microchip
myricom
natsemi
neterion
nuvoton
nvidia
nxp drivers/net/ethernet/nxp/lpc_eth.c: Call mdiobus_unregister before mdiobus_free 2012-11-02 21:36:06 -04:00
octeon
oki-semi pch_gbe: fix error handling in pch_gbe_up() 2012-10-24 23:04:31 -04:00
packetengines
pasemi
qlogic qla3xxx: Ensure request/response queue addr writes to the registers 2012-10-22 15:16:07 -04:00
racal
rdc
realtek r8169: allow multicast packets on sub-8168f chipset. 2012-11-03 15:27:07 -04:00
renesas
seeq
sfc
sgi
silan
sis
smsc net/smsc911x: Fix ready check in cases where WORD_SWAP is needed 2012-11-14 21:50:10 -05:00
stmicro
sun
tehuti
ti NET_VENDOR_TI: make available for am33xx as well 2012-10-24 23:07:36 -04:00
tile tilegx: fix some issues in the SW TSO support 2012-10-26 03:50:08 -04:00
toshiba
tundra
via
wiznet
xilinx drivers/net: fix tasklet misuse issue 2012-11-14 21:50:10 -05:00
xircom
xscale
dnet.c
dnet.h
ethoc.c
fealnx.c
jme.c drivers/net: fix tasklet misuse issue 2012-11-14 21:50:10 -05:00
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c
s6gmac.c