]> git.baikalelectronics.ru Git - kernel.git/commit
amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs
authorLendacky, Thomas <Thomas.Lendacky@amd.com>
Thu, 17 Jan 2019 14:20:14 +0000 (14:20 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jan 2019 06:06:54 +0000 (22:06 -0800)
commit22a66b24f1d2facdb89723b6b1d04a4d0bf5b727
tree1411986840c700e640b8f527320a9ee0d754af5e
parentb8df1cf75f8ee5c6c729ea2c2148ad25e0a763f9
amd-xgbe: Fix mdio access for non-zero ports and clause 45 PHYs

The XGBE hardware has support for performing MDIO operations using an
MDIO command request. The driver mistakenly uses the mdio port address
as the MDIO command request device address instead of the MDIO command
request port address. Additionally, the driver does not properly check
for and create a clause 45 MDIO command.

Check the supplied MDIO register to determine if the request is a clause
45 operation (MII_ADDR_C45). For a clause 45 operation, extract the device
address and register number from the supplied MDIO register and use them
to set the MDIO command request device address and register number fields.
For a clause 22 operation, the MDIO request device address is set to zero
and the MDIO command request register number is set to the supplied MDIO
register. In either case, the supplied MDIO port address is used as the
MDIO command request port address.

Fixes: 07cda5f2cdaf ("amd-xgbe: Add support for MDIO attached PHYs")
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amd/xgbe/xgbe-common.h
drivers/net/ethernet/amd/xgbe/xgbe-dev.c