Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1740217pxu; Tue, 24 Nov 2020 07:51:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJyAkh3Ukkgbiw+qPRdCIAcH/8/ydFFJoJgqx5bN+1QfuxKG9Xno4TAzh064pGAVBvbB5JgE X-Received: by 2002:a05:6402:cb4:: with SMTP id cn20mr4793982edb.186.1606233097654; Tue, 24 Nov 2020 07:51:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606233097; cv=none; d=google.com; s=arc-20160816; b=ba1ecTGUtP/aEzBBkxNjOfYxmpYPXfIfvoLn6Wq+er1JuQBJTxSAm+0RwBNZyKDARa lmgNWUfjfOS7BUQ5Lgfvy5H39szaHJVyPSFFmeaZpyQO1ToUG3vhOYRZS0pVfUtRwvq4 1LEonqkADOeOVwYPzbL+sgZh8Ds86lV8BHUOLzY4Or0/McZXXK7qszQUFTrCoG5+1sYe VhFeBxV5diEjvjF8y+n6DY1Tgwhg3MIPfs80fhMyYQZCW9YEUD4APjssVSuno6uiiPhy 8IwtRvYZPe3dKf1pScD8I/c86D5ymKXC8+KzoaT5z9xb4x0+ifFCGw5AHRqp3GhKC5ga RSAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from; bh=Mzr1Y2x7R3RvcFeEsjrvdfsTp6hTvD5dJaqUjnLpf8A=; b=YPSL+RDKN9ntYM8SOaSr/hZC2oM7OVionrdoexPyQRvl4nrpyG8QDh2qkKIWi3DJIx 03FWguxQqR+6w+OE1FZxqODrP2z+2GYqh5I0LjNImqK1KuznZEs/31kUqEcJoifbge2U ix/fStjX7tU9pP3OJL8iGKG2/WqUt06miM36mVl4KKRgK7qCiESHZIOSLkY+B7EslhWq PCTO1ygPrDllU54Rdqm0L+LBMRMaZkaMMaqfj6eecF5gXSLcjkNk4u8wC4by44MhoPlv sAEZmJuoCTyiJc7rasKPCTwaqEooLTCI7pSZguHG9LdFnXegORZDtgdBajoL2NwwRr8N IMIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p25si9266550edq.230.2020.11.24.07.51.13; Tue, 24 Nov 2020 07:51:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389834AbgKXPqL convert rfc822-to-8bit (ORCPT + 99 others); Tue, 24 Nov 2020 10:46:11 -0500 Received: from eu-smtp-delivery-151.mimecast.com ([207.82.80.151]:53587 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389653AbgKXPqK (ORCPT ); Tue, 24 Nov 2020 10:46:10 -0500 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-188-sRZs1I9bOyajyYLjdda6pA-1; Tue, 24 Nov 2020 15:46:07 +0000 X-MC-Unique: sRZs1I9bOyajyYLjdda6pA-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 24 Nov 2020 15:46:06 +0000 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Tue, 24 Nov 2020 15:46:06 +0000 From: David Laight To: 'Russell King - ARM Linux admin' , Heiner Kallweit CC: Antonio Borneo , Andrew Lunn , "David S. Miller" , Jakub Kicinski , "netdev@vger.kernel.org" , Yonglong Liu , "stable@vger.kernel.org" , "linuxarm@huawei.com" , Salil Mehta , "linux-stm32@st-md-mailman.stormreply.com" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] net: phy: fix auto-negotiation in case of 'down-shift' Thread-Topic: [PATCH] net: phy: fix auto-negotiation in case of 'down-shift' Thread-Index: AQHWwnVdqICvBLQKe06JRpLbFKofpqnXaXCA Date: Tue, 24 Nov 2020 15:46:06 +0000 Message-ID: <1e3bfaa519954b3586bbf59c065bca6a@AcuMS.aculab.com> References: <20201124143848.874894-1-antonio.borneo@st.com> <4684304a-37f5-e0cd-91cf-3f86318979c3@gmail.com> <20201124151716.GG1551@shell.armlinux.org.uk> In-Reply-To: <20201124151716.GG1551@shell.armlinux.org.uk> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Russell King > Sent: 24 November 2020 15:17 ... > That said, _if_ the PHY has a way to read the resolved state rather > than reading the advertisement registers, that is what should be > used (as I said previously) rather than trying to decode the > advertisement registers ourselves. That is normally more reliable > for speed and duplex. Determining the speed and duplux from the ANAR and ANRR (I can't remember the name of the response register) has always been completely broken. The problems arise when you connect to either a 10M hub or a 10/100M autodetecting hub (these are a 10M hub and a 100M hub connected by a bridge). The PHY will either see single link test pulses (10M hub) or a simple burst of link test pulses (10/100 hub) and fall back to 10M HDX or 100M HDX. Both the 10M hub and 10/100 hub are happy with the link test pulse stream that contains the ANAR. However the ANRR register will (typically) contain the value from the last system that sent it one. So if you unplug from something that does 100M FDX and plug into a hub the MAC unit is likely to be misconfigured and do FDX. Of course, there is no generic way to get the actual mode. I'm not sure the PHY I was using (a long time ago) even had any private register that could tell you. For one system (which was never going to do anything fast) I just removed the FDX modes from the ANAR. The MAC didn't care whether it was 10M or 100M. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)