From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 57D57C001DF for ; Tue, 8 Aug 2023 14:31:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=q4Sf3fFsrOFoT56YTHhXPQ+dyYSf1oY6iZ1UWP+c1Zg=; b=EsHXE2OIhvVF9I A6MO4ATu4wm6LHnWsVOyVZXmL2KPsYXAx4kkI9lWADGHuW7s6fffXdGfoP+Ex8BfJ4Zjn70otNMau ea0aINwko1z7aFyxAOJgG4xZbvFk1FyWZt73Fm2NmoyihRCyarF6I+oyLyhhXrWv5yBEQ87/rRy6f Ua14iROl17X4hYb1U35rlXodNbuQIlWPCDV/9D0Do8CeHREPOosVrAEFijqgdJh3QroEigkjEle81 Xr4w0ABSqMTUAbHCePfL4oYX9lAwLimTBInX6kzZj/7DkND32hQu3+XVBXOJS/LH1ZRB6yn2IKPk8 7D1HqgzmNLqTylUCV6Nw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qTNjX-002kmi-1F; Tue, 08 Aug 2023 14:30:51 +0000 Received: from [2001:4d48:ad52:32c8:5054:ff:fe00:142] (helo=pandora.armlinux.org.uk) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qTNjU-002klB-0D for linux-arm-kernel@lists.infradead.org; Tue, 08 Aug 2023 14:30:50 +0000 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-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To: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=Q+WYnEhAPaxnloJWO3VZQkptgMclca2jZyZdbgJ+fmQ=; b=sq9khFkBu8IaoEGIQ4wXS5w3Cj R1KhG6JLfEwAJ3USVYGl2rqt/NEVP9VT1FyaFRB6qsnwGIkFR2JczufeMpNqENoZ8sdwwDBSoy/B/ NeWTcXbhfc+HmyhYvYvnMqHiDXSZiRYTh/nKOZKHXXExgPBJtcSk9ardpaEEKHAgQRtZomwHwmMyp 9i4Tf2aG2C1ixQTLBI5DwnNVsN/N6AUUq6mCItrJZOMA8WVtOzEustLwiu8+CZiD22ISYXT5B9m8g U1my0/K8R8WdGmFxlMgEihkOnJDGhOOnBKohBYcTlDM8cLy/7uH4SryKKUKKMXvrDNIRMUoAaOnAo e4cuxqZQ==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:33368) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qTNjD-0008Ly-2A; Tue, 08 Aug 2023 15:30:31 +0100 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1qTNjB-0008Ax-Q9; Tue, 08 Aug 2023 15:30:29 +0100 Date: Tue, 8 Aug 2023 15:30:29 +0100 From: "Russell King (Oracle)" To: Bartosz Golaszewski Cc: Andrew Lunn , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alexandre Torgue , Jose Abreu , Maxime Coquelin , Andrew Halaney , Alex Elder , Srini Kandagatla , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Subject: Re: [PATCH 0/2] net: stmmac: allow sharing MDIO lines Message-ID: References: <20230807193102.6374-1-brgl@bgdev.pl> <54421791-75fa-4ed3-8432-e21184556cde@lunn.ch> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230808_073048_105970_3B3BD946 X-CRM114-Status: GOOD ( 42.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCBBdWcgMDgsIDIwMjMgYXQgMDQ6MDk6MTFQTSArMDIwMCwgQmFydG9zeiBHb2xhc3pl d3NraSB3cm90ZToKPiBPbiBUdWUsIEF1ZyA4LCAyMDIzIGF0IDM6MjbigK9QTSBSdXNzZWxsIEtp bmcgKE9yYWNsZSkKPiA8bGludXhAYXJtbGludXgub3JnLnVrPiB3cm90ZToKPiA+Cj4gPiBPbiBU dWUsIEF1ZyAwOCwgMjAyMyBhdCAxMDoxMzowOUFNICswMjAwLCBCYXJ0b3N6IEdvbGFzemV3c2tp IHdyb3RlOgo+ID4gPiBPayBzbyB1cG9uIHNvbWUgZnVydGhlciBpbnZlc3RpZ2F0aW9uLCB0aGUg YWN0dWFsIGN1bHByaXQgaXMgaW4gc3RtbWFjCj4gPiA+IHBsYXRmb3JtIGNvZGUgLSBpdCBhbHdh eXMgdHJpZXMgdG8gcmVnaXN0ZXIgYW4gTURJTyBidXMgLSBpbmRlcGVuZGVudAo+ID4gPiBvZiB3 aGV0aGVyIHRoZXJlIGlzIGFuIGFjdHVhbCBtZGlvIGNoaWxkIG5vZGUgLSB1bmxlc3MgdGhlIE1B QyBpcwo+ID4gPiBtYXJrZWQgZXhwbGljaXRseSBhcyBoYXZpbmcgYSBmaXhlZC1saW5rLgo+ID4g Pgo+ID4gPiBXaGVuIEkgZml4ZWQgdGhhdCwgTUFDMSdzIHByb2JlIGlzIGNvcnJlY3RseSBkZWZl cnJlZCB1bnRpbCBNQUMwIGhhcwo+ID4gPiBjcmVhdGVkIHRoZSBNRElPIGJ1cy4KPiA+ID4KPiA+ ID4gRXZlbiBzbywgaXNuJ3QgaXQgdXNlZnVsIHRvIGFjdHVhbGx5IHJlZmVyZW5jZSB0aGUgc2hh cmVkIE1ESU8gYnVzIGluIHNvbWUgd2F5Pwo+ID4gPgo+ID4gPiBJZiB0aGUgc2NoZW1hdGljcyBs b29rIHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4gPiA+Cj4gPiA+IC0tLS0tLS0tICAgICAgICAgICAt LS0tLS0tCj4gPiA+IHwgTUFDMCB8LS1NRElPLS0tLS18IFBIWSB8Cj4gPiA+IC0tLS0tLS0tIHwg ICAgIHwgICAtLS0tLS0tCj4gPiA+ICAgICAgICAgIHwgICAgIHwKPiA+ID4gLS0tLS0tLS0gfCAg ICAgfCAgIC0tLS0tLS0KPiA+ID4gfCBNQUMxIHwtLSAgICAgLS0tLXwgUEhZIHwKPiA+ID4gLS0t LS0tLS0gICAgICAgICAgIC0tLS0tLS0KPiA+ID4KPiA+ID4gVGhlbiBpdCB3b3VsZCBtYWtlIHNl bnNlIHRvIG1vZGVsIGl0IG9uIHRoZSBkZXZpY2UgdHJlZT8KPiA+Cj4gPiBTbyBJIHRoaW5rIHdo YXQgeW91J3JlIHNheWluZyBpcyB0aGF0IE1BQzAgYW5kIE1BQzEncyBoYXZlIE1ESU8gYnVzCj4g PiBtYXN0ZXJzLCBhbmQgdGhlIGhhcmR3YXJlIGRlc2lnbmVyIGRlY2lkZWQgdG8gdGllIGJvdGgg dG9nZXRoZXIgdG8KPiA+IGEgc2luZ2xlIHNldCBvZiBjbG9jayBhbmQgZGF0YSBsaW5lcywgd2hp Y2ggdGhlbiBnbyB0byB0d28gUEhZcy4KPiAKPiBUaGUgc2NoZW1hdGljcyBJIGhhdmUgYXJlIG5v dCB2ZXJ5IGNsZWFyIG9uIHRoYXQsIGJ1dCBub3cgdGhhdCB5b3UKPiBtZW50aW9uIHRoaXMsIGl0 J3MgbW9zdCBsaWtlbHkgdGhlIGNhc2UuCj4gCj4gPgo+ID4gSW4gdGhhdCBjYXNlLCBJIHdvdWxk IHN0cm9uZ2x5IGFkdmlzZSBvbmx5IHJlZ2lzdGVyaW5nIG9uZSBNRElPIGJ1cywKPiA+IGFuZCBh dm9pZCByZWdpc3RlcmluZyB0aGUgc2Vjb25kIG9uZSAtIHRoZXJlYnkgcHJldmVudGluZyBhbnkg aXNzdWVzCj4gPiBjYXVzZWQgYnkgYm90aCBNRElPIGJ1cyBtYXN0ZXJzIHRyeWluZyB0byB0YWxr IGF0IHRoZSBzYW1lIHRpbWUuCj4gPgo+IAo+IEkgc2VudCBhIHBhdGNoIGZvciB0aGF0IGVhcmxp ZXIgdG9kYXkuCj4gCj4gPiBUaGUgUEhZcyBzaG91bGQgYmUgcG9wdWxhdGVkIGluIGZpcm13YXJl IG9uIGp1c3Qgb25lIG9mIHRoZSBidXNlcy4KPiA+Cj4gPiBZb3Ugd2lsbCBhbHNvIG5lZWQgdG8g ZW5zdXJlIHRoYXQgd2hhdGV2ZXIgcmVnaXN0ZXJzIHRoZSBidXMgZG9lcwo+ID4gbWFrZSBzdXJl IHRoYXQgdGhlIGNsb2NrcyBuZWNlc3NhcnkgZm9yIGNvbW11bmljYXRpbmcgb24gdGhlIGJ1cwo+ ID4gYXJlIHVuZGVyIGNvbnRyb2wgb2YgdGhlIE1ESU8gYnVzIGNvZGUgYW5kIG5vdCB0aGUgZXRo ZXJuZXQgTUFDCj4gPiBjb2RlLiBXZSd2ZSBydW4gaW50byBwcm9ibGVtcyBpbiB0aGUgcGFzdCB3 aGVyZSB0aGlzIGhhcyBub3QgYmVlbgo+ID4gdGhlIGNhc2UsIGFuZCBpdCBtZWFucyAtIHRha2lu ZyB5b3VyIGV4YW1wbGUgYWJvdmUgLSB0aGF0IHdoZW4gTUFDMQo+ID4gd2FudHMgdG8gdGFsayB0 byBpdHMgUEhZLCBpZiBNQUMwIGlzbid0IGFsaXZlIGl0IGNhbid0Lgo+IAo+IEdvb2QgcG9pbnQs IGJ1dCBpdCdzIHdvcnNlIHRoYW4gdGhhdDogd2hlbiBNQUMwIGlzIHVuYm91bmQsIGl0IHdpbGwK PiB1bnJlZ2lzdGVyIHRoZSBNRElPIGJ1cyBhbmQgZGVzdHJveSBhbGwgUEhZIGRldmljZXMuIFRo ZXNlIGFyZSBub3QKPiByZWZjb3VudGVkIHNvIHRoZXkgd2lsbCBsaXRlcmFsbHkgZ28gZnJvbSB1 bmRlciBNQUMxLiBOb3Qgc3VyZSBob3cKPiB0aGlzIGNhbiBiZSBkZWFsdCB3aXRoPwoKVGhhdCBo YXMgYmVlbiBhIHByb2JsZW0gaW4gdGhlIHBhc3QsIHdoZXJlIGEgTUlJIGJ1cyBoYXMgYmVlbgpy ZWdpc3RlcmVkIGJ5IGEgZHJpdmVyLCBhbmQgdGhlbiBiZWNhdXNlIGl0cyBwcm9iZSBkZWZlcnMs IHRoZSBNSUkKYnVzIGdldHMgdG9ybiBkb3duLgoKVGhlICJzaW1wbGUiIHNvbHV0aW9uIHRvIHRo aXMgaXMuLi4gdHJ5IHRvIGF2b2lkIHJlZ2lzdGVyaW5nIHRoZSBNSUkKYnVzIHVudGlsIHlvdSdy ZSBzdXJlIHRoYXQgdGhlIHByb2Jpbmcgd2lsbCBub3QgZGVmZXIuIEl0IGlzIGZhciBmcm9tCnBl cmZlY3QsIHNpbmNlIHRoZXJlJ3Mgc3RpbGwgdGhlIG9wcG9ydHVuaXR5IHRvIHVuYmluZCB0aGUg ZHJpdmVyCmNhdXNpbmcgdGhlIE1JSSBidXMgdG8gdmFuaXNoIGFsb25nIHdpdGggdGhlIFBIWXMu CgpJIGhhdmUgbWVudGlvbmVkIHRyeWluZyB0byBhZGRyZXNzIHRoZSBpc3N1ZSBvZiBQSFkgZHJp dmVycyBiZWluZwp1bmJvdW5kIGluIHRoZSBwYXN0LCBhbmQgdGhlcmUncyBiZWVuIHNvbWUgaW1w cm92ZW1lbnRzIHdpdGggdGhhdCwKYnV0IGlmIHRoZSBwaHlfZGV2aWNlIHZhbmlzaGVzIHdoaWxl IHNvbWV0aGluZyBpcyB1c2luZyBpdCwgaXQKY2VydGFpbmx5IHdpbGwgbm90IGVuZCB3ZWxsLiBw aHlsaWIgaXMgbm90IHRoZSBvbmx5IGNhc2Ugb2YgdGhpcywKdGhlcmUgYXJlIG51bWVyb3VzIGlu c3RhbmNlcyBvZiBpdC4gT25lIG9mIHRoZSByZWNlbnQgb25lcyB0aGF0CkkgaGFwcGVuZWQgdG8g YmUgcmVtaW5kZWQgb2YgdG9kYXkgaXMgdGhlIHBjcy1yem4xLW1paWMgdGhpbmcuLi4KSWYgeW91 IGhhdmUgYSBsb29rIGF0IG1paWNfY3JlYXRlKCkgYW5kIGNvbnNpZGVyIHdoYXQgd291bGQgaGFw cGVuCmlmOgoKICAgICAgICBpZiAoIXBkZXYgfHwgIXBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYp KQogICAgICAgICAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVQUk9CRV9ERUZFUik7CgogLi4uIGFu b3RoZXIgdGhyZWFkIGVuZGVkIHVwIGV4ZWN1dGluZyBtaWljX3JlbW92ZSgpIGZvciB0aGlzCiAg ICBwbGF0Zm9ybSBkZXZpY2UgYXQgdGhpcyB2ZXJ5IHBvaW50IC4uLgoKICAgICAgICBtaWljX3Bv cnQgPSBremFsbG9jKHNpemVvZigqbWlpY19wb3J0KSwgR0ZQX0tFUk5FTCk7CiAgICAgICAgaWYg KCFtaWljX3BvcnQpCiAgICAgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKCiAg ICAgICAgbWlpYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogICAgICAgIGRldmljZV9s aW5rX2FkZChkZXYsIG1paWMtPmRldiwgRExfRkxBR19BVVRPUkVNT1ZFX0NPTlNVTUVSKTsKClRo ZSBkZXZtIGFsbG9jYXRpb24gZm9yICJtaWljIiB3b3VsZCBiZSBmcmVlZCwgc28gZWl0aGVyIG1p aWMKZW5kcyB1cCBhIHN0YWxlIHBvaW50ZXIgaWYgaXQgaGFwcGVuZWQgYWZ0ZXIgdGhpcyBwb2lu dCwgb3IKaWYgbWlpY19yZW1vdmUoKSBjb21wbGV0ZXMsIHRoZW4gcGxhdGZvcm1fZ2V0X2RydmRh dGEoKSByZXR1cm5zCk5VTEwgYW5kIHdlIG9vcHMgdGhlIGtlcm5lbCBoZXJlLgoKSXQncyBhbiB1 bmxpa2VseSByYWNlLCBidXQgaXQncyBzdGlsbCBhIHJhY2UuIFNhZGx5LCB0aGUga2VybmVsCmlz IGdldHRpbmcgcmlkZGxlZCB3aXRoIHRoaW5ncyBsaWtlIHRoaXMuIEkgdXNlZCB0byBwb2ludCB0 aGVzZQp0aGluZ3Mgb3V0LCBidXQgaGF2aW5nIGJlZW4gc2hvdXRlZCBkb3duIG1hbnkgdGltZXMg SSd2ZSBnaXZlbgp1cCByYWlzaW5nIGl0LgoKQW5vdGhlciBleGFtcGxlIGlzIHRoZSBkaXJlY3Qg cmVuZGVyaW5nIG1hbmFnZXIgYnJpZGdlIGNvZGUKKGRybV9icmlkZ2UpLgoKSSBzdWdnZXN0IGEg c2ltaWxhciBhcHByb2FjaCB0byBub3QgY2FyaW5nIHRvbyBtdWNoIGFib3V0IHRoaXMKZm9yIHlv dXIgb3duIHNhbml0eS4uLiBwcm92aWRpbmcgaXQgZG9lc24ndCBhY3R1YWxseSBjYXVzZSBhCnBy b2JsZW0hCgotLSAKUk1LJ3MgUGF0Y2ggc3lzdGVtOiBodHRwczovL3d3dy5hcm1saW51eC5vcmcu dWsvZGV2ZWxvcGVyL3BhdGNoZXMvCkZUVFAgaXMgaGVyZSEgODBNYnBzIGRvd24gMTBNYnBzIHVw LiBEZWNlbnQgY29ubmVjdGl2aXR5IGF0IGxhc3QhCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8027C001B0 for ; Tue, 8 Aug 2023 19:26:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234057AbjHHT0v (ORCPT ); Tue, 8 Aug 2023 15:26:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37698 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234702AbjHHT0h (ORCPT ); Tue, 8 Aug 2023 15:26:37 -0400 Received: from pandora.armlinux.org.uk (unknown [IPv6:2001:4d48:ad52:32c8:5054:ff:fe00:142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5864812C05; Tue, 8 Aug 2023 11:50:47 -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-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To: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=Q+WYnEhAPaxnloJWO3VZQkptgMclca2jZyZdbgJ+fmQ=; b=sq9khFkBu8IaoEGIQ4wXS5w3Cj R1KhG6JLfEwAJ3USVYGl2rqt/NEVP9VT1FyaFRB6qsnwGIkFR2JczufeMpNqENoZ8sdwwDBSoy/B/ NeWTcXbhfc+HmyhYvYvnMqHiDXSZiRYTh/nKOZKHXXExgPBJtcSk9ardpaEEKHAgQRtZomwHwmMyp 9i4Tf2aG2C1ixQTLBI5DwnNVsN/N6AUUq6mCItrJZOMA8WVtOzEustLwiu8+CZiD22ISYXT5B9m8g U1my0/K8R8WdGmFxlMgEihkOnJDGhOOnBKohBYcTlDM8cLy/7uH4SryKKUKKMXvrDNIRMUoAaOnAo e4cuxqZQ==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:33368) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qTNjD-0008Ly-2A; Tue, 08 Aug 2023 15:30:31 +0100 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1qTNjB-0008Ax-Q9; Tue, 08 Aug 2023 15:30:29 +0100 Date: Tue, 8 Aug 2023 15:30:29 +0100 From: "Russell King (Oracle)" To: Bartosz Golaszewski Cc: Andrew Lunn , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alexandre Torgue , Jose Abreu , Maxime Coquelin , Andrew Halaney , Alex Elder , Srini Kandagatla , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, Bartosz Golaszewski Subject: Re: [PATCH 0/2] net: stmmac: allow sharing MDIO lines Message-ID: References: <20230807193102.6374-1-brgl@bgdev.pl> <54421791-75fa-4ed3-8432-e21184556cde@lunn.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: Russell King (Oracle) Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Tue, Aug 08, 2023 at 04:09:11PM +0200, Bartosz Golaszewski wrote: > On Tue, Aug 8, 2023 at 3:26 PM Russell King (Oracle) > wrote: > > > > On Tue, Aug 08, 2023 at 10:13:09AM +0200, Bartosz Golaszewski wrote: > > > Ok so upon some further investigation, the actual culprit is in stmmac > > > platform code - it always tries to register an MDIO bus - independent > > > of whether there is an actual mdio child node - unless the MAC is > > > marked explicitly as having a fixed-link. > > > > > > When I fixed that, MAC1's probe is correctly deferred until MAC0 has > > > created the MDIO bus. > > > > > > Even so, isn't it useful to actually reference the shared MDIO bus in some way? > > > > > > If the schematics look something like this: > > > > > > -------- ------- > > > | MAC0 |--MDIO-----| PHY | > > > -------- | | ------- > > > | | > > > -------- | | ------- > > > | MAC1 |-- ----| PHY | > > > -------- ------- > > > > > > Then it would make sense to model it on the device tree? > > > > So I think what you're saying is that MAC0 and MAC1's have MDIO bus > > masters, and the hardware designer decided to tie both together to > > a single set of clock and data lines, which then go to two PHYs. > > The schematics I have are not very clear on that, but now that you > mention this, it's most likely the case. > > > > > In that case, I would strongly advise only registering one MDIO bus, > > and avoid registering the second one - thereby preventing any issues > > caused by both MDIO bus masters trying to talk at the same time. > > > > I sent a patch for that earlier today. > > > The PHYs should be populated in firmware on just one of the buses. > > > > You will also need to ensure that whatever registers the bus does > > make sure that the clocks necessary for communicating on the bus > > are under control of the MDIO bus code and not the ethernet MAC > > code. We've run into problems in the past where this has not been > > the case, and it means - taking your example above - that when MAC1 > > wants to talk to its PHY, if MAC0 isn't alive it can't. > > Good point, but it's worse than that: when MAC0 is unbound, it will > unregister the MDIO bus and destroy all PHY devices. These are not > refcounted so they will literally go from under MAC1. Not sure how > this can be dealt with? That has been a problem in the past, where a MII bus has been registered by a driver, and then because its probe defers, the MII bus gets torn down. The "simple" solution to this is... try to avoid registering the MII bus until you're sure that the probing will not defer. It is far from perfect, since there's still the opportunity to unbind the driver causing the MII bus to vanish along with the PHYs. I have mentioned trying to address the issue of PHY drivers being unbound in the past, and there's been some improvements with that, but if the phy_device vanishes while something is using it, it certainly will not end well. phylib is not the only case of this, there are numerous instances of it. One of the recent ones that I happened to be reminded of today is the pcs-rzn1-miic thing... If you have a look at miic_create() and consider what would happen if: if (!pdev || !platform_get_drvdata(pdev)) return ERR_PTR(-EPROBE_DEFER); ... another thread ended up executing miic_remove() for this platform device at this very point ... miic_port = kzalloc(sizeof(*miic_port), GFP_KERNEL); if (!miic_port) return ERR_PTR(-ENOMEM); miic = platform_get_drvdata(pdev); device_link_add(dev, miic->dev, DL_FLAG_AUTOREMOVE_CONSUMER); The devm allocation for "miic" would be freed, so either miic ends up a stale pointer if it happened after this point, or if miic_remove() completes, then platform_get_drvdata() returns NULL and we oops the kernel here. It's an unlikely race, but it's still a race. Sadly, the kernel is getting riddled with things like this. I used to point these things out, but having been shouted down many times I've given up raising it. Another example is the direct rendering manager bridge code (drm_bridge). I suggest a similar approach to not caring too much about this for your own sanity... providing it doesn't actually cause a problem! -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!