From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiner Kallweit Subject: Re: [PATCH] net: ethernet: fec: Add missing SPEED_ Date: Sat, 20 Oct 2018 17:51:42 +0200 Message-ID: References: <1539875100-11121-1-git-send-email-clabbe@baylibre.com> <2621cbc9-47ed-ce2a-b7ee-262f17dc138f@gmail.com> <20181018184715.GA31736@Red> <20181018191612.GB31736@Red> <5cb0731b-83c5-5ed5-d022-98f8627d1737@gmail.com> <20181018195909.GA11317@Red> <1b784f69-3ec2-feb2-81e1-9a335cf477c3@gmail.com> <20181020153922.GC1596@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Florian Fainelli , LABBE Corentin , davem@davemloft.net, fugang.duan@nxp.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org To: Andrew Lunn Return-path: In-Reply-To: <20181020153922.GC1596@lunn.ch> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 20.10.2018 17:39, Andrew Lunn wrote: >>>> I have patched by adding: >>>> phy_remove_link_mode(phy_dev, ETHTOOL_LINK_MODE_Asym_Pause_BIT); >> >> Instead of programmatically removing the feature bit it should be >> possible to do this in the PHY driver configuration. See also >> this part of phy_probe(). >> >> if (phydrv->features & (SUPPORTED_Pause | SUPPORTED_Asym_Pause)) { >> phydev->supported &= ~(SUPPORTED_Pause | SUPPORTED_Asym_Pause); >> phydev->supported |= phydrv->features & >> (SUPPORTED_Pause | SUPPORTED_Asym_Pause); >> } else { >> phydev->supported |= SUPPORTED_Pause | SUPPORTED_Asym_Pause; >> } > > Sorry for the late reply. Been on vacation. > > I need to check the datasheet, but it seems like the KSZ9021 does not > support asym pause. Using the above code is the correct way to solve > this problem. Look at the bcm63xx.c:bcm63xx_config_init() which does > this. > I dare to dispute here ;) Above code snippet from phy_probe() will (try to) set also SUPPORTED_Asym_Pause, because phydrv->features doesn't include any of the two pause flags. The statement in bcm63xx_config_init you refer to seems to be a no-op to me therefore. I'd say the correct way is to change the PHY config like this: .features = PHY_BASIC_FEATURES | SUPPORTED_Pause; It's exactly the use case the code snippet above covers. I think the bcm63xx driver would need to be changed. > I will cook up a patch. > > Andrew >