[RFC v4 net-next 1/4] net: phy: add MediaTek PHY driver

René van Dorst opensource at vdorst.com
Tue Apr 13 10:55:46 BST 2021


Quoting DENG Qingfang <dqfext at gmail.com>:

> On Mon, Apr 12, 2021 at 11:08:36PM +0800, DENG Qingfang wrote:
>> On Mon, Apr 12, 2021 at 07:04:49AM +0000, René van Dorst wrote:
>> > Hi Qingfang,
>> > > +static void mtk_phy_config_init(struct phy_device *phydev)
>> > > +{
>> > > +	/* Disable EEE */
>> > > +	phy_write_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_ADV, 0);
>> >
>> > For my EEE patch I changed this line to:
>> >
>> > genphy_config_eee_advert(phydev);
>> >
>> > So PHY EEE part is setup properly at boot, instead enable it manual via
>> > ethtool.
>> > This function also takes the DTS parameters "eee-broken-xxxx" in  
>> to account
>> > while
>> > setting-up the PHY.
>>
>> Thanks, I'm now testing with it.
>
> Hi Rene,
>
> Within 12 hours, I got some spontaneous link down/ups when EEE is enabled:
>
> [16334.236233] mt7530 mdio-bus:1f wan: Link is Down
> [16334.241340] br-lan: port 3(wan) entered disabled state
> [16337.355988] mt7530 mdio-bus:1f wan: Link is Up - 1Gbps/Full -  
> flow control rx/tx
> [16337.363468] br-lan: port 3(wan) entered blocking state
> [16337.368638] br-lan: port 3(wan) entered forwarding state
>
> The cable is a 30m Cat.6 and never has such issue when EEE is disabled.
> Perhaps WAKEUP_TIME_1000/100 or some PHY registers need to be fine-tuned,
> but for now I think it should be disabled by default.

Hi Qingfang,

Problem is that, may be the other device on the other side, may is issue.
So it is hard to tell which device is the issue.


I have a low traffic access point with 1meter cable running the  
openwrt 5.10 kernel with the openwrt EEE patch.
EEE is active and uptime with 16days without an issue.
This was with the old patch which clears the WAKEUP_TIME_1000/100 values.


I changed my ethernet setup so that access point switch has more  
traffic and longer cable ~18meters.
I also upgraded the kernel to 5.10.28 and added the EEE v2 patch.
Let's see what happens for a longer time and with more real world traffic.

Greats,

René
>
>>
>> >
>> > > +
>> > > +	/* Enable HW auto downshift */
>> > > +	phy_modify_paged(phydev, MTK_PHY_PAGE_EXTENDED, 0x14, 0, BIT(4));






More information about the Linux-mediatek mailing list