diff options
author | Andrew Lunn <andrew@lunn.ch> | 2018-08-09 15:38:49 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-09 20:08:20 +0200 |
commit | 734447d4ed7b1f31617c28959fd5adfbd9e39d13 (patch) | |
tree | 7db8f2d5ce4007b17bfcf92083377228202a4a8a /drivers/net/dsa/mv88e6xxx/serdes.h | |
parent | net: dsa: mv88e6xxx: Add SERDES phydev_mac_change up for 6390 (diff) | |
download | linux-734447d4ed7b1f31617c28959fd5adfbd9e39d13.tar.xz linux-734447d4ed7b1f31617c28959fd5adfbd9e39d13.zip |
net: dsa: mv88e6xxx: Re-setup interrupts on CMODE change.
When a port changes CMODE, the SERDES interface being used can change.
Disable interrupts for the old SERDES interface, and enable interrupts
on the new.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/serdes.h')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/serdes.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/serdes.h b/drivers/net/dsa/mv88e6xxx/serdes.h index 09da08cb5261..b1496de9c6fe 100644 --- a/drivers/net/dsa/mv88e6xxx/serdes.h +++ b/drivers/net/dsa/mv88e6xxx/serdes.h @@ -57,6 +57,7 @@ #define MV88E6390_SGMII_INT_FALSE_CARRIER BIT(7) #define MV88E6390_SGMII_INT_STATUS 0xa002 +int mv88e6390x_serdes_get_lane(struct mv88e6xxx_chip *chip, int port); int mv88e6341_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on); int mv88e6352_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on); int mv88e6390_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on); @@ -68,4 +69,9 @@ int mv88e6352_serdes_get_strings(struct mv88e6xxx_chip *chip, int port, uint8_t *data); int mv88e6352_serdes_get_stats(struct mv88e6xxx_chip *chip, int port, uint64_t *data); +int mv88e6390_serdes_irq_enable(struct mv88e6xxx_chip *chip, int port, + int lane); +int mv88e6390_serdes_irq_disable(struct mv88e6xxx_chip *chip, int port, + int lane); + #endif |