On 5/24/17 2:18 AM, Matthias May wrote:
With the patch: When the copper side is seen as up, it also checks if aneg of
the SGMII link is done.
As far as i know SGMII can not be run without aneg, since it is always Gbit
with aneg mandatory.
If SGMII aneg is not done, then, well aneg is not done and thus 0 is returned.
Internally we have this patch extended so we don't only report that aneg is not
done but also reset the link.
Eventually aneg on the SGMII side can be completed and the link comes up.
I would really like to test this patch.
Why do you think that frames are able to go through when aneg is reported as
not done by the PHY?
I have two theories:
1. The warning message is bogus. The link actually is okay, but the
driver thinks that it isn't.
2. The link is not okay, but it automatically fixes itself soon after
the at803x_aneg_done() finishes.
Since aneg is mandatory for SGMII this can as well be seen as "link not up",
not?
The problem is that even though the link is up, the driver has returned
"0", so the kernel thinks that autonegotiation has not finished.
at803x_aneg_done() is never called again, and so I think the kernel is
disabling the interface is some secret way.
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the
Code Aurora Forum, hosted by The Linux Foundation.