DM9000B: driver initialization upgrade
authorJoseph CHANG <josright123@gmail.com>
Thu, 28 Mar 2013 23:13:42 +0000 (23:13 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 17:04:40 +0000 (10:04 -0700)
commitccb926f51c4e5e4b79e5023c0c0735482ce18757
treeb3932aeacc5b0c0b9107488ebf7b04ed748161c6
parent98b3a5734c7dea6b62adae480bf6676fa128a19c
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/davicom/dm9000.c
drivers/net/ethernet/davicom/dm9000.h