Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e884493 authored by Timur Tabi's avatar Timur Tabi Committed by David S. Miller
Browse files

net: qcom/emac: configure the external phy to allow pause frames



Pause frames are used to enable flow control.  A MAC can send and
receive pause frames in order to throttle traffic.  However, the PHY
must be configured to allow those frames to pass through.

Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarTimur Tabi <timur@codeaurora.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent cdb26d33
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1003,6 +1003,12 @@ int emac_mac_up(struct emac_adapter *adpt)
	writel((u32)~DIS_INT, adpt->base + EMAC_INT_STATUS);
	writel(adpt->irq.mask, adpt->base + EMAC_INT_MASK);

	/* Enable pause frames.  Without this feature, the EMAC has been shown
	 * to receive (and drop) frames with FCS errors at gigabit connections.
	 */
	adpt->phydev->supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause;
	adpt->phydev->advertising |= SUPPORTED_Pause | SUPPORTED_Asym_Pause;

	adpt->phydev->irq = PHY_IGNORE_INTERRUPT;
	phy_start(adpt->phydev);