]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: mv88e6xxx: support 2500base-x in SGMII IRQ handler
authorMarek Behún <marek.behun@nic.cz>
Mon, 26 Aug 2019 21:31:50 +0000 (23:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Aug 2019 04:42:16 +0000 (21:42 -0700)
commit83067364deabac451f9fa4fd22ee2974147875f3
treebac6ff899d400fbf131c0193daa28b6f97a97e02
parent3ecf5dec0fd4da8e3624afc0dde05958733b3415
net: dsa: mv88e6xxx: support 2500base-x in SGMII IRQ handler

The mv88e6390_serdes_irq_link_sgmii IRQ handler reads the SERDES PHY
status register to determine speed, among other things. If cmode of the
port is set to 2500base-x, though, the PHY still reports 1000 Mbps (the
PHY register itself does not differentiate between 1000 Mbps and 2500
Mbps - it thinks it is running at 1000 Mbps, although clock is 2.5x
faster).
Look at the cmode and set SPEED_2500 if cmode is set to 2500base-x.
Also tell mv88e6xxx_port_setup_mac the PHY interface mode corresponding
to current cmode in terms of phy_interface_t.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/serdes.c