DM9000B: driver initialization upgrade
authorJoseph CHANG <josright123@gmail.com>
Thu, 28 Mar 2013 23:13:42 +0000 (23:13 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 10 Apr 2013 02:20:14 +0000 (03:20 +0100)
commit8f270e25b6fa1188b4ab2e14fbf950e1c72a3bcb
treee847519a2218533f680124cd09cff92b3c90eccc
parent97159c98d9cd0b5ef6948699cd44c6ed368ea310
DM9000B: driver initialization upgrade

[ Upstream commit 6741f40d198c6a5feb23653a1efd4ca47f93d83d ]

Fix bug for DM9000 revision B which contain a DSP PHY

DM9000B use DSP PHY instead previouse DM9000 revisions' analog PHY,
So need extra change in initialization, For
explicity PHY Reset and PHY init parameter, and
first DM9000_NCR reset need NCR_MAC_LBK bit by dm9000_probe().

Following DM9000_NCR reset cause by dm9000_open() clear the
NCR_MAC_LBK bit.

Without this fix, Power-up FIFO pointers error happen around 2%
rate among Davicom's customers' boards. With this fix, All above
cases can be solved.

Signed-off-by: Joseph CHANG <josright123@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/davicom/dm9000.c
drivers/net/ethernet/davicom/dm9000.h