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.

Reply via email to