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 8722BC624D3 for ; Tue, 1 Sep 2026 16:28:34 +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=sd2MdXTcep8rUeBH9XZ6Q4/duHN5xsQOaWbqUoOniAs=; b=tzil3D7Cv1R6YB iwJib0ta9xBqRr9OpYIgUSPrbU9KcC72ebAou+1zl2TJi0yF2OCUuhm1kyaV+2F+PXo/KYso+k5o/ H5FqPzv5alhiPdsdeudZ+m8DydQWENUF92eTtkpzBqF2bD8Pc5imzFIBF1WtbsMUXjL7Ubp9kd5x9 qWPYSWlfA8eKh+Sfid5Y5WhiaXzuymABX/DSJUMS5cEmD6MNRqkmwJA5NcSPpADn5G9nyg9I5psiq ugJGnoRewt4kofRw7M5/iDNQeGuHcIwNnuzM7eInrMeGTh+ujovCMfZGvW3qcobKJTiE1wcpMa0qu ISvHFaoK/3kAo+vG3WYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x1RLe-0000000Cf1D-0tqP; Tue, 01 Sep 2026 16:28:34 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x1RLc-0000000Cf17-2VO2 for linux-phy@lists.infradead.org; Tue, 01 Sep 2026 16:28:32 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 47EC3432EF; Tue, 1 Sep 2026 16:28:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F40A1F000E9; Tue, 1 Sep 2026 16:28:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788280112; bh=nktT8YFsUKr60J8plPiryqq49Q7dgfxOp4MtickuCRE=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=bfw3EGXY0r4GVka9JCO/ptA01X0IeTuuObew1wJIfHXpRSd1N1d+vvj2yQHFjCHj4 QmnYCD5Ofl3k/GDIhxqTPSLlJcb/YBonm8dV7zM/XDNRJDhnrbo0cYNmQKhPkkYy3O NlbreI+Cfcx23yJmmrYkCuMUhj3RlhgQJX9O44OZZCbYWOcUhAuGlPtlSEClgXRCn0 H6Wzv15fvBRMsawmdSUxrTBGm2ddJrsYfNW44u7tlfRYQVABYOdDx7PRkBbhVVkbn3 9W9W5Ygl0aHQ1ckLpCGQJgAuKJw+a5prv8z8zWxGcnCEmr+WvwVoELvrQff0iY7xuZ cyyNyRdn3f6Dw== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 14/24] scsi: ufs: mediatek: Use the common PHY framework To: "Louis-Alexis Eyraud" Cc: devicetree@vger.kernel.org, olteanv@gmail.com, vkoul@kernel.org, neil.armstrong@linaro.org, linux-scsi@vger.kernel.org, robh@kernel.org, linux-phy@lists.infradead.org, conor+dt@kernel.org In-Reply-To: <20260901-mt8196-ufs-v11-14-dbd007704490@collabora.com> References: <20260901-mt8196-ufs-v11-0-dbd007704490@collabora.com> <20260901-mt8196-ufs-v11-14-dbd007704490@collabora.com> Date: Tue, 01 Sep 2026 16:28:31 +0000 Message-Id: <20260901162831.9F40A1F000E9@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 NSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpOZXcgaXNzdWVzOgotIFtIaWdoXSBV bmhhbmRsZWQgZWFybHkgcmV0dXJuIG9uIFBIWSBwb3dlci1vZmYgZmFpbHVyZSBpbiB1ZnNfbXRr X3J1bnRpbWVfc3VzcGVuZCBsZWF2ZXMgdGhlIFVGUyBjb250cm9sbGVyIGhhcmR3YXJlIHN1c3Bl bmRlZCB3aGlsZSB0aGUgUE0gY29yZSBiZWxpZXZlcyBpdCBpcyBhY3RpdmUuCi0gW0hpZ2hdIFVu Y29uZGl0aW9uYWwgUEhZIHBvd2VyLW9mZiBpbiBydW50aW1lIHN1c3BlbmQgYnJlYWtzIGFjdGl2 ZSBVRlMgbGlua3MuCi0gW01lZGl1bV0gUmVndWxhdG9yIGVuYWJsZSBjb3VudCBsZWFrIGluIHVm c19tdGtfMDl2X29uIGVycm9yIHBhdGguCgpQcmUtZXhpc3RpbmcgaXNzdWVzOgotIFtIaWdoXSBJ Z25vcmluZyB0aGUgcmV0dXJuIHZhbHVlIG9mIHBoeV9wb3dlcl9vbigpIGNhdXNlcyBQSFkgZnJh bWV3b3JrIHBvd2VyX2NvdW50IGNvcnJ1cHRpb24uCi0gW0hpZ2hdIFVuYmFsYW5jZWQgUEhZIHBv d2VyIG9mZiBhbmQgUE0gcnVudGltZSBwdXQgZHVlIHRvIGVycm9yIGhhbmRsaW5nLgotLQoKY29t bWl0IDFiYzYxZWRiNmNhMzBjNDExMTlkZmZkZWQ0OTlhM2M0MmE5ZWI5MDgKQXV0aG9yOiBOaWNv bGFzIEZyYXR0YXJvbGkgPG5pY29sYXMuZnJhdHRhcm9saUBjb2xsYWJvcmEuY29tPgoKc2NzaTog dWZzOiBtZWRpYXRlazogVXNlIHRoZSBjb21tb24gUEhZIGZyYW1ld29yawogICAgClRoZSBjb21t aXQgY29udmVydHMgdGhlIE1lZGlhVGVrIFVGUyBkcml2ZXIgdG8gdXNlIHRoZSBjb21tb24gUEhZ IGZyYW1ld29yawppbnN0ZWFkIG9mIGN1c3RvbSBPRiBwYXJzaW5nIGZvciBQSFlzLiBJdCBhY3F1 aXJlcyB0aGUgZGV2aWNlJ3MgUEhZIGR1cmluZwppbml0aWFsaXphdGlvbiB0byBsaW5rIGl0IHRv IHRoZSByaWdodCBkZXZpY2UuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Vmcy9ob3N0L3Vmcy1t ZWRpYXRlay5jIGIvZHJpdmVycy91ZnMvaG9zdC91ZnMtbWVkaWF0ZWsuYwo+IGluZGV4IGFlMDUz ZjQwYWFmNDYuLjFkZjE2Y2UyOWVhNGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91ZnMvaG9zdC91 ZnMtbWVkaWF0ZWsuYwo+ICsrKyBiL2RyaXZlcnMvdWZzL2hvc3QvdWZzLW1lZGlhdGVrLmMKClsg Li4uIF0KCj4gQEAgLTI0ODgsOSArMjQzMyw4IEBAIHN0YXRpYyBpbnQgdWZzX210a19zeXN0ZW1f cmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgc3RhdGljIGludCB1ZnNfbXRrX3J1bnRpbWVf c3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCB1ZnNfaGJhICpoYmEg PSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiAtCXN0cnVjdCB1ZnNfbXRrX2hvc3QgKmhvc3QgPSB1 ZnNoY2RfZ2V0X3ZhcmlhbnQoaGJhKTsKPiAgCXN0cnVjdCBhcm1fc21jY2NfcmVzIHJlczsKPiAt CWludCByZXQgPSAwOwo+ICsJaW50IHJldDsKPiAgCj4gIAlyZXQgPSB1ZnNoY2RfcnVudGltZV9z dXNwZW5kKGRldik7Cj4gIAlpZiAocmV0KQo+IEBAIC0yNTAxLDggKzI0NDUsMTEgQEAgc3RhdGlj IGludCB1ZnNfbXRrX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAlpZiAo dWZzX210a19pc19ydGZmX210Y21vcyhoYmEpKQo+ICAJCXVmc19tdGtfbXRjbW9zX2N0cmwoZmFs c2UsIHJlcyk7Cj4gIAo+IC0JaWYgKGhvc3QtPnBoeV9kZXYpCj4gLQkJcG1fcnVudGltZV9wdXRf c3luYyhob3N0LT5waHlfZGV2KTsKPiArCXJldCA9IHVmc19tdGtfbXBoeV9wb3dlcl9vbihoYmEs IGZhbHNlKTsKPiArCWlmIChyZXQpIHsKCltTZXZlcml0eTogSGlnaF0KRG9lcyB0aGlzIHVuY29u ZGl0aW9uYWwgcG93ZXItb2ZmIGJyZWFrIGFjdGl2ZSBVRlMgbGlua3M/CgpUaGUgVUZTIHN1YnN5 c3RlbSBhbGxvd3MgcnVudGltZSBQTSB0byBrZWVwIHRoZSBsaW5rIGFjdGl2ZSBkZXBlbmRpbmcg b24gdGhlCnVzZXItY29uZmlndXJlZCBQTSBsZXZlbCAoaGJhLT5ycG1fbHZsKS4KClRoZSB1bmRl cmx5aW5nIHZlbmRvciBzdXNwZW5kIGNhbGxiYWNrICh1ZnNfbXRrX3N1c3BlbmQpLCB3aGljaCBp cyBjYWxsZWQgdmlhCnVmc2hjZF9ydW50aW1lX3N1c3BlbmQoKSBlYXJsaWVyIGluIHRoaXMgZnVu Y3Rpb24sIGV4cGxpY2l0bHkgY2hlY2tzCnVmc2hjZF9pc19saW5rX2FjdGl2ZShoYmEpIGFuZCBp bnRlbnRpb25hbGx5IHNraXBzIFBIWSBwb3dlci1vZmYgaWYgdGhlIGxpbmsKbXVzdCByZW1haW4g YWN0aXZlLgoKQnkgYWRkaW5nIGFuIHVuY29uZGl0aW9uYWwgY2FsbCB0byB1ZnNfbXRrX21waHlf cG93ZXJfb24oaGJhLCBmYWxzZSkgaGVyZSwKZG9lc24ndCBpdCBvdmVycmlkZSB0aGUgbGluay1z dGF0ZS1hd2FyZSBsb2dpYyBhbmQgY3V0IFBIWSBwb3dlciBlbnRpcmVseSwKa2lsbGluZyB0aGUg YWN0aXZlIGVsZWN0cmljYWwgbGluaz8KCltTZXZlcml0eTogSGlnaF0KVGhpcyBpcyBhIHByZS1l eGlzdGluZyBpc3N1ZSwgYnV0IGRvZXMgaWdub3JpbmcgdGhlIHJldHVybiB2YWx1ZSBvZgpwaHlf cG93ZXJfb24oKSBjYXVzZSBQSFkgZnJhbWV3b3JrIHBvd2VyX2NvdW50IGNvcnJ1cHRpb24/CgpJ bnNpZGUgdWZzX210a19tcGh5X3Bvd2VyX29uKCk6CgoJaWYgKG9uKSB7CgkJcmV0ID0gdWZzX210 a18wOXZfb24oaG9zdCk7CgkJaWYgKHJldCkKCQkJcmV0dXJuIHJldDsKCQlwaHlfcG93ZXJfb24o bXBoeSk7Cgl9CgpJZiBwaHlfcG93ZXJfb24oKSBmYWlscywgdGhlIFBIWSBmcmFtZXdvcmsgZG9l cyBub3QgaW5jcmVtZW50CnBoeS0+cG93ZXJfY291bnQgYW5kIGRyb3BzIGl0cyBQTSBydW50aW1l IHJlZmVyZW5jZS4KCkJlY2F1c2UgdGhlIHJldHVybiB2YWx1ZSBpcyBpZ25vcmVkLCB1ZnNfbXRr X21waHlfcG93ZXJfb24oKSBzZXRzCmhvc3QtPm1waHlfcG93ZXJlZF9vbiA9IHRydWUuCgpMYXRl ciwgZHVyaW5nIHN1c3BlbmQsIGl0IGNhbGxzIHBoeV9wb3dlcl9vZmYoKSwgd2hpY2ggZGVjcmVt ZW50cyB0aGUgemVyb2VkCnBvd2VyX2NvdW50IChjYXVzaW5nIGFuIHVuZGVyZmxvdykgYW5kIGlu dm9rZXMgcGh5X3BtX3J1bnRpbWVfcHV0KCkuCgpDYW4gdGhpcyBjYXVzZSBhbiB1bmJhbGFuY2Vk IFBNIHB1dCBvbiB0aGUgUEhZIGRldmljZSwgbGVhZGluZyB0byBhIG5lZ2F0aXZlClBNIHVzYWdl IGNvdW50IGFuZCBwb3RlbnRpYWwgc3lzdGVtIGluc3RhYmlsaXR5PwoKW1NldmVyaXR5OiBIaWdo XQpUaGlzIGlzIGEgcHJlLWV4aXN0aW5nIGlzc3VlLCBidXQgZG9lcyB0aGUgZXJyb3IgaGFuZGxp bmcgaW4KdWZzX210a19tcGh5X3Bvd2VyX29uKCkgY2F1c2UgdW5iYWxhbmNlZCBQSFkgcG93ZXIg b2ZmIGFuZCBQTSBydW50aW1lIHB1dD8KCkluc2lkZSB1ZnNfbXRrX21waHlfcG93ZXJfb24oKToK Cgl9IGVsc2UgewoJCXBoeV9wb3dlcl9vZmYobXBoeSk7CgkJcmV0ID0gdWZzX210a18wOXZfb2Zm KGhvc3QpOwoJCWlmIChyZXQpCgkJCXJldHVybiByZXQ7Cgl9CgoJaG9zdC0+bXBoeV9wb3dlcmVk X29uID0gb247CgpJZiB1ZnNfbXRrXzA5dl9vZmYoKSBmYWlscywgaXQgcmV0dXJucyBlYXJseSBh bmQgc2tpcHMgdGhlIGFzc2lnbm1lbnQKaG9zdC0+bXBoeV9wb3dlcmVkX29uID0gZmFsc2UuCgpU aGUgbmV4dCB0aW1lIHRoZSBkZXZpY2UgYXR0ZW1wdHMgdG8gc3VzcGVuZCwgaG9zdC0+bXBoeV9w b3dlcmVkX29uIGlzIHN0aWxsCnRydWUsIGFuZCBpdCBleGVjdXRlcyB0aGUgcG93ZXItb2ZmIGJy YW5jaCBhZ2Fpbi4KCkRvZXNuJ3QgdGhpcyBjYXVzZSBwaHlfcG93ZXJfb2ZmKCkgdG8gYmUgY2Fs bGVkIGEgc2Vjb25kIHRpbWUgZm9yIGEgc2luZ2xlCnBvd2VyLW9uLCBkb3VibGUtZGVjcmVtZW50 aW5nIHBvd2VyX2NvdW50IGFuZCBjYXVzaW5nIGFuIHVuYmFsYW5jZWQgUE0gcnVudGltZQpwdXQ/ CgpbU2V2ZXJpdHk6IE1lZGl1bV0KRG9lcyB0aGUgZXJyb3IgcGF0aCBpbiB1ZnNfbXRrXzA5dl9v bigpIGxlYWsgdGhlIHJlZ3VsYXRvciBlbmFibGUgY291bnQ/CgpJbnNpZGUgdWZzX210a18wOXZf b24oKToKCglpZiAoaG9zdC0+cmVnX2F2ZGQwOV8xKSB7CgkJcmV0ID0gcmVndWxhdG9yX2VuYWJs ZShob3N0LT5yZWdfYXZkZDA5XzEpOwoJCWlmIChyZXQpIHsKCQkJZGV2X2Vycihob3N0LT5oYmEt PmRldiwgIkZhaWxlZCB0byBlbmFibGUgYXZkZDA5LTEtc3VwcGx5OiAlcGVcbiIsCgkJCQlFUlJf UFRSKHJldCkpOwoJCQlyZXR1cm4gcmV0OwoJCX0KCX0KCklmIHRoZSBzZWNvbmQgcmVndWxhdG9y IChyZWdfYXZkZDA5XzEpIGZhaWxzIHRvIGVuYWJsZSwgdGhlIGZ1bmN0aW9uIHJldHVybnMKdGhl IGVycm9yIGRpcmVjdGx5IHdpdGhvdXQgY2FsbGluZyByZWd1bGF0b3JfZGlzYWJsZShob3N0LT5y ZWdfYXZkZDA5KSB0byB1bmRvCnRoZSBwcmV2aW91cyBzdWNjZXNzZnVsIGVuYWJsZSBzdGVwLgoK RG9lc24ndCB0aGlzIGxlYWsgdGhlIHJlZ3VsYXRvciBlbmFibGUgY291bnQsIGtlZXBpbmcgdGhl IHJlc291cmNlIGFjdGl2ZQppbmRlZmluaXRlbHk/Cgo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVk IHRvIHBvd2VyIG9mZiBQSFk6ICVwZVxuIiwgRVJSX1BUUihyZXQpKTsKPiArCQlyZXR1cm4gcmV0 OwoKW1NldmVyaXR5OiBIaWdoXQpDYW4gdGhpcyB1bmhhbmRsZWQgZWFybHkgcmV0dXJuIGxlYXZl IHRoZSBVRlMgY29udHJvbGxlciBoYXJkd2FyZSBzdXNwZW5kZWQKd2hpbGUgdGhlIFBNIGNvcmUg YmVsaWV2ZXMgaXQgaXMgYWN0aXZlPwoKSWYgdWZzX210a19tcGh5X3Bvd2VyX29uKGhiYSwgZmFs c2UpIGZhaWxzLCByZXR1cm5pbmcgdGhlIGVycm9yIGNvZGUgaGVyZQpjYXVzZXMgdGhlIFBNIGNv cmUgdG8gYWJvcnQgdGhlIHN1c3BlbmQgYXR0ZW1wdCBhbmQgdHJlYXQgdGhlIGRldmljZSBhcwpy ZW1haW5pbmcgUlBNX0FDVElWRS4KCkhvd2V2ZXIsIHVmc2hjZF9ydW50aW1lX3N1c3BlbmQoKSB3 YXMgYWxyZWFkeSBleGVjdXRlZCBzdWNjZXNzZnVsbHkganVzdApiZWZvcmUgdGhpcywgbWVhbmlu ZyB0aGUgVUZTIGhvc3QgY29udHJvbGxlciBpcyBwaHlzaWNhbGx5IHN1c3BlbmRlZC4KCkRvZXNu J3QgdGhpcyBzdGF0ZSBtaXNtYXRjaCBtZWFuIHRoZSBQTSBjb3JlIHdpbGwgbm90IGlzc3VlIGEg cmVzdW1lIG9uIHRoZQpuZXh0IGFjY2VzcywgbGVhZGluZyB0byBJL08gdGFyZ2V0aW5nIHBvd2Vy ZWQtZG93biBoYXJkd2FyZSwgd2hpY2ggY2F1c2VzCnJlZ2lzdGVyIGFjY2VzcyB0aW1lb3V0cywg YnVzIGhhbmdzLCBvciBjcmFzaGVzPwoKPiArCX0KPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQoKLS0g ClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2 MDkwMS1tdDgxOTYtdWZzLXYxMS0wLWRiZDAwNzcwNDQ5MEBjb2xsYWJvcmEuY29tP3BhcnQ9MTQK Ci0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo= 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 963A547ECDD; Tue, 1 Sep 2026 16:28:32 +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=1788280113; cv=none; b=doaixKn04V31ufnJdGmUn/gdZnQ9I6Di+xRSPRpyRQ/rQkRluhuv+X8+Aa4+wD0hoZzbUUv8y0uoURYUH5oP3UPrS9xx1Gtjgppj3Fz7KITVT4fEQui7XcCYXT9m5KT4xSW7zEzI81PO2n/o1ON7uzezttnAHHuZuFXtMalbtrg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788280113; c=relaxed/simple; bh=KCqHn1ZD1LIK1l5hhEeEO/Kvh4MSJmAnoUug+ANOizw=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=O/FW4G2XN/teQbJE1Gp0qnx8/maF8OBg/Is7hfZN/5A9D14ztS9OqsHFsKFgq0M+//yi17uPpjT+C2V9gL/qr5tT9Zal5mZ2VroqVXGucC6A6AZ/USjompt2We3fbJtL9Zo+s5zEapsO0NIKjRq9hZ6WdThhW72ZYPsB3IvrApA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bfw3EGXY; 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="bfw3EGXY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F40A1F000E9; Tue, 1 Sep 2026 16:28:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788280112; bh=nktT8YFsUKr60J8plPiryqq49Q7dgfxOp4MtickuCRE=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=bfw3EGXY0r4GVka9JCO/ptA01X0IeTuuObew1wJIfHXpRSd1N1d+vvj2yQHFjCHj4 QmnYCD5Ofl3k/GDIhxqTPSLlJcb/YBonm8dV7zM/XDNRJDhnrbo0cYNmQKhPkkYy3O NlbreI+Cfcx23yJmmrYkCuMUhj3RlhgQJX9O44OZZCbYWOcUhAuGlPtlSEClgXRCn0 H6Wzv15fvBRMsawmdSUxrTBGm2ddJrsYfNW44u7tlfRYQVABYOdDx7PRkBbhVVkbn3 9W9W5Ygl0aHQ1ckLpCGQJgAuKJw+a5prv8z8zWxGcnCEmr+WvwVoELvrQff0iY7xuZ cyyNyRdn3f6Dw== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 14/24] scsi: ufs: mediatek: Use the common PHY framework Reply-To: sashiko-reviews@lists.linux.dev To: "Louis-Alexis Eyraud" Cc: devicetree@vger.kernel.org, olteanv@gmail.com, vkoul@kernel.org, neil.armstrong@linaro.org, linux-scsi@vger.kernel.org, robh@kernel.org, linux-phy@lists.infradead.org, conor+dt@kernel.org In-Reply-To: <20260901-mt8196-ufs-v11-14-dbd007704490@collabora.com> References: <20260901-mt8196-ufs-v11-0-dbd007704490@collabora.com> <20260901-mt8196-ufs-v11-14-dbd007704490@collabora.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 01 Sep 2026 16:28:31 +0000 Message-Id: <20260901162831.9F40A1F000E9@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: New issues: - [High] Unhandled early return on PHY power-off failure in ufs_mtk_runtime= _suspend leaves the UFS controller hardware suspended while the PM core bel= ieves it is active. - [High] Unconditional PHY power-off in runtime suspend breaks active UFS l= inks. - [Medium] Regulator enable count leak in ufs_mtk_09v_on error path. Pre-existing issues: - [High] Ignoring the return value of phy_power_on() causes PHY framework p= ower_count corruption. - [High] Unbalanced PHY power off and PM runtime put due to error handling. -- commit 1bc61edb6ca30c41119dffded499a3c42a9eb908 Author: Nicolas Frattaroli scsi: ufs: mediatek: Use the common PHY framework =20 The commit converts the MediaTek UFS driver to use the common PHY framework instead of custom OF parsing for PHYs. It acquires the device's PHY during initialization to link it to the right device. > diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-media= tek.c > index ae053f40aaf46..1df16ce29ea4e 100644 > --- a/drivers/ufs/host/ufs-mediatek.c > +++ b/drivers/ufs/host/ufs-mediatek.c [ ... ] > @@ -2488,9 +2433,8 @@ static int ufs_mtk_system_resume(struct device *dev) > static int ufs_mtk_runtime_suspend(struct device *dev) > { > struct ufs_hba *hba =3D dev_get_drvdata(dev); > - struct ufs_mtk_host *host =3D ufshcd_get_variant(hba); > struct arm_smccc_res res; > - int ret =3D 0; > + int ret; > =20 > ret =3D ufshcd_runtime_suspend(dev); > if (ret) > @@ -2501,8 +2445,11 @@ static int ufs_mtk_runtime_suspend(struct device *= dev) > if (ufs_mtk_is_rtff_mtcmos(hba)) > ufs_mtk_mtcmos_ctrl(false, res); > =20 > - if (host->phy_dev) > - pm_runtime_put_sync(host->phy_dev); > + ret =3D ufs_mtk_mphy_power_on(hba, false); > + if (ret) { [Severity: High] Does this unconditional power-off break active UFS links? The UFS subsystem allows runtime PM to keep the link active depending on the user-configured PM level (hba->rpm_lvl). The underlying vendor suspend callback (ufs_mtk_suspend), which is called v= ia ufshcd_runtime_suspend() earlier in this function, explicitly checks ufshcd_is_link_active(hba) and intentionally skips PHY power-off if the link must remain active. By adding an unconditional call to ufs_mtk_mphy_power_on(hba, false) here, doesn't it override the link-state-aware logic and cut PHY power entirely, killing the active electrical link? [Severity: High] This is a pre-existing issue, but does ignoring the return value of phy_power_on() cause PHY framework power_count corruption? Inside ufs_mtk_mphy_power_on(): if (on) { ret =3D ufs_mtk_09v_on(host); if (ret) return ret; phy_power_on(mphy); } If phy_power_on() fails, the PHY framework does not increment phy->power_count and drops its PM runtime reference. Because the return value is ignored, ufs_mtk_mphy_power_on() sets host->mphy_powered_on =3D true. Later, during suspend, it calls phy_power_off(), which decrements the zeroed power_count (causing an underflow) and invokes phy_pm_runtime_put(). Can this cause an unbalanced PM put on the PHY device, leading to a negative PM usage count and potential system instability? [Severity: High] This is a pre-existing issue, but does the error handling in ufs_mtk_mphy_power_on() cause unbalanced PHY power off and PM runtime put? Inside ufs_mtk_mphy_power_on(): } else { phy_power_off(mphy); ret =3D ufs_mtk_09v_off(host); if (ret) return ret; } host->mphy_powered_on =3D on; If ufs_mtk_09v_off() fails, it returns early and skips the assignment host->mphy_powered_on =3D false. The next time the device attempts to suspend, host->mphy_powered_on is still true, and it executes the power-off branch again. Doesn't this cause phy_power_off() to be called a second time for a single power-on, double-decrementing power_count and causing an unbalanced PM runt= ime put? [Severity: Medium] Does the error path in ufs_mtk_09v_on() leak the regulator enable count? Inside ufs_mtk_09v_on(): if (host->reg_avdd09_1) { ret =3D regulator_enable(host->reg_avdd09_1); if (ret) { dev_err(host->hba->dev, "Failed to enable avdd09-1-supply: %pe\n", ERR_PTR(ret)); return ret; } } If the second regulator (reg_avdd09_1) fails to enable, the function returns the error directly without calling regulator_disable(host->reg_avdd09) to u= ndo the previous successful enable step. Doesn't this leak the regulator enable count, keeping the resource active indefinitely? > + dev_err(dev, "Failed to power off PHY: %pe\n", ERR_PTR(ret)); > + return ret; [Severity: High] Can this unhandled early return leave the UFS controller hardware suspended while the PM core believes it is active? If ufs_mtk_mphy_power_on(hba, false) fails, returning the error code here causes the PM core to abort the suspend attempt and treat the device as remaining RPM_ACTIVE. However, ufshcd_runtime_suspend() was already executed successfully just before this, meaning the UFS host controller is physically suspended. Doesn't this state mismatch mean the PM core will not issue a resume on the next access, leading to I/O targeting powered-down hardware, which causes register access timeouts, bus hangs, or crashes? > + } > =20 > return 0; > } --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260901-mt8196-ufs= -v11-0-dbd007704490@collabora.com?part=3D14