UPSTREAM: net: phy: dp83867: fix irq generation
authorGrygorii Strashko <grygorii.strashko@ti.com>
Thu, 5 Jan 2017 20:48:07 +0000 (14:48 -0600)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 31 May 2017 03:06:29 +0000 (11:06 +0800)
commitf4cc7d22ed0db845c47f9a847c51e5e1e3f7f7b0
tree35129340673797261523cf346dbed3d72ae822ec
parentb713dbed6626eba47f44a3b9c83675f7cc1d8745
UPSTREAM: net: phy: dp83867: fix irq generation

For proper IRQ generation by DP83867 phy the INT/PWDN pin has to be
programmed as an interrupt output instead of a Powerdown input in
Configuration Register 3 (CFG3), Address 0x001E, bit 7 INT_OE = 1. The
current driver doesn't do this and as result IRQs will not be generated by
DP83867 phy even if they are properly configured in DT.

Hence, fix IRQ generation by properly configuring CFG3.INT_OE bit and
ensure that Link Status Change (LINK_STATUS_CHNG_INT) and Auto-Negotiation
Complete (AUTONEG_COMP_INT) interrupt are enabled. After this the DP83867
driver will work properly in interrupt enabled mode.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 5ca7d1ca77dc23934504b95a96d2660d345f83c2)
Change-Id: Ic4fd8e84a2e41f217850230699e00f603ea3f086
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
drivers/net/phy/dp83867.c