net: phy: rename PHY_IGNORE_INTERRUPT to PHY_MAC_INTERRUPT
Some internal PHY's have their events like link change reported by the MAC interrupt. We have PHY_IGNORE_INTERRUPT to deal with this scenario. I'm not too happy with this name. We don't ignore interrupts, typically there is no interrupt exposed at a PHY level. So let's rename it to PHY_MAC_INTERRUPT. This is in line with phy_mac_interrupt(), which is called from the MAC interrupt handler to handle PHY events. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
63477a5d4c
commit
93e8990c24
|
@ -216,7 +216,7 @@ put into an unsupported state.
|
|||
Lastly, once the controller is ready to handle network traffic, you call
|
||||
phy_start(phydev). This tells the PAL that you are ready, and configures the
|
||||
PHY to connect to the network. If the MAC interrupt of your network driver
|
||||
also handles PHY status changes, just set phydev->irq to PHY_IGNORE_INTERRUPT
|
||||
also handles PHY status changes, just set phydev->irq to PHY_MAC_INTERRUPT
|
||||
before you call phy_start and use phy_mac_interrupt() from the network
|
||||
driver. If you don't want to use interrupts, set phydev->irq to PHY_POLL.
|
||||
phy_start() enables the PHY interrupts (if applicable) and starts the
|
||||
|
|
|
@ -359,7 +359,7 @@ int bcmgenet_mii_probe(struct net_device *dev)
|
|||
* those versions of GENET.
|
||||
*/
|
||||
if (priv->internal_phy && !GENET_IS_V5(priv))
|
||||
dev->phydev->irq = PHY_IGNORE_INTERRUPT;
|
||||
dev->phydev->irq = PHY_MAC_INTERRUPT;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -5056,7 +5056,7 @@ static int r8169_mdio_register(struct rtl8169_private *tp)
|
|||
new_bus->name = "r8169";
|
||||
new_bus->priv = tp;
|
||||
new_bus->parent = &pdev->dev;
|
||||
new_bus->irq[0] = PHY_IGNORE_INTERRUPT;
|
||||
new_bus->irq[0] = PHY_MAC_INTERRUPT;
|
||||
snprintf(new_bus->id, MII_BUS_ID_SIZE, "r8169-%x", pci_dev_id(pdev));
|
||||
|
||||
new_bus->read = r8169_mdio_read_reg;
|
||||
|
|
|
@ -203,8 +203,8 @@ int sxgbe_mdio_register(struct net_device *ndev)
|
|||
case PHY_POLL:
|
||||
irq_str = "POLL";
|
||||
break;
|
||||
case PHY_IGNORE_INTERRUPT:
|
||||
irq_str = "IGNORE";
|
||||
case PHY_MAC_INTERRUPT:
|
||||
irq_str = "MAC";
|
||||
break;
|
||||
default:
|
||||
sprintf(irq_num, "%d", phy->irq);
|
||||
|
|
|
@ -125,7 +125,7 @@ static int moxart_mdio_probe(struct platform_device *pdev)
|
|||
snprintf(bus->id, MII_BUS_ID_SIZE, "%s-%d-mii", pdev->name, pdev->id);
|
||||
bus->parent = &pdev->dev;
|
||||
|
||||
/* Setting PHY_IGNORE_INTERRUPT here even if it has no effect,
|
||||
/* Setting PHY_MAC_INTERRUPT here even if it has no effect,
|
||||
* of_mdiobus_register() sets these PHY_POLL.
|
||||
* Ideally, the interrupt from MAC controller could be used to
|
||||
* detect link state changes, not polling, i.e. if there was
|
||||
|
@ -133,7 +133,7 @@ static int moxart_mdio_probe(struct platform_device *pdev)
|
|||
* interrupt handled in ethernet drivercode.
|
||||
*/
|
||||
for (i = 0; i < PHY_MAX_ADDR; i++)
|
||||
bus->irq[i] = PHY_IGNORE_INTERRUPT;
|
||||
bus->irq[i] = PHY_MAC_INTERRUPT;
|
||||
|
||||
data = bus->priv;
|
||||
data->base = devm_platform_ioremap_resource(pdev, 0);
|
||||
|
|
|
@ -188,7 +188,7 @@ static int ip175c_read_status(struct phy_device *phydev)
|
|||
genphy_read_status(phydev);
|
||||
else
|
||||
/* Don't need to read status for switch ports */
|
||||
phydev->irq = PHY_IGNORE_INTERRUPT;
|
||||
phydev->irq = PHY_MAC_INTERRUPT;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1145,7 +1145,7 @@ void phy_state_machine(struct work_struct *work)
|
|||
}
|
||||
|
||||
/* Only re-schedule a PHY state machine change if we are polling the
|
||||
* PHY, if PHY_IGNORE_INTERRUPT is set, then we will be moving
|
||||
* PHY, if PHY_MAC_INTERRUPT is set, then we will be moving
|
||||
* between states from phy_mac_interrupt().
|
||||
*
|
||||
* In state PHY_HALTED the PHY gets suspended, so rescheduling the
|
||||
|
|
|
@ -1167,8 +1167,8 @@ char *phy_attached_info_irq(struct phy_device *phydev)
|
|||
case PHY_POLL:
|
||||
irq_str = "POLL";
|
||||
break;
|
||||
case PHY_IGNORE_INTERRUPT:
|
||||
irq_str = "IGNORE";
|
||||
case PHY_MAC_INTERRUPT:
|
||||
irq_str = "MAC";
|
||||
break;
|
||||
default:
|
||||
snprintf(irq_num, sizeof(irq_num), "%d", phydev->irq);
|
||||
|
|
|
@ -71,11 +71,11 @@ extern const int phy_10gbit_features_array[1];
|
|||
|
||||
/*
|
||||
* Set phydev->irq to PHY_POLL if interrupts are not supported,
|
||||
* or not desired for this PHY. Set to PHY_IGNORE_INTERRUPT if
|
||||
* the attached driver handles the interrupt
|
||||
* or not desired for this PHY. Set to PHY_MAC_INTERRUPT if
|
||||
* the attached MAC driver handles the interrupt
|
||||
*/
|
||||
#define PHY_POLL -1
|
||||
#define PHY_IGNORE_INTERRUPT -2
|
||||
#define PHY_MAC_INTERRUPT -2
|
||||
|
||||
#define PHY_IS_INTERNAL 0x00000001
|
||||
#define PHY_RST_AFTER_CLK_EN 0x00000002
|
||||
|
@ -1202,11 +1202,11 @@ static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad,
|
|||
* @phydev: the phy_device struct
|
||||
*
|
||||
* NOTE: must be kept in sync with addition/removal of PHY_POLL and
|
||||
* PHY_IGNORE_INTERRUPT
|
||||
* PHY_MAC_INTERRUPT
|
||||
*/
|
||||
static inline bool phy_interrupt_is_valid(struct phy_device *phydev)
|
||||
{
|
||||
return phydev->irq != PHY_POLL && phydev->irq != PHY_IGNORE_INTERRUPT;
|
||||
return phydev->irq != PHY_POLL && phydev->irq != PHY_MAC_INTERRUPT;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue