Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp1821744rwn; Fri, 16 Sep 2022 01:00:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4VJB4913ODd8aUuqt2cu6d/PBV95c93PaxkBqGNsRfsmnCuByHDiYABkWplorVh28UjkIo X-Received: by 2002:a17:902:e383:b0:176:9ee2:e099 with SMTP id g3-20020a170902e38300b001769ee2e099mr3614955ple.44.1663315251474; Fri, 16 Sep 2022 01:00:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663315251; cv=none; d=google.com; s=arc-20160816; b=iY+7C+gyp0xDCEYzwnGzedVGMZGcCigK4p/b3Eh7yE+rrkLl/NvzWe7wvkJGui+aaz BZw87OBA193kIc2X3YF8MX8Ymih/bv/fl19Pme3izWbC4Ati6JBiS9VwrrG9NkPO3GD3 GF+sjrEhqkWSLjyv9MgF5fZ+B34jVPjS0inGffknhCpuNPNiQkbzmr/FiWDUBLzbdMIo +tICmY3BageicSz9EKbxReeY6wojVESVDVrnUJZv7Jtp+aFj2HOmGpevAjNEqBYN9u+Z Y1YRbxR7jHuNhjKaOStGL4IhkgYHWYpAE1bATtNPDR2j4riBsf74JtUsc9+UhwRO0b1Z Fflg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=Fl6ET6q/kbHiqTOyvXh8EjJEoX+zyv0K+cWNPYPO57Q=; b=N05NGQBAN1f5/UQV8uryObwxajisJ/r1aOUsNpKKA/ChQSklkkVgPtWMWWS1//iaWV FY+fX0hYrxzP2KS+fF1KqF7ivsU3USXvVY5VzIWMdEdxFjM6318pniCtPhEX7TaPn9IZ E/qBAY6fEC1ooqhINyCKDcYPvjkL47K1CGZH4ssUfy7rcr6aXLZDAlXQgJax2KzXGDZk VrhKRCbcI+iCS+tzB8GYSSMKtmsFrEK8kXRMqdwMago0F4d0z6wFzFsrH+vN2kN9p/U/ CiD+y3rAi5vC53TN1vQQV+arqxbuigFKcYcyUTZz3nCtgNSasuBskf4+pYByzKShkcpX i6Uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@armlinux.org.uk header.s=pandora-2019 header.b=orytNymy; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=armlinux.org.uk Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id be4-20020a656e44000000b0041d7381a95dsi22422891pgb.101.2022.09.16.01.00.39; Fri, 16 Sep 2022 01:00:51 -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=fail (test mode) header.i=@armlinux.org.uk header.s=pandora-2019 header.b=orytNymy; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=armlinux.org.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230009AbiIPHU2 (ORCPT + 99 others); Fri, 16 Sep 2022 03:20:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229916AbiIPHU0 (ORCPT ); Fri, 16 Sep 2022 03:20:26 -0400 Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:32c8:5054:ff:fe00:142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3C3F04054E; Fri, 16 Sep 2022 00:20:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Fl6ET6q/kbHiqTOyvXh8EjJEoX+zyv0K+cWNPYPO57Q=; b=orytNymywAhcDPQP1HJw7tGUBw +093CDRGXe1l1oW8uzIVhrwGv+L/VtF1QTjqE+xyJjTZdUHwIg59Zgz6IiQStj8DH4TdkSbVYcR3I dEkteknaCNUwk7zNJFEwW+FgIC27FwZSARWokHRyilCeJFAvOrfCIlgzdshX8jHor1JH9Z81p8Z9I cOCt9k9hcfHTKNEPvf2xPes3Tv+cxjY13fM6QITPytjXrO3bAjFv6L3evQW/tfreBXSo4PKZcXtgu tX2j4Ux3505K1k2nHFnkZD6tQOcuo886gFKI5uK+d4KnHhKjjUu0XYbzrhe4gkQGYH9g39ha99rSz O3NhwKtQ==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:34358) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oZ5e1-0006M8-KM; Fri, 16 Sep 2022 08:20:13 +0100 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1oZ5dx-0003NT-Id; Fri, 16 Sep 2022 08:20:09 +0100 Date: Fri, 16 Sep 2022 08:20:09 +0100 From: "Russell King (Oracle)" To: Siddharth Vadapalli Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh+dt@kernel.org, krzysztof.kozlowski@linaro.org, krzysztof.kozlowski+dt@linaro.org, vladimir.oltean@nxp.com, grygorii.strashko@ti.com, vigneshr@ti.com, nsekhar@ti.com, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kishon@ti.com Subject: Re: [PATCH 5/8] net: ethernet: ti: am65-cpsw: Add support for fixed-link configuration Message-ID: References: <20220914095053.189851-1-s-vadapalli@ti.com> <20220914095053.189851-6-s-vadapalli@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: Russell King (Oracle) 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_NONE,SPF_NONE 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, Sep 16, 2022 at 10:24:48AM +0530, Siddharth Vadapalli wrote: > On 15/09/22 15:37, Russell King (Oracle) wrote: > > Hi, > > > > On Thu, Sep 15, 2022 at 02:58:52PM +0530, Siddharth Vadapalli wrote: > >> Hello Russell, > >> > >> On 14/09/22 21:39, Russell King (Oracle) wrote: > >>> On Wed, Sep 14, 2022 at 03:20:50PM +0530, Siddharth Vadapalli wrote: > >>>> Check for fixed-link in am65_cpsw_nuss_mac_config() using struct > >>>> am65_cpsw_slave_data's phy_node property to obtain fwnode. Since > >>>> am65_cpsw_nuss_mac_link_up() is not invoked in fixed-link mode, perform > >>>> the relevant operations in am65_cpsw_nuss_mac_config() itself. > >>> > >>> Further to my other comments, you also fail to explain that, when in > >>> fixed-link SGMII mode, you _emulate_ being a PHY - which I deduce > >>> since you are sending the duplex setting and speed settings via the > >>> SGMII control word. Also, as SGMII was invented for a PHY to be able > >>> to communicate the media negotiation resolution to the MAC, SGMII > >>> defines that the PHY fills in the speed and duplex information in > >>> the control word to pass it to the MAC, and the MAC acknowledges this > >>> information. There is no need (and SGMII doesn't permit) the MAC to > >>> advertise what it's doing. > >>> > >>> Maybe this needs to be explained in the commit message? > >> > >> I had tested SGMII fixed-link mode using a bootstrapped ethernet layer-1 > >> PHY. Based on your clarification in the previous mails that there is an > >> issue with the fixed-link mode which I need to debug, I assume that what > >> you are referring to here also happens to be a consequence of that. > >> Please let me know if I have misunderstood what you meant to convey. > > > > I think what you're saying is that you have this setup: > > > > ethernet MAC <--SGMII link--> ethernet PHY <---> media > > > > which you are operating in fixed link mode? > > Yes, and the other end is connected to my PC's ethernet port. > > > > > From the SGMII specification: "This is achieved by using the Auto- > > Negotiation functionality defined in Clause 37 of the IEEE > > Specification 802.3z. Instead of the ability advertisement, the PHY > > sends the control information via its tx_config_Reg[15:0] as specified > > in Table 1 whenever the control information changes. Upon receiving > > control information, the MAC acknowledges the update of the control > > information by asserting bit 14 of its tx_config_reg{15:0] as specified > > in Table 1." > > > > For the control word sent from the MAC to the PHY, table 1 specifies a > > value of 0x4001. All the zero bits in that word which are zero are > > marked as "Reserved for future use." There are no fields for speed and > > duplex in this acknowledgement word to the PHY. > > > > I hope this clears up my point. > > Thank you for the detailed explanation. After reading the above, my > understanding is that even in the fixed-link mode, the ethernet MAC is > not supposed to advertise the speed and duplex settings. The ethernet > MACs present on both ends of the connection are supposed to be set to > the same speed and duplex settings via the devicetree node. Thus, only > for my setup which happens to be a special case of fixed-link mode where > the ethernet PHY is present, I am having to send the control word due to > the presence of a PHY in between. In SGMII, the control word is only passed between the ethernet MAC and the ethernet PHY. It is not conveyed across the media. > And, I am supposed to mention this in > the commit message, which I haven't done. Please let me know if this is > what I was supposed to understand. If you implement this conventionally, then you don't need to mention it in the commit message, because you're following the standard. > I am planning to change to a proper fixed-link setup without any > ethernet PHY between the MACs, for debugging the driver's fixed-link > mode where the "mac_link_up()" is not invoked. SGMII is designed for the setup in the diagram I provided in my previous email. It is not designed for two MACs to talk direct to each other without any ethernet PHY because of the asymmetric nature of the control word. The PHY sends e.g. a control word of 0x9801 for 1G full duplex. On reception of that, the MAC responds with 0x4001. Finally, the PHY responds with 0xd801 to acknowledge the receipt of the MAC response. If both ends of the link are SGMII, both ends will be waiting for the control word from a PHY which is not present, and the link will not come up. 1000base-X is a symmetric protocol where both ends of the link advertise their capabilities, acknowledge each others abilities and resolve the duplex and pause settings. SGMII is a Cisco proprietary modification of 1000base-X designed for communicating the results of media autonegotiation between an ethernet PHY and ethernet MAC. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!