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 50C4FC88E73 for ; Mon, 14 Sep 2026 20:25:18 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Cc:To:From:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=h8dBeZZTSCkCJf4I8QwKDf0+gpPfx5BodPsf6daNgAk=; b=h+iNJQC1kCp3Rb JQh/W03XSUZJSyEJ//G2bcsVFf/aLWpu66bKX1oScUpk1z9Uwyz4IT3a2AF4WthNNLnHPY3b5aLOM Zci36KS+bBp34NOL+lKik095ABq7dWHwYRfCljODt1CHILF5jQmbHzeKYa3lwah+6m+ncbt8PXN3C 85hF/wER6y0k6RQwI2Zdm1kRuvvRX05NF2MVLJBwZ3cMmndLI7Vym+kPKGNyEme9Zm9pO4K7KhBrR hgyGqx74miwOuPY1alEfxU41+etiQ60u01Eg3xf220WfC4nASuoZ8dH6tsBXthHv+IEiluPj+VPsu dZokIpp1bVKbgP5LrCyw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6DEr-00000004b2i-44XJ; Mon, 14 Sep 2026 20:25:17 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6DEU-00000004aZm-2RpJ; Mon, 14 Sep 2026 20:24:55 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id EFFFB602C2; Mon, 14 Sep 2026 20:24:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 343821F000FF; Mon, 14 Sep 2026 20:24:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789417493; bh=EdUGey0Y6fUygZcO3oI/pgasXv1LbqpF456UVNPI0RY=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=KmheNl2HmKbF7QozkgpVRgt69X5wdGL7cLO/skh5x+3JrNIJd3gG5muta106qbdx/ mrPtYOlO1vnbXtrFdsb21CPmp5GhsUa0Sg3LGwwRi7fPT9pgsHsabJIBW8JkUMUONd sXCLPRDWCdHXo062eN76E/tFT9x4dRBrX1+FDT/PhzBmp7nmAKe1M+xwzULRk/TPbt qd4WgeUgaqGYgUj0XIKQxauSUnaGyTdLGnJ2yr3sM1wlI23GB3jHf5NiJsXkHSJLv8 QpIC6nL/1m7H82LgjNg9Jd78DoPCj09tdA+NFKfCa6exzE8P2HTURFTmhXeEyrZUlk HhNlo2ZEk5ezw== Subject: Re: [PATCH net-next v5 09/11] net: stmmac: dwmac-rk: add SGMII support for RK3568 From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, vkoul@kernel.org, maxime.chevallier@bootlin.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, prabhakar.mahadev-lad.rj@bp.renesas.com, romain.gantois@bootlin.com, hkallweit1@gmail.com, neil.armstrong@linaro.org, linux@armlinux.org.uk, shawn.lin@rock-chips.com, david@ixit.cz, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-renesas-soc@vger.kernel.org Date: Mon, 14 Sep 2026 20:24:51 +0000 Message-ID: <178941749179.22033.3182687831989800376@kernel.org> In-Reply-To: <20260913185849.907479-10-coiaprant@gmail.com> References: <20260913185849.907479-10-coiaprant@gmail.com> X-sashiko-severity: Medium MIME-Version: 1.0 X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NSBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXI6CgpDcml0aWNhbDogMCDCtyBIaWdoOiAw IMK3IE1lZGl1bTogMiAoMSkgwrcgTG93OiAzCgotIFtNZWRpdW1dIERXTUFDX1JPQ0tDSElQIGdh aW5zIGFuIHVuY29uZGl0aW9uYWwgYHNlbGVjdAogIFBDU19YUENTX1JPQ0tDSElQYCB3aXRob3V0 IGluaGVyaXRpbmcgdGhlIHNlbGVjdGVkIHN5bWJvbCdz4oCmCi0gW01lZGl1bV0gRm9yIFNHTUlJ IHRoZSBkcml2ZXIgcmVtb3ZlcyBldmVyeSBzcGVlZC1kZXBlbmRlbnQgY2xvY2sKICBwcm9ncmFt bWluZyBwYXRoIChya19nbWFjX3Byb2JlKCkgc2V0cyBwbGF0X2RhdC0+c2V0X2Nsa190eF9yYXRl ID3igKYKLSBbTG93XSBya19nZXRfaW50ZXJmYWNlcygpIChkd21hYy1yay5jOjE1NzAtMTU3MSkg bm93IHNldHMKICBQSFlfSU5URVJGQUNFX01PREVfU0dNSUkgaW4gcGh5bGluaydzIHN1cHBvcnRl ZF9pbnRlcmZhY2VzIGZvciBldmVyeeKApgotIFtMb3ddIFRoZSBSSzM1NjggWFBDUyBTb0Mgbm9k ZSBhZGRlZCBieSB0aGUgc2VyaWVzICgnYXJtNjQ6IGR0czoKICByb2NrY2hpcDogcmszNTY4OiBh ZGQgWFBDUyBhbmQgZml4ZWQtY2xvY2sgbm9kZXMnKSBvbWl0cyBwcm9wZXJ0aWVz4oCmCi0gW0xv d10gcmtfc2VsZWN0X3BjcygpIChkd21hYy1yay5jOjEyNjgtMTI3NSkgaWdub3JlcyBpdHMgYGlu dGVyZmFjZWAKICBhcmd1bWVudCBhbmQgcmV0dXJucyB0aGUgU0dNSUkgWFBDUyBmb3IgZXZlcnkg aW50ZXJmYWNlIG1vZGUs4oCmCgpQcmUtZXhpc3RpbmcgaXNzdWVzOgotIFtNZWRpdW1dIERJU0NB UkRFRCAodmFsaWQgYnV0IHByZS1leGlzdGluZyBhbmQgYmVsb3cgdGhlIHJlcG9ydGluZwogIHRo cmVzaG9sZCBmb3IgcHJlLWV4aXN0aW5nIGRlZmVjdHMpLgoKLS0KCm5ldDogc3RtbWFjOiBkd21h Yy1yazogYWRkIFNHTUlJIHN1cHBvcnQgZm9yIFJLMzU2OAoKQWRkcyBhIHNldF90b19zZ21paSgp L3NldF90b19ybWlpKCkgcGFpciBmb3IgcmszNTY4IHRvIHByb2dyYW0gR1JGIGJpdCA3LAp3aXJl cyB1cCBwY3NfaW5pdC9wY3NfZXhpdC9zZWxlY3RfcGNzIHNvIHRoZSBSb2NrY2hpcCBYUENTIGlz IHVzZWQgYXMgdGhlClBDUywgYW5kIHJlb3JkZXJzIHJrX2dtYWNfcG93ZXJ1cCgpIHNvIHRoZSBj bG9ja3MgYXJlIGVuYWJsZWQgYmVmb3JlIHRoZQppbnRlcmZhY2Utc3BlY2lmaWMgY29uZmlndXJh dGlvbi4KCkxpbms6IGh0dHBzOi8vZGwucmFkeGEuY29tL3JvY2szL2RvY3MvaHcvZGF0YXNoZWV0 L1JvY2tjaGlwJTIwUkszNTY4JTIwVFJNJTIwUGFydDElMjBWMS4xLTIwMjEwMzAxLnBkZiAoUGFn ZSAzODYpCgpBIGZldyBxdWVzdGlvbnMgYmVsb3cuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv c3RtaWNyby9zdG1tYWMvS2NvbmZpZwo+IGluZGV4IGFiM2M0Y2Y5NjQyMzkuLmM2NTU5ZTc0OWMw Y2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2Nv bmZpZwo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWcK PiBAQCAtMTcwLDYgKzE3MCw3IEBAIGNvbmZpZyBEV01BQ19ST0NLQ0hJUAo+ICAJZGVmYXVsdCBB UkNIX1JPQ0tDSElQCj4gIAlkZXBlbmRzIG9uIE9GICYmIChBUkNIX1JPQ0tDSElQIHx8IENPTVBJ TEVfVEVTVCkKPiAgCXNlbGVjdCBNRkRfU1lTQ09OCj4gKwlzZWxlY3QgUENTX1hQQ1NfUk9DS0NI SVAKCltTZXZlcml0eTogTWVkaXVtXQpEb2VzIHRoaXMgc2VsZWN0IHByb2R1Y2UgdW5tZXQgZGVw ZW5kZW5jeSB3YXJuaW5ncz8gIFBDU19YUENTX1JPQ0tDSElQIGluCmRyaXZlcnMvbmV0L3Bjcy9L Y29uZmlnIGNhcnJpZXMgdGhyZWUgZGVwZW5kZW5jeSBsaW5lczoKCiAgY29uZmlnIFBDU19YUENT X1JPQ0tDSElQCgl0cmlzdGF0ZSAiUm9ja2NoaXAgWFBDUyBjb250cm9sbGVyIHN1cHBvcnQiCglk ZWZhdWx0IEFSQ0hfUk9DS0NISVAKCWRlcGVuZHMgb24gT0YgJiYgKEFSQ0hfUk9DS0NISVAgfHwg Q09NUElMRV9URVNUKQoJZGVwZW5kcyBvbiBHRU5FUklDX1BIWSB8fCBDT01QSUxFX1RFU1QKCWRl cGVuZHMgb24gUE1fR0VORVJJQ19ET01BSU5TIHx8IENPTVBJTEVfVEVTVAoKd2hpbGUgRFdNQUNf Uk9DS0NISVAgb25seSBoYXMgImRlcGVuZHMgb24gT0YgJiYgKEFSQ0hfUk9DS0NISVAgfHwKQ09N UElMRV9URVNUKSIuICBBUkNIX1JPQ0tDSElQIGluIGFyY2gvYXJtNjQvS2NvbmZpZy5wbGF0Zm9y bXMgc2VsZWN0cyBQTQpidXQgbmVpdGhlciBHRU5FUklDX1BIWSBub3IgUE1fR0VORVJJQ19ET01B SU5TLCBzbyBhIGNvbmZpZyB3aXRoCkFSQ0hfUk9DS0NISVA9eSwgQ09NUElMRV9URVNUPW4gYW5k IEdFTkVSSUNfUEhZPW4gKG9yIFBNX0dFTkVSSUNfRE9NQUlOUz1uKQpmb3JjZS1lbmFibGVzIFBD U19YUENTX1JPQ0tDSElQIHdpdGggaXRzIG93biBkZXBlbmRzIHVuc2F0aXNmaWVkOgoKICBXQVJO SU5HOiB1bm1ldCBkaXJlY3QgZGVwZW5kZW5jaWVzIGRldGVjdGVkIGZvciBQQ1NfWFBDU19ST0NL Q0hJUAoKcGNzLXhwY3MtcmsubyBpcyB0aGVuIGJ1aWx0IGFnYWluc3QgdGhlIHBoeSBzdHVicyB3 aGVyZSBkZXZtX3BoeV9nZXQoKQpyZXR1cm5zIEVSUl9QVFIoLUVOT1NZUyksIHNvIHRoZSBwcm9i ZSBjYW5ub3Qgc3VjY2VlZC4KClRoZSBzZWxlY3QgaXMgYWxzbyB1bmNvbmRpdGlvbmFsLCBzbyBl dmVyeSBSb2NrY2hpcCBkd21hYyBidWlsZAooUkszMjg4L1JLMzMyOC9SSzMzOTkvUkszNTg4IC4u LikgZm9yY2UtZW5hYmxlcyB0aGUgUkszNTZ4LW9ubHkgWFBDUwpkcml2ZXIuICBXb3VsZCBpbmhl cml0aW5nIHRoZSBjb25zdHJhaW50cywgb3IgbWFraW5nIHRoZSBzZWxlY3Rpb24KY29uZGl0aW9u YWwsIGJlIHByZWZlcmFibGUgaGVyZT8gIE5vdGUgdGhhdCBzaW1wbHkgYWRkaW5nIHRoZSB0d28g ZGVwZW5kcwpsaW5lcyB0byBEV01BQ19ST0NLQ0hJUCB3b3VsZCB0dXJuIG9mZiBFdGhlcm5ldCBv biBleGlzdGluZyBSSzMyODgvUkszMzk5CmNvbmZpZ3VyYXRpb25zLCBzbyB0aGUgY2hvaWNlIHBy b2JhYmx5IG5lZWRzIHRvIGJlIGV4cGxpY2l0LgoKVGhlIEtjb25maWcgY2hhbmdlIGlzIGFsc28g bm90IG1lbnRpb25lZCBhbnl3aGVyZSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuCgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwo+IGluZGV4IDhkNzA0 MmU2ODkyNjEuLjVkNTAxZWQ4ZDE0MjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKClsgLi4uIF0KCj4gQEAgLTEyMDgsNiArMTIzNyw0 MyBAQCBzdGF0aWMgdm9pZCBya19waHlfcG93ZXJkb3duKHN0cnVjdCBya19wcml2X2RhdGEgKmJz cF9wcml2KQo+ICtzdGF0aWMgc3RydWN0IHBoeWxpbmtfcGNzICpya19zZWxlY3RfcGNzKHN0cnVj dCBzdG1tYWNfcHJpdiAqcHJpdiwKPiArCQkJCQkgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSkK PiArewo+ICsJaWYgKCFwcml2LT5ody0+eHBjcykKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwly ZXR1cm4geHBjc190b19waHlsaW5rX3Bjcyhwcml2LT5ody0+eHBjcyk7Cj4gK30KCltTZXZlcml0 eTogTG93XQpTaG91bGQgcmtfc2VsZWN0X3BjcygpIGxvb2sgYXQgaXRzIGludGVyZmFjZSBhcmd1 bWVudD8gIFRoZSBtYWNfc2VsZWN0X3Bjcwpjb250cmFjdCBpbiBpbmNsdWRlL2xpbnV4L3BoeWxp bmsuaCBpcyB0byByZXR1cm4gdGhlIFBDUyBmb3IgdGhlIHNwZWNpZmllZAppbnRlcmZhY2UsIG9y IE5VTEwgd2hlbiBub25lIGlzIHJlcXVpcmVkLCBidXQgdGhpcyByZXR1cm5zIHRoZSBTR01JSSBY UENTCmZvciBhbnkgbW9kZS4KCk9uIGFuIFJLMzU2OCBwb3J0IHByb2JlZCBhcyBTR01JSSwgcmtf Z2V0X2ludGVyZmFjZXMoKSBhbHNvIGFkdmVydGlzZXMgdGhlClJHTUlJIHZhcmlhbnRzIGFuZCBS TUlJLCBhbmQgeHBjcy0+cGNzLnN1cHBvcnRlZF9pbnRlcmZhY2VzIGlzIG5vbi1lbXB0eQooZmls bGVkIGluIGJ5IHhwY3NfZ2V0X2ludGVyZmFjZXMoKSkuICBXaGVuIHBoeWxpbmsgdmFsaWRhdGVz IG9uZSBvZiB0aG9zZQpub24tU0dNSUkgaW50ZXJmYWNlcywgcGh5bGlua192YWxpZGF0ZV9tYWNf YW5kX3BjcygpIGhpdHM6CgoJaWYgKCFwaHlfaW50ZXJmYWNlX2VtcHR5KHBjcy0+c3VwcG9ydGVk X2ludGVyZmFjZXMpICYmCgkgICAgIXRlc3RfYml0KHN0YXRlLT5pbnRlcmZhY2UsIHBjcy0+c3Vw cG9ydGVkX2ludGVyZmFjZXMpKSB7CgkJcGh5bGlua19lcnIocGwsICJNQUMgcmV0dXJuZWQgUENT IHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgJXNcbiIsCgkJCSAgICBwaHlfbW9kZXMoc3RhdGUtPmlu dGVyZmFjZSkpOwoJCXJldHVybiAtRUlOVkFMOwoJfQoKV291bGQgcmV0dXJuaW5nIHRoZSBYUENT IG9ubHkgZm9yIFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSBhbmQgTlVMTApvdGhlcndpc2UgYXZv aWQgdGhhdCBlcnJvciBwYXRoPwoKPiBAQCAtMTM3OSwxNiArMTQ1MCwxOSBAQCBzdGF0aWMgaW50 IHJrX2dtYWNfcG93ZXJ1cChzdHJ1Y3QgcmtfcHJpdl9kYXRhICpic3BfcHJpdikKPiAgCWlmIChy ZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gKwlyZXQgPSBnbWFjX2Nsa19lbmFibGUoYnNwX3By aXYsIHRydWUpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKCltTZXZlcml0eTog TWVkaXVtXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IG5v dyB0aGF0IGdtYWNfY2xrX2VuYWJsZSgpCmlzIHRoZSBmaXJzdCByZXNvdXJjZSBhY3F1aXNpdGlv biBpbiBya19nbWFjX3Bvd2VydXAoKSwgaXRzIHBhcnRpYWwtZmFpbHVyZQpwYXRoIGJlY29tZXMg bW9yZSB2aXNpYmxlLiAgRG8gdGhlIGJ1bGsgY2xvY2tzIGxlYWsgd2hlbiB0aGUgY2xrX3BoeSBl bmFibGUKZmFpbHM/Cgpkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1y ay5jOmdtYWNfY2xrX2VuYWJsZSgpIHsKCS4uLgoJCXJldCA9IGNsa19idWxrX3ByZXBhcmVfZW5h YmxlKGJzcF9wcml2LT5udW1fY2xrcywKCQkJCQkgICAgICBic3BfcHJpdi0+Y2xrcyk7CgkJaWYg KHJldCkKCQkJcmV0dXJuIHJldDsKCgkJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGJzcF9wcml2 LT5jbGtfcGh5KTsKCQlpZiAocmV0KQoJCQlyZXR1cm4gcmV0OwoJLi4uCn0KClRoZSBzZWNvbmQg ZmFpbHVyZSByZXR1cm5zIHdpdGhvdXQgY2FsbGluZyBjbGtfYnVsa19kaXNhYmxlX3VucHJlcGFy ZSgpIGFuZAp3aXRob3V0IHNldHRpbmcgYnNwX3ByaXYtPmNsa19lbmFibGVkLCBzbyB0aGUgbGF0 ZXIgZ21hY19jbGtfZW5hYmxlKGJzcF9wcml2LApmYWxzZSkgaW4gcmtfZ21hY19wb3dlcmRvd24o KSBhbmQgYXQgdGhlIG5ldyBjbGtfZGlzYWJsZSBsYWJlbCBpcyBhIG5vLW9wCmJlY2F1c2UgaXQg aXMgZ2F0ZWQgb24gY2xrX2VuYWJsZWQuICBUaGlzIG9ubHkgdHJpZ2dlcnMgZm9yIGludGVncmF0 ZWQtUEhZCnNldHVwcyB3aGVyZSBjbGtfcGh5IGlzIG5vbi1OVUxMLgoKPiArCWlmIChic3BfcHJp di0+cGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSkKPiArCQlnb3RvIHNldF9t b2RlOwo+ICsKPiAgCXJldCA9IHJrX2dldF9waHlfaW50Zl9zZWwoYnNwX3ByaXYtPnBoeV9pZmFj ZSk7Cj4gIAlpZiAocmV0IDwgMCkKPiAtCQlyZXR1cm4gcmV0Owo+ICsJCWdvdG8gY2xrX2Rpc2Fi bGU7CgpbIC4uLiBdCgo+IEBAIC0xNDg2LDYgKzE1NjYsOSBAQCBzdGF0aWMgdm9pZCBya19nZXRf aW50ZXJmYWNlcyhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsIHZvaWQgKmJzcF9wcml2LAo+ICAK PiAgCWlmIChyay0+c3VwcG9ydHNfcm1paSkKPiAgCQlfX3NldF9iaXQoUEhZX0lOVEVSRkFDRV9N T0RFX1JNSUksIGludGVyZmFjZXMpOwo+ICsKPiArCWlmIChyay0+c3VwcG9ydHNfc2dtaWkpCj4g KwkJX19zZXRfYml0KFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSwgaW50ZXJmYWNlcyk7Cj4gIH0K CltTZXZlcml0eTogTG93XQpJcyBTR01JSSBzYWZlIHRvIGFkdmVydGlzZSBvbiBhIHBvcnQgdGhh dCB3YXMgbm90IHByb2JlZCBhcyBTR01JST8KcmszNTY4X29wcyBwb3B1bGF0ZXMgc2V0X3RvX3Nn bWlpIHVuY29uZGl0aW9uYWxseSwgYW5kIHJrX2dtYWNfc2V0dXAoKQpkZXJpdmVzIHN1cHBvcnRz X3NnbWlpIGZyb20gaXQsIHNvIGV2ZXJ5IFJLMzU2OCBwb3J0IG5vdyBhZHZlcnRpc2VzIFNHTUlJ CmluIHBoeWxpbmsncyBzdXBwb3J0ZWRfaW50ZXJmYWNlcyAoc3RtbWFjX3BoeV9zZXR1cCgpIGNv cGllcyB0aGUKZ2V0X2ludGVyZmFjZXMoKSBvdXRwdXQgdmVyYmF0aW0gaW50byBjb25maWctPnN1 cHBvcnRlZF9pbnRlcmZhY2VzKS4KCkFsbCB0aGUgU0dNSUkgc2V0dXAsIHRob3VnaCwgaXMga2V5 ZWQgb2ZmIHRoZSBwcm9iZS10aW1lIERUIHBoeS1tb2RlOgoKICAtIHJrX2dtYWNfcG93ZXJ1cCgp IHdyaXRlcyBSSzM1NjhfR01BQ19NT0RFX1NHTUlJX1FTR01JSSBvbmx5IGluIHRoZQogICAgImNh c2UgUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJOiIgYnJhbmNoLCB3aGljaCBydW5zIG9uY2UgYXQg aW5pdAogIC0gcmtfZ21hY19wcm9iZSgpIGluc3RhbGxzIHBjc19pbml0L3Bjc19leGl0L3NlbGVj dF9wY3MsCiAgICBkZWZhdWx0X2FuX2luYmFuZCBhbmQgY2xlYXJzIHNldF9jbGtfdHhfcmF0ZSBv bmx5IHVuZGVyCiAgICAiaWYgKHBsYXRfZGF0LT5waHlfaW50ZXJmYWNlID09IFBIWV9JTlRFUkZB Q0VfTU9ERV9TR01JSSkiCgpTbyBvbiBhIHBvcnQgcHJvYmVkIGFzIHJnbWlpKi9ybWlpLCBpZiBw aHlsaW5rIGxhdGVyIHNlbGVjdHMgU0dNSUkgKFNGUApjYWdlLCBvciBhIFBIWSByZXBvcnRpbmcg U0dNSUkgYXMgaXRzIGhvc3QgaW50ZXJmYWNlKSwgR1JGIGJpdCA3IHN0YXlzCmNsZWFyZWQgYnkg cmszNTY4X3NldF90b19yZ21paSgpL3JrMzU2OF9zZXRfdG9fcm1paSgpLCBwbGF0LT5zZWxlY3Rf cGNzIGlzCk5VTEwgc28gc3RtbWFjX21hY19zZWxlY3RfcGNzKCkgcmV0dXJucyBOVUxMIGFuZCB0 aGVyZSBpcyBubyBQQ1MgdG8gcnVuCmF1dG9uZWdvdGlhdGlvbi4gIEJlZm9yZSB0aGlzIHBhdGNo IFNHTUlJIHdhcyBub3QgaW4gc3VwcG9ydGVkX2ludGVyZmFjZXMKYW5kIHN1Y2ggYSBjb25maWd1 cmF0aW9uIHdhcyByZWplY3RlZCBkdXJpbmcgdmFsaWRhdGlvbi4gIFdvdWxkIGdhdGluZyB0aGUK X19zZXRfYml0KCkgb24gdGhlIHByb2JlLXRpbWUgaW50ZXJmYWNlIGJlIGNsb3NlciB0byB3aGF0 IHRoZSBoYXJkd2FyZSBjYW4KYWN0dWFsbHkgZG8/Cgo+IEBAIC0xNjAyLDYgKzE2ODUsMTcgQEAg c3RhdGljIGludCBya19nbWFjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g IAlwbGF0X2RhdC0+c3VzcGVuZCA9IHJrX2dtYWNfc3VzcGVuZDsKPiAgCXBsYXRfZGF0LT5yZXN1 bWUgPSBya19nbWFjX3Jlc3VtZTsKPiAgCj4gKwlpZiAocGxhdF9kYXQtPnBoeV9pbnRlcmZhY2Ug PT0gUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJKSB7Cj4gKwkJLyogU0dNSUkgY2xvY2sgYWx3YXlz IHJ1bnMgYXQgMTI1IE1IeiAqLwo+ICsJCXBsYXRfZGF0LT5zZXRfY2xrX3R4X3JhdGUgPSBOVUxM Owo+ICsKPiArCQkvKiBTR01JSSByZXF1aXJlcyBhIFBDUyAqLwo+ICsJCXBsYXRfZGF0LT5kZWZh dWx0X2FuX2luYmFuZCA9IHRydWU7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KVGhlIGNvbW1pdCBtZXNz YWdlIHNheXM6CgogICJFbmFibGUgZGVmYXVsdF9hbl9pbmJhbmQgZm9yIFNHTUlJIGFuZCBkaXNh YmxlIHRoZSBnZW5lcmljIHN0bW1hYwogICBzZXRfY2xrX3R4X3JhdGUgY2FsbGJhY2suICBUaGlz IGZvcmNlcyBwaHlsaW5rIHRvIHVzZSBpbi1iYW5kIG1vZGUsCiAgIHdoZXJlIHRoZSBQQ1MgaXMg cmVzcG9uc2libGUgZm9yIHNwZWVkL2R1cGxleCBuZWdvdGlhdGlvbi4iCgpJcyAiZm9yY2VzIiBh Y2N1cmF0ZT8gIGRlZmF1bHRfYW5faW5iYW5kIGlzIG9ubHkgYSBkZWZhdWx0LCBhbmQgdGhlIG5l eHQKcGFyYWdyYXBoIG9mIHRoZSBtZXNzYWdlIHNheXMgc28gaXRzZWxmLiAgSW4gcGh5bGlua19w YXJzZV9tb2RlKCk6CgoJaWYgKHBsLT5jb25maWctPmRlZmF1bHRfYW5faW5iYW5kKQoJCXBsLT5j ZmdfbGlua19hbl9tb2RlID0gTUxPX0FOX0lOQkFORDsKCglkbiA9IGZ3bm9kZV9nZXRfbmFtZWRf Y2hpbGRfbm9kZShmd25vZGUsICJmaXhlZC1saW5rIik7CglpZiAoZG4gfHwgZndub2RlX3Byb3Bl cnR5X3ByZXNlbnQoZndub2RlLCAiZml4ZWQtbGluayIpKQoJCXBsLT5jZmdfbGlua19hbl9tb2Rl ID0gTUxPX0FOX0ZJWEVEOwoKYW5kIHhwY3NfaW5iYW5kX2NhcHMoKSBhZHZlcnRpc2VzIG91dC1v Zi1iYW5kIGFzIGFjY2VwdGFibGU6CgoJY2FzZSBEV19BTl9DMzdfU0dNSUk6CgljYXNlIERXX0FO X0MzN18xMDAwQkFTRVg6CgkJcmV0dXJuIExJTktfSU5CQU5EX0RJU0FCTEUgfCBMSU5LX0lOQkFO RF9FTkFCTEU7CgpzbyBwaHlsaW5rX3Bjc19uZWdfbW9kZSgpIGNhbiBzZXR0bGUgb24gUEhZTElO S19QQ1NfTkVHX09VVEJBTkQgZm9yIGEKZml4ZWQtbGluayBub2RlIG9yIGEgUEhZIHdpdGhvdXQg aW4tYmFuZCBzdXBwb3J0LiAgV2l0aCBzZXRfY2xrX3R4X3JhdGUgc2V0CnRvIE5VTEwsIHJrMzU2 OF9vcHMuc2V0X3NwZWVkID0gcmtfc2V0X2Nsa19tYWNfc3BlZWQgYWxzbyBiZWNvbWVzCnVucmVh Y2hhYmxlLCBzbyBhIDEwLzEwMCBNYnBzIGxpbmsgaXMgYnJvdWdodCB1cCB3aXRoIHRoZSBjbG9j a2luZyBsZWZ0IGF0CnRoZSAxIEdicHMgc2V0dGluZyBhbmQgbm90aGluZyB3YXJucyBvciBmYWls cy4gIFdvdWxkIHJlamVjdGluZyBhCm5vbi1pbmJhbmQgbmVnX21vZGUgKGZvciBleGFtcGxlIGlu IG1hY19jb25maWcgb3IgcGNzX3ZhbGlkYXRlKSwgb3IgZmFpbGluZwpwcm9iZSB3aGVuIGEgZml4 ZWQtbGluayBub2RlIGlzIHByZXNlbnQgZm9yIFNHTUlJLCBtYXRjaCB3aGF0IHRoZSBtZXNzYWdl CmRlc2NyaWJlcz8KCk9uZSBtb3JlIG9ic2VydmF0aW9uIG9uIHRoZSBzZXJpZXMgcmF0aGVyIHRo YW4gb24gdGhpcyBwYXRjaDogdGhlIG5ldwpiaW5kaW5nIERvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9uZXQvcGNzL3JvY2tjaGlwLHJrMzU2OC14cGNzLnlhbWwKbGlzdHMgcGh5cyBh bmQgcGh5LW5hbWVzIGluIGl0cyB1bmNvbmRpdGlvbmFsIHJlcXVpcmVkIGxpc3QsIGJ1dCB0aGUK ZXRoZXJuZXQtcGNzQGZkYTAwMDAwIG5vZGUgYWRkZWQgdG8gYXJjaC9hcm02NC9ib290L2R0cy9y b2NrY2hpcC9yazM1NjguZHRzaQpzdXBwbGllcyBvbmx5IHJlZywgY2xvY2tzLCBjbG9jay1uYW1l cyBhbmQgcG93ZXItZG9tYWlucy4gIE9ubHkKcmszNTY4LXBob3RvbmljYXQuZHRzIGFkZHMgdGhl bToKCiAgJnhwY3MgewoJcGh5cyA9IDwmY29tYnBoeTIgUEhZX1RZUEVfU0dNSUk+OwoJcGh5LW5h bWVzID0gInNlcmRlcyI7CglzdGF0dXMgPSAib2theSI7CiAgfTsKCltTZXZlcml0eTogTG93XQpE b2VzIGR0YnNfY2hlY2sgcmVwb3J0ICJwaHlzIGlzIGEgcmVxdWlyZWQgcHJvcGVydHkiIGZvciB0 aGUgb3RoZXIgUkszNTY4CmJvYXJkIERUQnM/ICBkdHNjaGVtYSB2YWxpZGF0ZXMgbm9kZXMgcmVn YXJkbGVzcyBvZiBzdGF0dXMgPSAiZGlzYWJsZWQiLgpUaGUgbmVpZ2hib3VyaW5nIHNhdGEwIG5v ZGUgaW4gdGhlIHNhbWUgZHRzaSBkb2VzIGNhcnJ5IHBoeXMvcGh5LW5hbWVzIGF0ClNvQyBsZXZl bCwgc28gd291bGQgbW92aW5nIHRoZW0gaW50byByazM1NjguZHRzaSBiZSBhbiBvcHRpb24/Cgot LSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9uZXRkZXYtYWkuYm90cy5saW51eC5kZXYv c2FzaGlrby8jL3BhdGNoc2V0LzIwMjYwOTEzMTg1ODQ5LjkwNzQ3OS0xLWNvaWFwcmFudCU0MGdt YWlsLmNvbQoKLS0gCmxpbnV4LXBoeSBtYWlsaW5nIGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cHM6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtcGh5Cg== 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 4857CC88E73 for ; Mon, 14 Sep 2026 20:25:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:References:In-Reply-To:Message-ID:Date :Cc:To:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=EdUGey0Y6fUygZcO3oI/pgasXv1LbqpF456UVNPI0RY=; b=1+md9NluF2afbpZt9sdAPNveRv rZUS1+eqDX79XtJ+hnFhSwuIT57smR9yXloS7CsUI1YGjefSPEafzEGChrY4K2g66b+PENQrpMFK5 AbvggkRZpvtsK6Uqd/MB4tvpkQUui62HF/xNvj7I1PB6Q7YyGSSNTxEOvRqCHTVVtn8d/z7o/yEzi 0/um0t6Pk/LZ4fTXShH23dxnTwxgYO1kHLvDJ/kwP2dAfG/rJwjyFwkVJURwQc0m3jN0c5WiZLKhb svsJU5citqXQZqK3KjWE8QN5viHex5Mkonw+EtqDIU25SnTLI1V3bO5sU2NLIe1QSIbAzUZLdXlBA 68gRyFPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6DEr-00000004b2A-331f; Mon, 14 Sep 2026 20:25:17 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6DEU-00000004aZm-2RpJ; Mon, 14 Sep 2026 20:24:55 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id EFFFB602C2; Mon, 14 Sep 2026 20:24:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 343821F000FF; Mon, 14 Sep 2026 20:24:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789417493; bh=EdUGey0Y6fUygZcO3oI/pgasXv1LbqpF456UVNPI0RY=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=KmheNl2HmKbF7QozkgpVRgt69X5wdGL7cLO/skh5x+3JrNIJd3gG5muta106qbdx/ mrPtYOlO1vnbXtrFdsb21CPmp5GhsUa0Sg3LGwwRi7fPT9pgsHsabJIBW8JkUMUONd sXCLPRDWCdHXo062eN76E/tFT9x4dRBrX1+FDT/PhzBmp7nmAKe1M+xwzULRk/TPbt qd4WgeUgaqGYgUj0XIKQxauSUnaGyTdLGnJ2yr3sM1wlI23GB3jHf5NiJsXkHSJLv8 QpIC6nL/1m7H82LgjNg9Jd78DoPCj09tdA+NFKfCa6exzE8P2HTURFTmhXeEyrZUlk HhNlo2ZEk5ezw== Subject: Re: [PATCH net-next v5 09/11] net: stmmac: dwmac-rk: add SGMII support for RK3568 From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, vkoul@kernel.org, maxime.chevallier@bootlin.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, prabhakar.mahadev-lad.rj@bp.renesas.com, romain.gantois@bootlin.com, hkallweit1@gmail.com, neil.armstrong@linaro.org, linux@armlinux.org.uk, shawn.lin@rock-chips.com, david@ixit.cz, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-renesas-soc@vger.kernel.org Date: Mon, 14 Sep 2026 20:24:51 +0000 Message-ID: <178941749179.22033.3182687831989800376@kernel.org> In-Reply-To: <20260913185849.907479-10-coiaprant@gmail.com> References: <20260913185849.907479-10-coiaprant@gmail.com> X-sashiko-severity: Medium Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit MIME-Version: 1.0 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Thank you for your contribution! Sashiko AI review found 5 potential issue(s) to consider: Critical: 0 · High: 0 · Medium: 2 (1) · Low: 3 - [Medium] DWMAC_ROCKCHIP gains an unconditional `select PCS_XPCS_ROCKCHIP` without inheriting the selected symbol's… - [Medium] For SGMII the driver removes every speed-dependent clock programming path (rk_gmac_probe() sets plat_dat->set_clk_tx_rate =… - [Low] rk_get_interfaces() (dwmac-rk.c:1570-1571) now sets PHY_INTERFACE_MODE_SGMII in phylink's supported_interfaces for every… - [Low] The RK3568 XPCS SoC node added by the series ('arm64: dts: rockchip: rk3568: add XPCS and fixed-clock nodes') omits properties… - [Low] rk_select_pcs() (dwmac-rk.c:1268-1275) ignores its `interface` argument and returns the SGMII XPCS for every interface mode,… Pre-existing issues: - [Medium] DISCARDED (valid but pre-existing and below the reporting threshold for pre-existing defects). -- net: stmmac: dwmac-rk: add SGMII support for RK3568 Adds a set_to_sgmii()/set_to_rmii() pair for rk3568 to program GRF bit 7, wires up pcs_init/pcs_exit/select_pcs so the Rockchip XPCS is used as the PCS, and reorders rk_gmac_powerup() so the clocks are enabled before the interface-specific configuration. Link: https://dl.radxa.com/rock3/docs/hw/datasheet/Rockchip%20RK3568%20TRM%20Part1%20V1.1-20210301.pdf (Page 386) A few questions below. > diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig > index ab3c4cf964239..c6559e749c0ce 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig > +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig > @@ -170,6 +170,7 @@ config DWMAC_ROCKCHIP > default ARCH_ROCKCHIP > depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) > select MFD_SYSCON > + select PCS_XPCS_ROCKCHIP [Severity: Medium] Does this select produce unmet dependency warnings? PCS_XPCS_ROCKCHIP in drivers/net/pcs/Kconfig carries three dependency lines: config PCS_XPCS_ROCKCHIP tristate "Rockchip XPCS controller support" default ARCH_ROCKCHIP depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST) depends on GENERIC_PHY || COMPILE_TEST depends on PM_GENERIC_DOMAINS || COMPILE_TEST while DWMAC_ROCKCHIP only has "depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)". ARCH_ROCKCHIP in arch/arm64/Kconfig.platforms selects PM but neither GENERIC_PHY nor PM_GENERIC_DOMAINS, so a config with ARCH_ROCKCHIP=y, COMPILE_TEST=n and GENERIC_PHY=n (or PM_GENERIC_DOMAINS=n) force-enables PCS_XPCS_ROCKCHIP with its own depends unsatisfied: WARNING: unmet direct dependencies detected for PCS_XPCS_ROCKCHIP pcs-xpcs-rk.o is then built against the phy stubs where devm_phy_get() returns ERR_PTR(-ENOSYS), so the probe cannot succeed. The select is also unconditional, so every Rockchip dwmac build (RK3288/RK3328/RK3399/RK3588 ...) force-enables the RK356x-only XPCS driver. Would inheriting the constraints, or making the selection conditional, be preferable here? Note that simply adding the two depends lines to DWMAC_ROCKCHIP would turn off Ethernet on existing RK3288/RK3399 configurations, so the choice probably needs to be explicit. The Kconfig change is also not mentioned anywhere in the commit message. > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > index 8d7042e689261..5d501ed8d1429 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c [ ... ] > @@ -1208,6 +1237,43 @@ static void rk_phy_powerdown(struct rk_priv_data *bsp_priv) > +static struct phylink_pcs *rk_select_pcs(struct stmmac_priv *priv, > + phy_interface_t interface) > +{ > + if (!priv->hw->xpcs) > + return NULL; > + > + return xpcs_to_phylink_pcs(priv->hw->xpcs); > +} [Severity: Low] Should rk_select_pcs() look at its interface argument? The mac_select_pcs contract in include/linux/phylink.h is to return the PCS for the specified interface, or NULL when none is required, but this returns the SGMII XPCS for any mode. On an RK3568 port probed as SGMII, rk_get_interfaces() also advertises the RGMII variants and RMII, and xpcs->pcs.supported_interfaces is non-empty (filled in by xpcs_get_interfaces()). When phylink validates one of those non-SGMII interfaces, phylink_validate_mac_and_pcs() hits: if (!phy_interface_empty(pcs->supported_interfaces) && !test_bit(state->interface, pcs->supported_interfaces)) { phylink_err(pl, "MAC returned PCS which does not support %s\n", phy_modes(state->interface)); return -EINVAL; } Would returning the XPCS only for PHY_INTERFACE_MODE_SGMII and NULL otherwise avoid that error path? > @@ -1379,16 +1450,19 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv) > if (ret) > return ret; > > + ret = gmac_clk_enable(bsp_priv, true); > + if (ret) > + return ret; > + [Severity: Medium] This isn't a bug introduced by this patch, but now that gmac_clk_enable() is the first resource acquisition in rk_gmac_powerup(), its partial-failure path becomes more visible. Do the bulk clocks leak when the clk_phy enable fails? drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:gmac_clk_enable() { ... ret = clk_bulk_prepare_enable(bsp_priv->num_clks, bsp_priv->clks); if (ret) return ret; ret = clk_prepare_enable(bsp_priv->clk_phy); if (ret) return ret; ... } The second failure returns without calling clk_bulk_disable_unprepare() and without setting bsp_priv->clk_enabled, so the later gmac_clk_enable(bsp_priv, false) in rk_gmac_powerdown() and at the new clk_disable label is a no-op because it is gated on clk_enabled. This only triggers for integrated-PHY setups where clk_phy is non-NULL. > + if (bsp_priv->phy_iface == PHY_INTERFACE_MODE_SGMII) > + goto set_mode; > + > ret = rk_get_phy_intf_sel(bsp_priv->phy_iface); > if (ret < 0) > - return ret; > + goto clk_disable; [ ... ] > @@ -1486,6 +1566,9 @@ static void rk_get_interfaces(struct stmmac_priv *priv, void *bsp_priv, > > if (rk->supports_rmii) > __set_bit(PHY_INTERFACE_MODE_RMII, interfaces); > + > + if (rk->supports_sgmii) > + __set_bit(PHY_INTERFACE_MODE_SGMII, interfaces); > } [Severity: Low] Is SGMII safe to advertise on a port that was not probed as SGMII? rk3568_ops populates set_to_sgmii unconditionally, and rk_gmac_setup() derives supports_sgmii from it, so every RK3568 port now advertises SGMII in phylink's supported_interfaces (stmmac_phy_setup() copies the get_interfaces() output verbatim into config->supported_interfaces). All the SGMII setup, though, is keyed off the probe-time DT phy-mode: - rk_gmac_powerup() writes RK3568_GMAC_MODE_SGMII_QSGMII only in the "case PHY_INTERFACE_MODE_SGMII:" branch, which runs once at init - rk_gmac_probe() installs pcs_init/pcs_exit/select_pcs, default_an_inband and clears set_clk_tx_rate only under "if (plat_dat->phy_interface == PHY_INTERFACE_MODE_SGMII)" So on a port probed as rgmii*/rmii, if phylink later selects SGMII (SFP cage, or a PHY reporting SGMII as its host interface), GRF bit 7 stays cleared by rk3568_set_to_rgmii()/rk3568_set_to_rmii(), plat->select_pcs is NULL so stmmac_mac_select_pcs() returns NULL and there is no PCS to run autonegotiation. Before this patch SGMII was not in supported_interfaces and such a configuration was rejected during validation. Would gating the __set_bit() on the probe-time interface be closer to what the hardware can actually do? > @@ -1602,6 +1685,17 @@ static int rk_gmac_probe(struct platform_device *pdev) > plat_dat->suspend = rk_gmac_suspend; > plat_dat->resume = rk_gmac_resume; > > + if (plat_dat->phy_interface == PHY_INTERFACE_MODE_SGMII) { > + /* SGMII clock always runs at 125 MHz */ > + plat_dat->set_clk_tx_rate = NULL; > + > + /* SGMII requires a PCS */ > + plat_dat->default_an_inband = true; [Severity: Medium] The commit message says: "Enable default_an_inband for SGMII and disable the generic stmmac set_clk_tx_rate callback. This forces phylink to use in-band mode, where the PCS is responsible for speed/duplex negotiation." Is "forces" accurate? default_an_inband is only a default, and the next paragraph of the message says so itself. In phylink_parse_mode(): if (pl->config->default_an_inband) pl->cfg_link_an_mode = MLO_AN_INBAND; dn = fwnode_get_named_child_node(fwnode, "fixed-link"); if (dn || fwnode_property_present(fwnode, "fixed-link")) pl->cfg_link_an_mode = MLO_AN_FIXED; and xpcs_inband_caps() advertises out-of-band as acceptable: case DW_AN_C37_SGMII: case DW_AN_C37_1000BASEX: return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE; so phylink_pcs_neg_mode() can settle on PHYLINK_PCS_NEG_OUTBAND for a fixed-link node or a PHY without in-band support. With set_clk_tx_rate set to NULL, rk3568_ops.set_speed = rk_set_clk_mac_speed also becomes unreachable, so a 10/100 Mbps link is brought up with the clocking left at the 1 Gbps setting and nothing warns or fails. Would rejecting a non-inband neg_mode (for example in mac_config or pcs_validate), or failing probe when a fixed-link node is present for SGMII, match what the message describes? One more observation on the series rather than on this patch: the new binding Documentation/devicetree/bindings/net/pcs/rockchip,rk3568-xpcs.yaml lists phys and phy-names in its unconditional required list, but the ethernet-pcs@fda00000 node added to arch/arm64/boot/dts/rockchip/rk3568.dtsi supplies only reg, clocks, clock-names and power-domains. Only rk3568-photonicat.dts adds them: &xpcs { phys = <&combphy2 PHY_TYPE_SGMII>; phy-names = "serdes"; status = "okay"; }; [Severity: Low] Does dtbs_check report "phys is a required property" for the other RK3568 board DTBs? dtschema validates nodes regardless of status = "disabled". The neighbouring sata0 node in the same dtsi does carry phys/phy-names at SoC level, so would moving them into rk3568.dtsi be an option? -- Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260913185849.907479-1-coiaprant%40gmail.com 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 11A50C88E7B for ; Mon, 14 Sep 2026 20:25:22 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Cc:To:From:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wKQruzTHpMnBM0BlQUSGBtQePUP8yp1aR+08X2QNprk=; b=44svjRqnbX5vZS aICfk+CmmdaISkpLZBKiD/94CESUrsZZz/zOhsi4ebu2q+Zte6dKyPNevZZdjrfBWlorIDLz4rDj4 lIqKkNXL3vx0LvxT24a9wikA+AdwYYa8ri68U9XMZn5hbyobpzKvuSuFv3bnw75Dfu+xEDBwr8Nqy L12H7ZKsk+aUyPorkLcDO4TUaKdBcVStMn5vs+OpyAROnyrFjFCqKN6259OXzK7c8apX5tcL/yZOK SvlktxmjY5P0dJZTG5WpFqgIIGrn//6RTT4Rue7CG1h3+e0TJ7XaqiF8lZOgeBj9+I4AOESUdxaBx NX7OV1VPPK4jXQBR3g4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6DEs-00000004b2x-0Gcd; Mon, 14 Sep 2026 20:25:18 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6DEU-00000004aZm-2RpJ; Mon, 14 Sep 2026 20:24:55 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id EFFFB602C2; Mon, 14 Sep 2026 20:24:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 343821F000FF; Mon, 14 Sep 2026 20:24:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789417493; bh=EdUGey0Y6fUygZcO3oI/pgasXv1LbqpF456UVNPI0RY=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=KmheNl2HmKbF7QozkgpVRgt69X5wdGL7cLO/skh5x+3JrNIJd3gG5muta106qbdx/ mrPtYOlO1vnbXtrFdsb21CPmp5GhsUa0Sg3LGwwRi7fPT9pgsHsabJIBW8JkUMUONd sXCLPRDWCdHXo062eN76E/tFT9x4dRBrX1+FDT/PhzBmp7nmAKe1M+xwzULRk/TPbt qd4WgeUgaqGYgUj0XIKQxauSUnaGyTdLGnJ2yr3sM1wlI23GB3jHf5NiJsXkHSJLv8 QpIC6nL/1m7H82LgjNg9Jd78DoPCj09tdA+NFKfCa6exzE8P2HTURFTmhXeEyrZUlk HhNlo2ZEk5ezw== Subject: Re: [PATCH net-next v5 09/11] net: stmmac: dwmac-rk: add SGMII support for RK3568 From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, vkoul@kernel.org, maxime.chevallier@bootlin.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, prabhakar.mahadev-lad.rj@bp.renesas.com, romain.gantois@bootlin.com, hkallweit1@gmail.com, neil.armstrong@linaro.org, linux@armlinux.org.uk, shawn.lin@rock-chips.com, david@ixit.cz, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-renesas-soc@vger.kernel.org Date: Mon, 14 Sep 2026 20:24:51 +0000 Message-ID: <178941749179.22033.3182687831989800376@kernel.org> In-Reply-To: <20260913185849.907479-10-coiaprant@gmail.com> References: <20260913185849.907479-10-coiaprant@gmail.com> X-sashiko-severity: Medium MIME-Version: 1.0 X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NSBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXI6CgpDcml0aWNhbDogMCDCtyBIaWdoOiAw IMK3IE1lZGl1bTogMiAoMSkgwrcgTG93OiAzCgotIFtNZWRpdW1dIERXTUFDX1JPQ0tDSElQIGdh aW5zIGFuIHVuY29uZGl0aW9uYWwgYHNlbGVjdAogIFBDU19YUENTX1JPQ0tDSElQYCB3aXRob3V0 IGluaGVyaXRpbmcgdGhlIHNlbGVjdGVkIHN5bWJvbCdz4oCmCi0gW01lZGl1bV0gRm9yIFNHTUlJ IHRoZSBkcml2ZXIgcmVtb3ZlcyBldmVyeSBzcGVlZC1kZXBlbmRlbnQgY2xvY2sKICBwcm9ncmFt bWluZyBwYXRoIChya19nbWFjX3Byb2JlKCkgc2V0cyBwbGF0X2RhdC0+c2V0X2Nsa190eF9yYXRl ID3igKYKLSBbTG93XSBya19nZXRfaW50ZXJmYWNlcygpIChkd21hYy1yay5jOjE1NzAtMTU3MSkg bm93IHNldHMKICBQSFlfSU5URVJGQUNFX01PREVfU0dNSUkgaW4gcGh5bGluaydzIHN1cHBvcnRl ZF9pbnRlcmZhY2VzIGZvciBldmVyeeKApgotIFtMb3ddIFRoZSBSSzM1NjggWFBDUyBTb0Mgbm9k ZSBhZGRlZCBieSB0aGUgc2VyaWVzICgnYXJtNjQ6IGR0czoKICByb2NrY2hpcDogcmszNTY4OiBh ZGQgWFBDUyBhbmQgZml4ZWQtY2xvY2sgbm9kZXMnKSBvbWl0cyBwcm9wZXJ0aWVz4oCmCi0gW0xv d10gcmtfc2VsZWN0X3BjcygpIChkd21hYy1yay5jOjEyNjgtMTI3NSkgaWdub3JlcyBpdHMgYGlu dGVyZmFjZWAKICBhcmd1bWVudCBhbmQgcmV0dXJucyB0aGUgU0dNSUkgWFBDUyBmb3IgZXZlcnkg aW50ZXJmYWNlIG1vZGUs4oCmCgpQcmUtZXhpc3RpbmcgaXNzdWVzOgotIFtNZWRpdW1dIERJU0NB UkRFRCAodmFsaWQgYnV0IHByZS1leGlzdGluZyBhbmQgYmVsb3cgdGhlIHJlcG9ydGluZwogIHRo cmVzaG9sZCBmb3IgcHJlLWV4aXN0aW5nIGRlZmVjdHMpLgoKLS0KCm5ldDogc3RtbWFjOiBkd21h Yy1yazogYWRkIFNHTUlJIHN1cHBvcnQgZm9yIFJLMzU2OAoKQWRkcyBhIHNldF90b19zZ21paSgp L3NldF90b19ybWlpKCkgcGFpciBmb3IgcmszNTY4IHRvIHByb2dyYW0gR1JGIGJpdCA3LAp3aXJl cyB1cCBwY3NfaW5pdC9wY3NfZXhpdC9zZWxlY3RfcGNzIHNvIHRoZSBSb2NrY2hpcCBYUENTIGlz IHVzZWQgYXMgdGhlClBDUywgYW5kIHJlb3JkZXJzIHJrX2dtYWNfcG93ZXJ1cCgpIHNvIHRoZSBj bG9ja3MgYXJlIGVuYWJsZWQgYmVmb3JlIHRoZQppbnRlcmZhY2Utc3BlY2lmaWMgY29uZmlndXJh dGlvbi4KCkxpbms6IGh0dHBzOi8vZGwucmFkeGEuY29tL3JvY2szL2RvY3MvaHcvZGF0YXNoZWV0 L1JvY2tjaGlwJTIwUkszNTY4JTIwVFJNJTIwUGFydDElMjBWMS4xLTIwMjEwMzAxLnBkZiAoUGFn ZSAzODYpCgpBIGZldyBxdWVzdGlvbnMgYmVsb3cuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9LY29uZmlnIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv c3RtaWNyby9zdG1tYWMvS2NvbmZpZwo+IGluZGV4IGFiM2M0Y2Y5NjQyMzkuLmM2NTU5ZTc0OWMw Y2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvS2Nv bmZpZwo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL0tjb25maWcK PiBAQCAtMTcwLDYgKzE3MCw3IEBAIGNvbmZpZyBEV01BQ19ST0NLQ0hJUAo+ICAJZGVmYXVsdCBB UkNIX1JPQ0tDSElQCj4gIAlkZXBlbmRzIG9uIE9GICYmIChBUkNIX1JPQ0tDSElQIHx8IENPTVBJ TEVfVEVTVCkKPiAgCXNlbGVjdCBNRkRfU1lTQ09OCj4gKwlzZWxlY3QgUENTX1hQQ1NfUk9DS0NI SVAKCltTZXZlcml0eTogTWVkaXVtXQpEb2VzIHRoaXMgc2VsZWN0IHByb2R1Y2UgdW5tZXQgZGVw ZW5kZW5jeSB3YXJuaW5ncz8gIFBDU19YUENTX1JPQ0tDSElQIGluCmRyaXZlcnMvbmV0L3Bjcy9L Y29uZmlnIGNhcnJpZXMgdGhyZWUgZGVwZW5kZW5jeSBsaW5lczoKCiAgY29uZmlnIFBDU19YUENT X1JPQ0tDSElQCgl0cmlzdGF0ZSAiUm9ja2NoaXAgWFBDUyBjb250cm9sbGVyIHN1cHBvcnQiCglk ZWZhdWx0IEFSQ0hfUk9DS0NISVAKCWRlcGVuZHMgb24gT0YgJiYgKEFSQ0hfUk9DS0NISVAgfHwg Q09NUElMRV9URVNUKQoJZGVwZW5kcyBvbiBHRU5FUklDX1BIWSB8fCBDT01QSUxFX1RFU1QKCWRl cGVuZHMgb24gUE1fR0VORVJJQ19ET01BSU5TIHx8IENPTVBJTEVfVEVTVAoKd2hpbGUgRFdNQUNf Uk9DS0NISVAgb25seSBoYXMgImRlcGVuZHMgb24gT0YgJiYgKEFSQ0hfUk9DS0NISVAgfHwKQ09N UElMRV9URVNUKSIuICBBUkNIX1JPQ0tDSElQIGluIGFyY2gvYXJtNjQvS2NvbmZpZy5wbGF0Zm9y bXMgc2VsZWN0cyBQTQpidXQgbmVpdGhlciBHRU5FUklDX1BIWSBub3IgUE1fR0VORVJJQ19ET01B SU5TLCBzbyBhIGNvbmZpZyB3aXRoCkFSQ0hfUk9DS0NISVA9eSwgQ09NUElMRV9URVNUPW4gYW5k IEdFTkVSSUNfUEhZPW4gKG9yIFBNX0dFTkVSSUNfRE9NQUlOUz1uKQpmb3JjZS1lbmFibGVzIFBD U19YUENTX1JPQ0tDSElQIHdpdGggaXRzIG93biBkZXBlbmRzIHVuc2F0aXNmaWVkOgoKICBXQVJO SU5HOiB1bm1ldCBkaXJlY3QgZGVwZW5kZW5jaWVzIGRldGVjdGVkIGZvciBQQ1NfWFBDU19ST0NL Q0hJUAoKcGNzLXhwY3MtcmsubyBpcyB0aGVuIGJ1aWx0IGFnYWluc3QgdGhlIHBoeSBzdHVicyB3 aGVyZSBkZXZtX3BoeV9nZXQoKQpyZXR1cm5zIEVSUl9QVFIoLUVOT1NZUyksIHNvIHRoZSBwcm9i ZSBjYW5ub3Qgc3VjY2VlZC4KClRoZSBzZWxlY3QgaXMgYWxzbyB1bmNvbmRpdGlvbmFsLCBzbyBl dmVyeSBSb2NrY2hpcCBkd21hYyBidWlsZAooUkszMjg4L1JLMzMyOC9SSzMzOTkvUkszNTg4IC4u LikgZm9yY2UtZW5hYmxlcyB0aGUgUkszNTZ4LW9ubHkgWFBDUwpkcml2ZXIuICBXb3VsZCBpbmhl cml0aW5nIHRoZSBjb25zdHJhaW50cywgb3IgbWFraW5nIHRoZSBzZWxlY3Rpb24KY29uZGl0aW9u YWwsIGJlIHByZWZlcmFibGUgaGVyZT8gIE5vdGUgdGhhdCBzaW1wbHkgYWRkaW5nIHRoZSB0d28g ZGVwZW5kcwpsaW5lcyB0byBEV01BQ19ST0NLQ0hJUCB3b3VsZCB0dXJuIG9mZiBFdGhlcm5ldCBv biBleGlzdGluZyBSSzMyODgvUkszMzk5CmNvbmZpZ3VyYXRpb25zLCBzbyB0aGUgY2hvaWNlIHBy b2JhYmx5IG5lZWRzIHRvIGJlIGV4cGxpY2l0LgoKVGhlIEtjb25maWcgY2hhbmdlIGlzIGFsc28g bm90IG1lbnRpb25lZCBhbnl3aGVyZSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuCgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwo+IGluZGV4IDhkNzA0 MmU2ODkyNjEuLjVkNTAxZWQ4ZDE0MjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKClsgLi4uIF0KCj4gQEAgLTEyMDgsNiArMTIzNyw0 MyBAQCBzdGF0aWMgdm9pZCBya19waHlfcG93ZXJkb3duKHN0cnVjdCBya19wcml2X2RhdGEgKmJz cF9wcml2KQo+ICtzdGF0aWMgc3RydWN0IHBoeWxpbmtfcGNzICpya19zZWxlY3RfcGNzKHN0cnVj dCBzdG1tYWNfcHJpdiAqcHJpdiwKPiArCQkJCQkgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSkK PiArewo+ICsJaWYgKCFwcml2LT5ody0+eHBjcykKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwly ZXR1cm4geHBjc190b19waHlsaW5rX3Bjcyhwcml2LT5ody0+eHBjcyk7Cj4gK30KCltTZXZlcml0 eTogTG93XQpTaG91bGQgcmtfc2VsZWN0X3BjcygpIGxvb2sgYXQgaXRzIGludGVyZmFjZSBhcmd1 bWVudD8gIFRoZSBtYWNfc2VsZWN0X3Bjcwpjb250cmFjdCBpbiBpbmNsdWRlL2xpbnV4L3BoeWxp bmsuaCBpcyB0byByZXR1cm4gdGhlIFBDUyBmb3IgdGhlIHNwZWNpZmllZAppbnRlcmZhY2UsIG9y IE5VTEwgd2hlbiBub25lIGlzIHJlcXVpcmVkLCBidXQgdGhpcyByZXR1cm5zIHRoZSBTR01JSSBY UENTCmZvciBhbnkgbW9kZS4KCk9uIGFuIFJLMzU2OCBwb3J0IHByb2JlZCBhcyBTR01JSSwgcmtf Z2V0X2ludGVyZmFjZXMoKSBhbHNvIGFkdmVydGlzZXMgdGhlClJHTUlJIHZhcmlhbnRzIGFuZCBS TUlJLCBhbmQgeHBjcy0+cGNzLnN1cHBvcnRlZF9pbnRlcmZhY2VzIGlzIG5vbi1lbXB0eQooZmls bGVkIGluIGJ5IHhwY3NfZ2V0X2ludGVyZmFjZXMoKSkuICBXaGVuIHBoeWxpbmsgdmFsaWRhdGVz IG9uZSBvZiB0aG9zZQpub24tU0dNSUkgaW50ZXJmYWNlcywgcGh5bGlua192YWxpZGF0ZV9tYWNf YW5kX3BjcygpIGhpdHM6CgoJaWYgKCFwaHlfaW50ZXJmYWNlX2VtcHR5KHBjcy0+c3VwcG9ydGVk X2ludGVyZmFjZXMpICYmCgkgICAgIXRlc3RfYml0KHN0YXRlLT5pbnRlcmZhY2UsIHBjcy0+c3Vw cG9ydGVkX2ludGVyZmFjZXMpKSB7CgkJcGh5bGlua19lcnIocGwsICJNQUMgcmV0dXJuZWQgUENT IHdoaWNoIGRvZXMgbm90IHN1cHBvcnQgJXNcbiIsCgkJCSAgICBwaHlfbW9kZXMoc3RhdGUtPmlu dGVyZmFjZSkpOwoJCXJldHVybiAtRUlOVkFMOwoJfQoKV291bGQgcmV0dXJuaW5nIHRoZSBYUENT IG9ubHkgZm9yIFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSBhbmQgTlVMTApvdGhlcndpc2UgYXZv aWQgdGhhdCBlcnJvciBwYXRoPwoKPiBAQCAtMTM3OSwxNiArMTQ1MCwxOSBAQCBzdGF0aWMgaW50 IHJrX2dtYWNfcG93ZXJ1cChzdHJ1Y3QgcmtfcHJpdl9kYXRhICpic3BfcHJpdikKPiAgCWlmIChy ZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gKwlyZXQgPSBnbWFjX2Nsa19lbmFibGUoYnNwX3By aXYsIHRydWUpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKCltTZXZlcml0eTog TWVkaXVtXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IG5v dyB0aGF0IGdtYWNfY2xrX2VuYWJsZSgpCmlzIHRoZSBmaXJzdCByZXNvdXJjZSBhY3F1aXNpdGlv biBpbiBya19nbWFjX3Bvd2VydXAoKSwgaXRzIHBhcnRpYWwtZmFpbHVyZQpwYXRoIGJlY29tZXMg bW9yZSB2aXNpYmxlLiAgRG8gdGhlIGJ1bGsgY2xvY2tzIGxlYWsgd2hlbiB0aGUgY2xrX3BoeSBl bmFibGUKZmFpbHM/Cgpkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1y ay5jOmdtYWNfY2xrX2VuYWJsZSgpIHsKCS4uLgoJCXJldCA9IGNsa19idWxrX3ByZXBhcmVfZW5h YmxlKGJzcF9wcml2LT5udW1fY2xrcywKCQkJCQkgICAgICBic3BfcHJpdi0+Y2xrcyk7CgkJaWYg KHJldCkKCQkJcmV0dXJuIHJldDsKCgkJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGJzcF9wcml2 LT5jbGtfcGh5KTsKCQlpZiAocmV0KQoJCQlyZXR1cm4gcmV0OwoJLi4uCn0KClRoZSBzZWNvbmQg ZmFpbHVyZSByZXR1cm5zIHdpdGhvdXQgY2FsbGluZyBjbGtfYnVsa19kaXNhYmxlX3VucHJlcGFy ZSgpIGFuZAp3aXRob3V0IHNldHRpbmcgYnNwX3ByaXYtPmNsa19lbmFibGVkLCBzbyB0aGUgbGF0 ZXIgZ21hY19jbGtfZW5hYmxlKGJzcF9wcml2LApmYWxzZSkgaW4gcmtfZ21hY19wb3dlcmRvd24o KSBhbmQgYXQgdGhlIG5ldyBjbGtfZGlzYWJsZSBsYWJlbCBpcyBhIG5vLW9wCmJlY2F1c2UgaXQg aXMgZ2F0ZWQgb24gY2xrX2VuYWJsZWQuICBUaGlzIG9ubHkgdHJpZ2dlcnMgZm9yIGludGVncmF0 ZWQtUEhZCnNldHVwcyB3aGVyZSBjbGtfcGh5IGlzIG5vbi1OVUxMLgoKPiArCWlmIChic3BfcHJp di0+cGh5X2lmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSkKPiArCQlnb3RvIHNldF9t b2RlOwo+ICsKPiAgCXJldCA9IHJrX2dldF9waHlfaW50Zl9zZWwoYnNwX3ByaXYtPnBoeV9pZmFj ZSk7Cj4gIAlpZiAocmV0IDwgMCkKPiAtCQlyZXR1cm4gcmV0Owo+ICsJCWdvdG8gY2xrX2Rpc2Fi bGU7CgpbIC4uLiBdCgo+IEBAIC0xNDg2LDYgKzE1NjYsOSBAQCBzdGF0aWMgdm9pZCBya19nZXRf aW50ZXJmYWNlcyhzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYsIHZvaWQgKmJzcF9wcml2LAo+ICAK PiAgCWlmIChyay0+c3VwcG9ydHNfcm1paSkKPiAgCQlfX3NldF9iaXQoUEhZX0lOVEVSRkFDRV9N T0RFX1JNSUksIGludGVyZmFjZXMpOwo+ICsKPiArCWlmIChyay0+c3VwcG9ydHNfc2dtaWkpCj4g KwkJX19zZXRfYml0KFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSwgaW50ZXJmYWNlcyk7Cj4gIH0K CltTZXZlcml0eTogTG93XQpJcyBTR01JSSBzYWZlIHRvIGFkdmVydGlzZSBvbiBhIHBvcnQgdGhh dCB3YXMgbm90IHByb2JlZCBhcyBTR01JST8KcmszNTY4X29wcyBwb3B1bGF0ZXMgc2V0X3RvX3Nn bWlpIHVuY29uZGl0aW9uYWxseSwgYW5kIHJrX2dtYWNfc2V0dXAoKQpkZXJpdmVzIHN1cHBvcnRz X3NnbWlpIGZyb20gaXQsIHNvIGV2ZXJ5IFJLMzU2OCBwb3J0IG5vdyBhZHZlcnRpc2VzIFNHTUlJ CmluIHBoeWxpbmsncyBzdXBwb3J0ZWRfaW50ZXJmYWNlcyAoc3RtbWFjX3BoeV9zZXR1cCgpIGNv cGllcyB0aGUKZ2V0X2ludGVyZmFjZXMoKSBvdXRwdXQgdmVyYmF0aW0gaW50byBjb25maWctPnN1 cHBvcnRlZF9pbnRlcmZhY2VzKS4KCkFsbCB0aGUgU0dNSUkgc2V0dXAsIHRob3VnaCwgaXMga2V5 ZWQgb2ZmIHRoZSBwcm9iZS10aW1lIERUIHBoeS1tb2RlOgoKICAtIHJrX2dtYWNfcG93ZXJ1cCgp IHdyaXRlcyBSSzM1NjhfR01BQ19NT0RFX1NHTUlJX1FTR01JSSBvbmx5IGluIHRoZQogICAgImNh c2UgUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJOiIgYnJhbmNoLCB3aGljaCBydW5zIG9uY2UgYXQg aW5pdAogIC0gcmtfZ21hY19wcm9iZSgpIGluc3RhbGxzIHBjc19pbml0L3Bjc19leGl0L3NlbGVj dF9wY3MsCiAgICBkZWZhdWx0X2FuX2luYmFuZCBhbmQgY2xlYXJzIHNldF9jbGtfdHhfcmF0ZSBv bmx5IHVuZGVyCiAgICAiaWYgKHBsYXRfZGF0LT5waHlfaW50ZXJmYWNlID09IFBIWV9JTlRFUkZB Q0VfTU9ERV9TR01JSSkiCgpTbyBvbiBhIHBvcnQgcHJvYmVkIGFzIHJnbWlpKi9ybWlpLCBpZiBw aHlsaW5rIGxhdGVyIHNlbGVjdHMgU0dNSUkgKFNGUApjYWdlLCBvciBhIFBIWSByZXBvcnRpbmcg U0dNSUkgYXMgaXRzIGhvc3QgaW50ZXJmYWNlKSwgR1JGIGJpdCA3IHN0YXlzCmNsZWFyZWQgYnkg cmszNTY4X3NldF90b19yZ21paSgpL3JrMzU2OF9zZXRfdG9fcm1paSgpLCBwbGF0LT5zZWxlY3Rf cGNzIGlzCk5VTEwgc28gc3RtbWFjX21hY19zZWxlY3RfcGNzKCkgcmV0dXJucyBOVUxMIGFuZCB0 aGVyZSBpcyBubyBQQ1MgdG8gcnVuCmF1dG9uZWdvdGlhdGlvbi4gIEJlZm9yZSB0aGlzIHBhdGNo IFNHTUlJIHdhcyBub3QgaW4gc3VwcG9ydGVkX2ludGVyZmFjZXMKYW5kIHN1Y2ggYSBjb25maWd1 cmF0aW9uIHdhcyByZWplY3RlZCBkdXJpbmcgdmFsaWRhdGlvbi4gIFdvdWxkIGdhdGluZyB0aGUK X19zZXRfYml0KCkgb24gdGhlIHByb2JlLXRpbWUgaW50ZXJmYWNlIGJlIGNsb3NlciB0byB3aGF0 IHRoZSBoYXJkd2FyZSBjYW4KYWN0dWFsbHkgZG8/Cgo+IEBAIC0xNjAyLDYgKzE2ODUsMTcgQEAg c3RhdGljIGludCBya19nbWFjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g IAlwbGF0X2RhdC0+c3VzcGVuZCA9IHJrX2dtYWNfc3VzcGVuZDsKPiAgCXBsYXRfZGF0LT5yZXN1 bWUgPSBya19nbWFjX3Jlc3VtZTsKPiAgCj4gKwlpZiAocGxhdF9kYXQtPnBoeV9pbnRlcmZhY2Ug PT0gUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJKSB7Cj4gKwkJLyogU0dNSUkgY2xvY2sgYWx3YXlz IHJ1bnMgYXQgMTI1IE1IeiAqLwo+ICsJCXBsYXRfZGF0LT5zZXRfY2xrX3R4X3JhdGUgPSBOVUxM Owo+ICsKPiArCQkvKiBTR01JSSByZXF1aXJlcyBhIFBDUyAqLwo+ICsJCXBsYXRfZGF0LT5kZWZh dWx0X2FuX2luYmFuZCA9IHRydWU7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KVGhlIGNvbW1pdCBtZXNz YWdlIHNheXM6CgogICJFbmFibGUgZGVmYXVsdF9hbl9pbmJhbmQgZm9yIFNHTUlJIGFuZCBkaXNh YmxlIHRoZSBnZW5lcmljIHN0bW1hYwogICBzZXRfY2xrX3R4X3JhdGUgY2FsbGJhY2suICBUaGlz IGZvcmNlcyBwaHlsaW5rIHRvIHVzZSBpbi1iYW5kIG1vZGUsCiAgIHdoZXJlIHRoZSBQQ1MgaXMg cmVzcG9uc2libGUgZm9yIHNwZWVkL2R1cGxleCBuZWdvdGlhdGlvbi4iCgpJcyAiZm9yY2VzIiBh Y2N1cmF0ZT8gIGRlZmF1bHRfYW5faW5iYW5kIGlzIG9ubHkgYSBkZWZhdWx0LCBhbmQgdGhlIG5l eHQKcGFyYWdyYXBoIG9mIHRoZSBtZXNzYWdlIHNheXMgc28gaXRzZWxmLiAgSW4gcGh5bGlua19w YXJzZV9tb2RlKCk6CgoJaWYgKHBsLT5jb25maWctPmRlZmF1bHRfYW5faW5iYW5kKQoJCXBsLT5j ZmdfbGlua19hbl9tb2RlID0gTUxPX0FOX0lOQkFORDsKCglkbiA9IGZ3bm9kZV9nZXRfbmFtZWRf Y2hpbGRfbm9kZShmd25vZGUsICJmaXhlZC1saW5rIik7CglpZiAoZG4gfHwgZndub2RlX3Byb3Bl cnR5X3ByZXNlbnQoZndub2RlLCAiZml4ZWQtbGluayIpKQoJCXBsLT5jZmdfbGlua19hbl9tb2Rl ID0gTUxPX0FOX0ZJWEVEOwoKYW5kIHhwY3NfaW5iYW5kX2NhcHMoKSBhZHZlcnRpc2VzIG91dC1v Zi1iYW5kIGFzIGFjY2VwdGFibGU6CgoJY2FzZSBEV19BTl9DMzdfU0dNSUk6CgljYXNlIERXX0FO X0MzN18xMDAwQkFTRVg6CgkJcmV0dXJuIExJTktfSU5CQU5EX0RJU0FCTEUgfCBMSU5LX0lOQkFO RF9FTkFCTEU7CgpzbyBwaHlsaW5rX3Bjc19uZWdfbW9kZSgpIGNhbiBzZXR0bGUgb24gUEhZTElO S19QQ1NfTkVHX09VVEJBTkQgZm9yIGEKZml4ZWQtbGluayBub2RlIG9yIGEgUEhZIHdpdGhvdXQg aW4tYmFuZCBzdXBwb3J0LiAgV2l0aCBzZXRfY2xrX3R4X3JhdGUgc2V0CnRvIE5VTEwsIHJrMzU2 OF9vcHMuc2V0X3NwZWVkID0gcmtfc2V0X2Nsa19tYWNfc3BlZWQgYWxzbyBiZWNvbWVzCnVucmVh Y2hhYmxlLCBzbyBhIDEwLzEwMCBNYnBzIGxpbmsgaXMgYnJvdWdodCB1cCB3aXRoIHRoZSBjbG9j a2luZyBsZWZ0IGF0CnRoZSAxIEdicHMgc2V0dGluZyBhbmQgbm90aGluZyB3YXJucyBvciBmYWls cy4gIFdvdWxkIHJlamVjdGluZyBhCm5vbi1pbmJhbmQgbmVnX21vZGUgKGZvciBleGFtcGxlIGlu IG1hY19jb25maWcgb3IgcGNzX3ZhbGlkYXRlKSwgb3IgZmFpbGluZwpwcm9iZSB3aGVuIGEgZml4 ZWQtbGluayBub2RlIGlzIHByZXNlbnQgZm9yIFNHTUlJLCBtYXRjaCB3aGF0IHRoZSBtZXNzYWdl CmRlc2NyaWJlcz8KCk9uZSBtb3JlIG9ic2VydmF0aW9uIG9uIHRoZSBzZXJpZXMgcmF0aGVyIHRo YW4gb24gdGhpcyBwYXRjaDogdGhlIG5ldwpiaW5kaW5nIERvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9uZXQvcGNzL3JvY2tjaGlwLHJrMzU2OC14cGNzLnlhbWwKbGlzdHMgcGh5cyBh bmQgcGh5LW5hbWVzIGluIGl0cyB1bmNvbmRpdGlvbmFsIHJlcXVpcmVkIGxpc3QsIGJ1dCB0aGUK ZXRoZXJuZXQtcGNzQGZkYTAwMDAwIG5vZGUgYWRkZWQgdG8gYXJjaC9hcm02NC9ib290L2R0cy9y b2NrY2hpcC9yazM1NjguZHRzaQpzdXBwbGllcyBvbmx5IHJlZywgY2xvY2tzLCBjbG9jay1uYW1l cyBhbmQgcG93ZXItZG9tYWlucy4gIE9ubHkKcmszNTY4LXBob3RvbmljYXQuZHRzIGFkZHMgdGhl bToKCiAgJnhwY3MgewoJcGh5cyA9IDwmY29tYnBoeTIgUEhZX1RZUEVfU0dNSUk+OwoJcGh5LW5h bWVzID0gInNlcmRlcyI7CglzdGF0dXMgPSAib2theSI7CiAgfTsKCltTZXZlcml0eTogTG93XQpE b2VzIGR0YnNfY2hlY2sgcmVwb3J0ICJwaHlzIGlzIGEgcmVxdWlyZWQgcHJvcGVydHkiIGZvciB0 aGUgb3RoZXIgUkszNTY4CmJvYXJkIERUQnM/ICBkdHNjaGVtYSB2YWxpZGF0ZXMgbm9kZXMgcmVn YXJkbGVzcyBvZiBzdGF0dXMgPSAiZGlzYWJsZWQiLgpUaGUgbmVpZ2hib3VyaW5nIHNhdGEwIG5v ZGUgaW4gdGhlIHNhbWUgZHRzaSBkb2VzIGNhcnJ5IHBoeXMvcGh5LW5hbWVzIGF0ClNvQyBsZXZl bCwgc28gd291bGQgbW92aW5nIHRoZW0gaW50byByazM1NjguZHRzaSBiZSBhbiBvcHRpb24/Cgot LSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9uZXRkZXYtYWkuYm90cy5saW51eC5kZXYv c2FzaGlrby8jL3BhdGNoc2V0LzIwMjYwOTEzMTg1ODQ5LjkwNzQ3OS0xLWNvaWFwcmFudCU0MGdt YWlsLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K TGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1y b2NrY2hpcAo=