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 A5C13C55171 for ; Sun, 2 Aug 2026 14:25:38 +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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dZrlVw3d+x6F6MGR+V06jwKoz70yCqeE0a2A16IzqP0=; b=0NSYAjrCDFO4Xp Y2vP5pf1fHgKpLUz5oxiVFNNjrko8QOnREdpX1+xQULsXejo3m+eo8Akqh6jD+/GPp36AWNBtKGeU b0Qt7CsFCmLaWBTrtOAKixDh/JT7uIJ8U814ftalxPDJhodAeyhA/SNmx/jUFrsNlvA9W4XMtgNnP bQXVLHNQu+kE9l/87G/lf/4RZqYdIv8I+6VvyfZjh6POFKFp7yD6cyxSyyAk17myjGSV7os17RpgH A3MfWMgnz8+bKj9+gkplHc5O3yF22g4EItbn2gty7X++9ydCS6D6E9hOYN8kCmovhYb0T8jym61sl Jx8JAljYGOHXAnRDGlYw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wqX8E-0000000FiAy-0FQx; Sun, 02 Aug 2026 14:25:38 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wqX8C-0000000FiAs-40MR for linux-phy@lists.infradead.org; Sun, 02 Aug 2026 14:25:37 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 180EE60AA3; Sun, 2 Aug 2026 14:25:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C14121F000E9; Sun, 2 Aug 2026 14:25:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785680735; bh=7U+9CVIPfdnYKjuhz32hd6acQkghvjuZiPmvNN09sQY=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=WFjJMjIqUUCbomYs7SXjj9AZUx67das+WxhXDmtSC1jO5EpL7c12Rk3XM8RzJSdWf PzCUJypP+xUieF5BNGDXly948rdMrwgrMwdl9m6nTQk+ISISyntw+vvDo2tiPrEORl PgWbcZVAC8k785HfN4gLOhcrBRwTEmYrrc1ZnEhxuPqybNvrW6Pw7ERlBAAAHGOVjR t1w/C18ryEGtcZai8wXGQKy3E5IkJuTLNDY/93obeHT5F19sIGxgxzilSYjTPlw3E8 0uPbFcaPvH+qZ7zQTTAnHnTZ8f78AEnPRH+s/wqScPg5GXfhMbg0RRRr6JlDahS6sK m+4V0qabn2k2w== From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 07/10] net: pcs: xpcs: add Rockchip RK3568 platform glue driver To: "Coia Prant" Cc: olteanv@gmail.com, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, wsa+renesas@sang-engineering.com, conor+dt@kernel.org, vkoul@kernel.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20260801142244.679437-9-coiaprant@gmail.com> References: <20260801142244.679437-2-coiaprant@gmail.com> <20260801142244.679437-9-coiaprant@gmail.com> Date: Sun, 02 Aug 2026 14:25:32 +0000 Message-Id: <20260802142533.C14121F000E9@smtp.kernel.org> 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: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 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 NSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFByb2JlIGZhaWxzIHVu Y29uZGl0aW9uYWxseSBvbiBzeXN0ZW1zIHdpdGhvdXQgYSBQTSBkb21haW4gb3Igd2l0aCBDT05G SUdfUE1fR0VORVJJQ19ET01BSU5TIGRpc2FibGVkLgotIFtIaWdoXSBQcmVtYXR1cmUgYHBtX3J1 bnRpbWVfZm9yY2Vfc3VzcGVuZCgpYCBpbiBgcmVtb3ZlKClgIGJyZWFrcyBQSFkgdGVhcmRvd24s IGNhdXNlcyBTRXJyb3JzLCBhbmQgcGVybWFuZW50bHkgZGlzYWJsZXMgUE0gcnVudGltZSBvbiBy ZWJpbmQuCi0gW0hpZ2hdIENvbmN1cnJlbnQgdW5iaW5kaW5nIG9mIHRoZSBYUENTIGRyaXZlciBk dXJpbmcgYHhwY3NfcmtfY3JlYXRlYCBsZWFkcyB0byBhIFVzZS1BZnRlci1GcmVlIG9mIGBweHBj c2AgYW5kIGl0cyBNRElPIGJ1cy4KLSBbSGlnaF0gVW5jaGVja2VkIHJldHVybiB2YWx1ZSBvZiBg ZGV2aWNlX2xpbmtfYWRkKClgIGFsbG93cyBVc2UtQWZ0ZXItRnJlZSBvbiBzdXBwbGllciB1bmJp bmQuCi0gW0xvd10gVW5jb25kaXRpb25hbCBhc3NpZ25tZW50IG9mIGBkZXZfcG1fb3BzYCBhbmQg bWlzc2luZyBgcG1fcHRyKClgIHdyYXBwZXIgY2F1c2VzIHVudXNlZCBmdW5jdGlvbiBjb21waWxl ciB3YXJuaW5ncy4KLS0KCi0tLSBQYXRjaCBbN106IFtQQVRDSCB2MiAwNy8xMF0gbmV0OiBwY3M6 IHhwY3M6IGFkZCBSb2NrY2hpcCBSSzM1NjggcGxhdGZvcm0gZ2x1ZSBkcml2ZXIgLS0tCmNvbW1p dCA3NDkyMjdkZWZhZjcyOWUwZjE3MWRjODc3MjJhYmVmOGViZTY5NzU5CkF1dGhvcjogQ29pYSBQ cmFudCA8Y29pYXByYW50QGdtYWlsLmNvbT4KbmV0OiBwY3M6IHhwY3M6IGFkZCBSb2NrY2hpcCBS SzM1NjggcGxhdGZvcm0gZ2x1ZSBkcml2ZXIKClRoaXMgY29tbWl0IGludHJvZHVjZXMgYSBwbGF0 Zm9ybSBnbHVlIGRyaXZlciBmb3IgdGhlIFN5bm9wc3lzIERlc2lnbldhcmUgWFBDUwpjb250cm9s bGVyIGZvdW5kIG9uIFJvY2tjaGlwIFJLMzU2OCBTb0NzLiBJdCB0cmFuc2xhdGVzIE1ESU8gb3Bl cmF0aW9ucyB0bwpBUEIzIHJlZ2lzdGVyIGFjY2Vzc2VzIHZpYSBhIHZpcnR1YWwgTURJTyBidXMu IFRoZSBnZW5lcmljIHhwY3MgZHJpdmVyIHRoZW4KY3JlYXRlcyBhIHBoeWxpbmtfcGNzIGluc3Rh bmNlIG9uIHRvcCBvZiB0aGlzIGJ1cy4KCkxpbms6IGh0dHBzOi8vZGwucmFkeGEuY29tL3JvY2sz L2RvY3MvaHcvZGF0YXNoZWV0L1JvY2tjaGlwJTIwUkszNTY4JTIwVFJNJTIwUGFydDIlMjBWMS4x LTIwMjEwMzAxLnBkZiAoUGFnZSAyMDc4KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Bjcy9w Y3MteHBjcy1yay5jIGIvZHJpdmVycy9uZXQvcGNzL3Bjcy14cGNzLXJrLmMKaW5kZXggMDAwMDAw MDAwMDAwMC4uMzZjMTU1N2I4MzM2NwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbmV0L3Bj cy9wY3MteHBjcy1yay5jCkBAIC0wLDAgKzEsNTM4IEBAClsgLi4uIF0KPiArc3RhdGljIGludCB4 cGNzX3JrX3NlcmRlc19waHlfcG93ZXJvbihzdHJ1Y3QgZHdfeHBjc19yayAqcHhwY3MpCj4gK3sK PiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZweHBjcy0+cGRldi0+ZGV2Owo+ICsJaW50IHJldDsK PiArCj4gKwlyZXQgPSBkZXZfcG1fZ2VucGRfcnBtX2Fsd2F5c19vbihkZXYsIHRydWUpOwo+ICsJ aWYgKHJldCkgewo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIHBvd2VyIG9uIHBvd2VyLWRv bWFpbnNcbiIpOwo+ICsJCXJldHVybiByZXQ7Cj4gKwl9CgpbU2V2ZXJpdHk6IEhpZ2hdCkRvZXMg dGhpcyBjb2RlIHVuaW50ZW50aW9uYWxseSBmYWlsIHRoZSBwcm9iZSBvbiBzeXN0ZW1zIHdpdGhv dXQgYSBQTSBkb21haW4Kb3Igd2hlbiBQTSBnZW5lcmljIGRvbWFpbnMgYXJlIGRpc2FibGVkPwoK V2hlbiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TIGlzIGRpc2FibGVkLCBkZXZfcG1fZ2VucGRf cnBtX2Fsd2F5c19vbigpCnJldHVybnMgLUVPUE5PVFNVUFAuIElmIHRoZSBkZXZpY2UgaGFzIG5v IHBvd2VyIGRvbWFpbiAod2hpY2ggYXBwZWFycyB0byBiZQpvcHRpb25hbCksIGl0IHJldHVybnMg LUVOT0RFVi4KCkJlY2F1c2UgdGhlIHByb2JlIGlzIGFib3J0ZWQgb24gYW55IG5vbi16ZXJvIHJl dHVybiB2YWx1ZSwgdGhlIGRyaXZlciB3aWxsCmZhaWwgdG8gbG9hZCBvbiB0aGVzZSBoYXJkd2Fy ZSBjb25maWd1cmF0aW9ucyBvciBpbiBDT01QSUxFX1RFU1QgYnVpbGRzLgpTaG91bGQgLUVOT0RF ViBhbmQgLUVPUE5PVFNVUFAgYmUgZXhwbGljaXRseSBpZ25vcmVkIGhlcmU/CgpbIC4uLiBdCj4g K3N0YXRpYyB2b2lkIHhwY3NfcmtfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4gK3sKPiArCXBtX3J1bnRpbWVfZm9yY2Vfc3VzcGVuZCgmcGRldi0+ZGV2KTsKPiArfQoKW1Nl dmVyaXR5OiBIaWdoXQpDYW4gdGhpcyBicmVhayBQSFkgdGVhcmRvd24gYW5kIGRpc2FibGUgUE0g cnVudGltZSBwZXJtYW5lbnRseSB1cG9uIHJlYmluZD8KCkJlY2F1c2UgdGhlIE1ESU8gYnVzIGlz IHJlZ2lzdGVyZWQgdXNpbmcgZGV2bV9tZGlvYnVzX3JlZ2lzdGVyKCksIGRldnJlcwp3aWxsIHVu cmVnaXN0ZXIgaXQgYWZ0ZXIgeHBjc19ya19yZW1vdmUoKSByZXR1cm5zLiBIb3dldmVyLApwbV9y dW50aW1lX2ZvcmNlX3N1c3BlbmQoKSBpcyBjYWxsZWQgaGVyZSBmaXJzdCwgY3V0dGluZyB0aGUg Y2xvY2sgYW5kCmluY3JlbWVudGluZyB0aGUgUE0gcnVudGltZSBkaXNhYmxlIGRlcHRoLgoKV2hl biBkZXZyZXMgc3Vic2VxdWVudGx5IHVucmVnaXN0ZXJzIHRoZSBNRElPIGJ1cywgYXR0YWNoZWQg UEhZIGRldmljZXMKYXJlIHVuYm91bmQsIHdoaWNoIHRyaWdnZXJzIE1ESU8gYWNjZXNzZXMgZm9y IHRlYXJkb3duLiBUaGVzZSBhY2Nlc3Nlcwp3aWxsIGNhbGwgcG1fcnVudGltZV9yZXN1bWVfYW5k X2dldCgpLCB3aGljaCBmYWlscyB3aXRoIC1FQUNDRVMgYmVjYXVzZQpQTSBydW50aW1lIGlzIGRp c2FibGVkLiBUaGlzIGZhaWx1cmUgY2FuIGNhdXNlIGEgc3luY2hyb25vdXMgZXh0ZXJuYWwgYWJv cnQKaWYgdGhlIGNsb2NrIGlzIGN1dCBkdXJpbmcgYWNjZXNzLgoKQWRkaXRpb25hbGx5LCB0aGUg ZG91YmxlLWRpc2FibGUgKGhlcmUgYW5kIGluIGRldm1fcG1fcnVudGltZV9lbmFibGUgY2xlYW51 cCkKbGVhdmVzIHRoZSBkaXNhYmxlIGRlcHRoIGdyZWF0ZXIgdGhhbiB6ZXJvIG9uIHJlYmluZC4K ClsgLi4uIF0KPiArc3RydWN0IGR3X3hwY3MgKnhwY3NfcmtfY3JlYXRlKHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGRldmljZV9ub2RlICpucCkKPiArewpbIC4uLiBdCj4gKwlwZGV2ID0gb2Zf ZmluZF9kZXZpY2VfYnlfbm9kZShwY3NfbnApOwo+ICsJb2Zfbm9kZV9wdXQocGNzX25wKTsKPiAr CWlmICghcGRldikKPiArCQlyZXR1cm4gRVJSX1BUUigtRVBST0JFX0RFRkVSKTsKPiArCj4gKwlw eHBjcyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwo+ICsJaWYgKCFweHBjcyB8fCAhcHhw Y3MtPmJ1cykgewo+ICsJCXB1dF9kZXZpY2UoJnBkZXYtPmRldik7Cj4gKwkJcmV0dXJuIEVSUl9Q VFIoLUVQUk9CRV9ERUZFUik7Cj4gKwl9Cj4gKwo+ICsJeHBjcyA9IHhwY3NfY3JlYXRlX21kaW9k ZXYocHhwY3MtPmJ1cywgKGludClwb3J0KTsKCltTZXZlcml0eTogSGlnaF0KSXMgaXQgcG9zc2li bGUgZm9yIHRoZSBYUENTIGRyaXZlciB0byBiZSB1bmJvdW5kIGNvbmN1cnJlbnRseSB3aGlsZQpw bGF0Zm9ybV9nZXRfZHJ2ZGF0YSgpIGlzIHJlYWRpbmcgdGhlIGRhdGE/CgpUaGUgZGV2aWNlIHN0 cnVjdHVyZSBpdHNlbGYgaXMgcGlubmVkIGJ5IG9mX2ZpbmRfZGV2aWNlX2J5X25vZGUoKSwgYnV0 CndpdGhvdXQgaG9sZGluZyB0aGUgZGV2aWNlIGxvY2ssIGEgY29uY3VycmVudCBzeXNmcyB1bmJp bmQgY291bGQgdHJpZ2dlcgpkZXZyZXMgY2xlYW51cC4gVGhpcyB3b3VsZCBmcmVlIHB4cGNzIGFu ZCB1bnJlZ2lzdGVyIHRoZSBNRElPIGJ1cyByaWdodApiZWZvcmUgeHBjc19jcmVhdGVfbWRpb2Rl digpIGFjY2Vzc2VzIHB4cGNzLT5idXMsIGxlYWRpbmcgdG8gYQp1c2UtYWZ0ZXItZnJlZS4KClNo b3VsZCB0aGUgZGV2aWNlIGxvY2sgYmUgaGVsZCB0byB2ZXJpZnkgdGhlIGRyaXZlciBpcyBzdGls bCBib3VuZCBiZWZvcmUKcHJvY2VlZGluZz8KCj4gKwlpZiAoSVNfRVJSKHhwY3MpKSB7Cj4gKwkJ cHV0X2RldmljZSgmcGRldi0+ZGV2KTsKPiArCQlyZXR1cm4geHBjczsKPiArCX0KPiArCj4gKwlk ZXZpY2VfbGlua19hZGQoZGV2LCAmcGRldi0+ZGV2LCBETF9GTEFHX0FVVE9SRU1PVkVfQ09OU1VN RVIpOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHRoaXMgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUg b2YgZGV2aWNlX2xpbmtfYWRkKCkgaWYgdGhlIGxpbmsgY3JlYXRpb24KZmFpbHM/CgpJZiBkZXZp Y2VfbGlua19hZGQoKSBmYWlscyAoZm9yIGV4YW1wbGUsIGR1ZSB0byBhIG1lbW9yeSBhbGxvY2F0 aW9uIGZhaWx1cmUpLApubyBsaW5rIGlzIGVzdGFibGlzaGVkLiBMYXRlciwgaWYgdGhlIFhQQ1Mg c3VwcGxpZXIgdW5iaW5kcywgdGhlIGRyaXZlcgpjb3JlIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkg dW5iaW5kIHRoZSBNQUMgY29uc3VtZXIuIFRoZSBYUENTIGRldnJlcwpjbGVhbnVwIHdpbGwgZnJl ZSB0aGUgTURJTyBidXMgd2hpbGUgdGhlIE1BQyBkcml2ZXIgaXMgc3RpbGwgYm91bmQgYW5kCnBv dGVudGlhbGx5IHVzaW5nIGl0LCB3aGljaCBjYW4gY2F1c2UgYSB1c2UtYWZ0ZXItZnJlZS4KClNo b3VsZCB0aGUgcmV0dXJuIHZhbHVlIG9mIGRldmljZV9saW5rX2FkZCgpIGJlIGNoZWNrZWQ/Cgpb IC4uLiBdCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGV2X3BtX29wcyB4cGNzX3JrX3BtX29wcyA9 IHsKPiArCVNFVF9SVU5USU1FX1BNX09QUyh4cGNzX3JrX3BtX3J1bnRpbWVfc3VzcGVuZCwKPiAr CQkJICAgeHBjc19ya19wbV9ydW50aW1lX3Jlc3VtZSwKPiArCQkJICAgTlVMTCkKPiArfTsKPiAr Cj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHhwY3NfcmtfZHJpdmVyID0gewo+ICsJ LnByb2JlID0geHBjc19ya19wcm9iZSwKPiArCS5yZW1vdmUgPSB4cGNzX3JrX3JlbW92ZSwKPiAr CS5kcml2ZXIgPSB7Cj4gKwkJLm5hbWUgPSAicmtfeHBjcy1kd3hwY3MiLAo+ICsJCS5wbSA9ICZ4 cGNzX3JrX3BtX29wcywKCltTZXZlcml0eTogTG93XQpXaWxsIHRoaXMgZ2VuZXJhdGUgdW51c2Vk IGZ1bmN0aW9uIHdhcm5pbmdzIHdoZW4gQ09ORklHX1BNIGlzIGRpc2FibGVkPwoKVGhlIHhwY3Nf cmtfcG1fcnVudGltZV9zdXNwZW5kKCkgYW5kIHhwY3NfcmtfcG1fcnVudGltZV9yZXN1bWUoKSBj YWxsYmFja3MKYXJlIGRlZmluZWQgYXMgc3RhdGljLiBXaGVuIENPTkZJR19QTSBpcyBub3Qgc2V0 LCBTRVRfUlVOVElNRV9QTV9PUFMgZXhwYW5kcwp0byBub3RoaW5nLCBsZWF2aW5nIHRoZSBzdGF0 aWMgZnVuY3Rpb25zIHVucmVmZXJlbmNlZC4KClNpbmNlIHhwY3NfcmtfcG1fb3BzIGlzIHVuY29u ZGl0aW9uYWxseSBhc3NpZ25lZCB0byAucG0gd2l0aG91dCB0aGUKcG1fcHRyKCkgd3JhcHBlciwg dGhlIHN0cnVjdCBpcyBhbHdheXMgcmVmZXJlbmNlZCwgYnV0IHRoZSBjYWxsYmFja3MgaW5zaWRl Cm1pZ2h0IG5vdCBiZS4gU2hvdWxkIFJVTlRJTUVfUE1fT1BTKCkgYW5kIHBtX3B0cigpIGJlIHVz ZWQgaW5zdGVhZD8KCi0tIApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2 LyMvcGF0Y2hzZXQvMjAyNjA4MDExNDIyNDQuNjc5NDM3LTItY29pYXByYW50QGdtYWlsLmNvbT9w YXJ0PTcKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LXBoeQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E52431F8AC5 for ; Sun, 2 Aug 2026 14:25:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785680737; cv=none; b=YztUkQn2WmAJa+OfpOMI13mJariqWUtMVuxxBGGUy9GGbqHf21yRMWkUUPg1EFzQqw9H2mMDw6Qq1agUtZ0FFLVV25K5ZANFP+m+8Pi7RyzZUmfKmlMtU0fRYHzoyQngKj0HVQRJBVxmwJHAjPJ9cQxrkK0F8pS5nw6P+ZhCZZU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785680737; c=relaxed/simple; bh=u0NTwD5MqxPalwMPDH171voAEUuyRjBAUalaep7EXq0=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=ZIED3Wftd+sH+/ed22gPf7egCvAdd0pu6wBPSwwVWHBaSyAO9GH0Kn99jyowgomT2YhYFu+VPyFZ9vdthP3vBwSAii+eCwWxvyKWnHniyEW74jz1IJgOmagKYCBgRCQXZ8a41DdDfOY6BxTRxtrM21wHAPYRbfU7wpiXiQEUpP0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WFjJMjIq; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WFjJMjIq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C14121F000E9; Sun, 2 Aug 2026 14:25:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1785680735; bh=7U+9CVIPfdnYKjuhz32hd6acQkghvjuZiPmvNN09sQY=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=WFjJMjIqUUCbomYs7SXjj9AZUx67das+WxhXDmtSC1jO5EpL7c12Rk3XM8RzJSdWf PzCUJypP+xUieF5BNGDXly948rdMrwgrMwdl9m6nTQk+ISISyntw+vvDo2tiPrEORl PgWbcZVAC8k785HfN4gLOhcrBRwTEmYrrc1ZnEhxuPqybNvrW6Pw7ERlBAAAHGOVjR t1w/C18ryEGtcZai8wXGQKy3E5IkJuTLNDY/93obeHT5F19sIGxgxzilSYjTPlw3E8 0uPbFcaPvH+qZ7zQTTAnHnTZ8f78AEnPRH+s/wqScPg5GXfhMbg0RRRr6JlDahS6sK m+4V0qabn2k2w== From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 07/10] net: pcs: xpcs: add Rockchip RK3568 platform glue driver Reply-To: sashiko-reviews@lists.linux.dev To: "Coia Prant" Cc: olteanv@gmail.com, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, wsa+renesas@sang-engineering.com, conor+dt@kernel.org, vkoul@kernel.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20260801142244.679437-9-coiaprant@gmail.com> References: <20260801142244.679437-2-coiaprant@gmail.com> <20260801142244.679437-9-coiaprant@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sun, 02 Aug 2026 14:25:32 +0000 Message-Id: <20260802142533.C14121F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 5 potential issue(= s) to consider: - [High] Probe fails unconditionally on systems without a PM domain or with= CONFIG_PM_GENERIC_DOMAINS disabled. - [High] Premature `pm_runtime_force_suspend()` in `remove()` breaks PHY te= ardown, causes SErrors, and permanently disables PM runtime on rebind. - [High] Concurrent unbinding of the XPCS driver during `xpcs_rk_create` le= ads to a Use-After-Free of `pxpcs` and its MDIO bus. - [High] Unchecked return value of `device_link_add()` allows Use-After-Fre= e on supplier unbind. - [Low] Unconditional assignment of `dev_pm_ops` and missing `pm_ptr()` wra= pper causes unused function compiler warnings. -- --- Patch [7]: [PATCH v2 07/10] net: pcs: xpcs: add Rockchip RK3568 platfor= m glue driver --- commit 749227defaf729e0f171dc87722abef8ebe69759 Author: Coia Prant net: pcs: xpcs: add Rockchip RK3568 platform glue driver This commit introduces a platform glue driver for the Synopsys DesignWare X= PCS controller found on Rockchip RK3568 SoCs. It translates MDIO operations to APB3 register accesses via a virtual MDIO bus. The generic xpcs driver then creates a phylink_pcs instance on top of this bus. Link: https://dl.radxa.com/rock3/docs/hw/datasheet/Rockchip%20RK3568%20TRM%= 20Part2%20V1.1-20210301.pdf (Page 2078) diff --git a/drivers/net/pcs/pcs-xpcs-rk.c b/drivers/net/pcs/pcs-xpcs-rk.c index 0000000000000..36c1557b83367 --- /dev/null +++ b/drivers/net/pcs/pcs-xpcs-rk.c @@ -0,0 +1,538 @@ [ ... ] > +static int xpcs_rk_serdes_phy_poweron(struct dw_xpcs_rk *pxpcs) > +{ > + struct device *dev =3D &pxpcs->pdev->dev; > + int ret; > + > + ret =3D dev_pm_genpd_rpm_always_on(dev, true); > + if (ret) { > + dev_err(dev, "Failed to power on power-domains\n"); > + return ret; > + } [Severity: High] Does this code unintentionally fail the probe on systems without a PM domain or when PM generic domains are disabled? When CONFIG_PM_GENERIC_DOMAINS is disabled, dev_pm_genpd_rpm_always_on() returns -EOPNOTSUPP. If the device has no power domain (which appears to be optional), it returns -ENODEV. Because the probe is aborted on any non-zero return value, the driver will fail to load on these hardware configurations or in COMPILE_TEST builds. Should -ENODEV and -EOPNOTSUPP be explicitly ignored here? [ ... ] > +static void xpcs_rk_remove(struct platform_device *pdev) > +{ > + pm_runtime_force_suspend(&pdev->dev); > +} [Severity: High] Can this break PHY teardown and disable PM runtime permanently upon rebind? Because the MDIO bus is registered using devm_mdiobus_register(), devres will unregister it after xpcs_rk_remove() returns. However, pm_runtime_force_suspend() is called here first, cutting the clock and incrementing the PM runtime disable depth. When devres subsequently unregisters the MDIO bus, attached PHY devices are unbound, which triggers MDIO accesses for teardown. These accesses will call pm_runtime_resume_and_get(), which fails with -EACCES because PM runtime is disabled. This failure can cause a synchronous external abort if the clock is cut during access. Additionally, the double-disable (here and in devm_pm_runtime_enable cleanu= p) leaves the disable depth greater than zero on rebind. [ ... ] > +struct dw_xpcs *xpcs_rk_create(struct device *dev, struct device_node *n= p) > +{ [ ... ] > + pdev =3D of_find_device_by_node(pcs_np); > + of_node_put(pcs_np); > + if (!pdev) > + return ERR_PTR(-EPROBE_DEFER); > + > + pxpcs =3D platform_get_drvdata(pdev); > + if (!pxpcs || !pxpcs->bus) { > + put_device(&pdev->dev); > + return ERR_PTR(-EPROBE_DEFER); > + } > + > + xpcs =3D xpcs_create_mdiodev(pxpcs->bus, (int)port); [Severity: High] Is it possible for the XPCS driver to be unbound concurrently while platform_get_drvdata() is reading the data? The device structure itself is pinned by of_find_device_by_node(), but without holding the device lock, a concurrent sysfs unbind could trigger devres cleanup. This would free pxpcs and unregister the MDIO bus right before xpcs_create_mdiodev() accesses pxpcs->bus, leading to a use-after-free. Should the device lock be held to verify the driver is still bound before proceeding? > + if (IS_ERR(xpcs)) { > + put_device(&pdev->dev); > + return xpcs; > + } > + > + device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_CONSUMER); [Severity: High] Does this ignore the return value of device_link_add() if the link creation fails? If device_link_add() fails (for example, due to a memory allocation failure= ), no link is established. Later, if the XPCS supplier unbinds, the driver core will not automatically unbind the MAC consumer. The XPCS devres cleanup will free the MDIO bus while the MAC driver is still bound and potentially using it, which can cause a use-after-free. Should the return value of device_link_add() be checked? [ ... ] > +static const struct dev_pm_ops xpcs_rk_pm_ops =3D { > + SET_RUNTIME_PM_OPS(xpcs_rk_pm_runtime_suspend, > + xpcs_rk_pm_runtime_resume, > + NULL) > +}; > + > +static struct platform_driver xpcs_rk_driver =3D { > + .probe =3D xpcs_rk_probe, > + .remove =3D xpcs_rk_remove, > + .driver =3D { > + .name =3D "rk_xpcs-dwxpcs", > + .pm =3D &xpcs_rk_pm_ops, [Severity: Low] Will this generate unused function warnings when CONFIG_PM is disabled? The xpcs_rk_pm_runtime_suspend() and xpcs_rk_pm_runtime_resume() callbacks are defined as static. When CONFIG_PM is not set, SET_RUNTIME_PM_OPS expands to nothing, leaving the static functions unreferenced. Since xpcs_rk_pm_ops is unconditionally assigned to .pm without the pm_ptr() wrapper, the struct is always referenced, but the callbacks inside might not be. Should RUNTIME_PM_OPS() and pm_ptr() be used instead? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260801142244.6794= 37-2-coiaprant@gmail.com?part=3D7