Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp1738925imw; Sat, 16 Jul 2022 13:44:35 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sGZTATPHs8fr7Xe83ScV9HEX5STBttO9vUjm/apCpMBhXFScsUnGIo3QyIzNU4igSNuQmB X-Received: by 2002:a17:907:a218:b0:72b:8aae:3f84 with SMTP id qp24-20020a170907a21800b0072b8aae3f84mr18964273ejc.367.1658004275125; Sat, 16 Jul 2022 13:44:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658004275; cv=none; d=google.com; s=arc-20160816; b=x6Ch1Y/wvGkOq5wlL9SfgckAqEoEPDtC9QvxpDEqzZ9QAlmjPHRO6jf+Yha6grzGyy jhvm8Hgj/LnJLTWxyBrJzGVzXZ5q5lLTw+85Q25DjhNUR+K8D2Ic8X6ShgY7YzyzwdUP AbalhYMyw4ZWUfJzMvHWZSNihkaQhvRxGiKdQQXsItX5MP0hQIEaVs3iWC4v39pIXxQX 8ASjZKrjksSFGLUCgpNqQ6Xo7YTn75wMDDa7ZtsRswnfpA442d5RBUhmE9bp5HMcW/Rl yP4IaiCIoPF5uqW9p58SVpNYQNAVz7Qz+vwsujGP38v5pvcumaeKuT6LzXzxQKjpuvwP 2kIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=6/LpxNTgfIFVpFyT+1SyAzsuJadiHFoxBMUFer3AfIY=; b=iJLHHUeGE1jBKBD2XTmBazXyiIorLLpnl+ct1HiJmyiVAhjvw13OVRRYBwYNl935QG TxjGXfYjzIWDMCo4QUzVK0CTQshId6i8HKH4GdiqgKtROD7cDW1eK8hEDkh/KhtrW21h TO352H+S6486tZpJMKswa1u19ubJYNzR7G8L6rAnVm17TXS3IyrCA0g7hXIpalUG4lh7 giOg1vkInQvG39lSgqvrQr7WeGIRH2rfFlV5bHg7VF/MbPZq8xAjdiTUa+0Kay+DkcGI Tg8gzfc3rs7HHCyiEi0L+OtjUpqgy4AsJ+5ZH/VTZ6ZpkQ3heCZOa+Y7gsmNCR5bcyS2 cyKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lunn.ch header.s=20171124 header.b=J7bVVD7Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f18-20020a1709062c5200b00715a028661asi9152986ejh.345.2022.07.16.13.44.09; Sat, 16 Jul 2022 13:44:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@lunn.ch header.s=20171124 header.b=J7bVVD7Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231684AbiGPURs (ORCPT + 99 others); Sat, 16 Jul 2022 16:17:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41274 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229501AbiGPURq (ORCPT ); Sat, 16 Jul 2022 16:17:46 -0400 Received: from vps0.lunn.ch (vps0.lunn.ch [185.16.172.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9CF161D33D; Sat, 16 Jul 2022 13:17:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Disposition:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:From:Sender:Reply-To:Subject: Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Content-Disposition:In-Reply-To:References; bh=6/LpxNTgfIFVpFyT+1SyAzsuJadiHFoxBMUFer3AfIY=; b=J7bVVD7ZP6L2tVzSkC88sqaGAO JZuVTg10klYERKYYqGzwcDMLxwF4SvR/AtT9uUtd54UBe4teBnYGgvBhxxtWEmT0Lp0Uu4FgEBvzu oVltpqfw38PYtPm6z3iR+8BVQJPHGQ5phg1voIt0URz+E2Akn+6vR1de7MshiZTXkbgA=; Received: from andrew by vps0.lunn.ch with local (Exim 4.94.2) (envelope-from ) id 1oCoEE-00AZYJ-P2; Sat, 16 Jul 2022 22:17:30 +0200 Date: Sat, 16 Jul 2022 22:17:30 +0200 From: Andrew Lunn To: Sean Anderson Cc: "David S . Miller" , Jakub Kicinski , Madalin Bucur , netdev@vger.kernel.org, Paolo Abeni , Eric Dumazet , linux-arm-kernel@lists.infradead.org, Russell King , linux-kernel@vger.kernel.org, Alexandru Marginean , Heiner Kallweit , Vladimir Oltean Subject: Re: [PATCH net-next v3 10/47] net: phylink: Adjust link settings based on rate adaptation Message-ID: References: <20220715215954.1449214-1-sean.anderson@seco.com> <20220715215954.1449214-11-sean.anderson@seco.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220715215954.1449214-11-sean.anderson@seco.com> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 15, 2022 at 05:59:17PM -0400, Sean Anderson wrote: > If the phy is configured to use pause-based rate adaptation, ensure that > the link is full duplex with pause frame reception enabled. Note that these > settings may be overridden by ethtool. > > Signed-off-by: Sean Anderson > --- > > Changes in v3: > - New > > drivers/net/phy/phylink.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c > index 7fa21941878e..7f65413aa778 100644 > --- a/drivers/net/phy/phylink.c > +++ b/drivers/net/phy/phylink.c > @@ -1445,6 +1445,10 @@ static void phylink_phy_change(struct phy_device *phydev, bool up) > pl->phy_state.speed = phy_interface_speed(phydev->interface, > phydev->speed); > pl->phy_state.duplex = phydev->duplex; > + if (phydev->rate_adaptation == RATE_ADAPT_PAUSE) { > + pl->phy_state.duplex = DUPLEX_FULL; > + rx_pause = true; > + } I would not do this. If the requirements for rate adaptation are not fulfilled, you should turn off rate adaptation. A MAC which knows rate adaptation is going on can help out, by not advertising 10Half, 100Half etc. Autoneg will then fail for modes where rate adaptation does not work. The MAC should also be declaring what sort of pause it supports, so disable rate adaptation if it does not have async pause. Andrew