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 3F720C44539 for ; Wed, 22 Jul 2026 14:32:28 +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:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pmH9IhxnPBYMd3AMiEIMCrQZFbY9mOmqqbQ3MYeMBWg=; b=2uMSIhghJy/o29 vxShj0q1WMNbmZbCZ8y8cxyJbEYDuhEdGC7BdBs8doVGWljJjcnxP4/5Y87n/GE2FPKWFRc/jbqw8 naz2nX8ouw38RphFLk2tq5ZQf97x7HZAemKVQRZteV0k5rURg9K6A1bCJ6tMByL1KK71LNYV75x8s Js1MSUf4PMPCf8SeCrkubuk8nUq6B98Rm+mVrcqv7WTWbMvM6UkvkvlWD18sGKg8K5ZMHWiKpfQGl /bGm6qs2Bu2i+1nHOVqDlHW4jpJDueLjasBbSr2KHHbj8zSe7bOzfmCc3Sh3GH+TV2itXzngppSbl FulOIz7c13bWee2j7sHw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wmXzn-0000000C2jS-38YH; Wed, 22 Jul 2026 14:32:27 +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 1wmXzm-0000000C2jA-3mfa for linux-phy@lists.infradead.org; Wed, 22 Jul 2026 14:32:27 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 59DBD600E1; Wed, 22 Jul 2026 14:32:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70FA21F000E9; Wed, 22 Jul 2026 14:32:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784730746; bh=I8uryKb2LrpWj94ZKPp80W37fLy+qsE5kicLbkv3wQ8=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=VVPm48gebjO9VXGd9O4Vpxg/lVVih9SatOhCj+j9R5Ejpne9Di3+/sUzitaA0Rl8v bnl85Eqa7eLpWZZihT1NIspc3QTJ1avfjL4HZdkHTplxLn9OK1w9e6HvFO/6oIo8F1 NaOgUpcxH0P76J66qqwZ83JOsIyciLzSaVppfPeFtM/7MsQNAsiSOVqEVgB1qqBsDY DneEnhhZbF8+7/ir2zWXdDruEnrMG91cE6k6TA5keTL2HkdC19lldgbWP9HN7je+B/ BIBwnU85pPfMHC60z1/GmlSrn2PzR8gpCAPfSBlslRAidIEfspzqJHdO9Hb/xz3MEK YOvUW8qNOoB8Q== From: Mattijs Korpershoek To: sashiko-reviews@lists.linux.dev, Mattijs Korpershoek Cc: conor+dt@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com, robh@kernel.org, vkoul@kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org Subject: Re: [PATCH v3 2/2] phy: qcom: qmp-usb: Add support for SA8255P In-Reply-To: <20260722140157.619571F000E9@smtp.kernel.org> References: <20260722-phy-qcom-qmp-usb-8255-v3-0-e789070b48f7@kernel.org> <20260722-phy-qcom-qmp-usb-8255-v3-2-e789070b48f7@kernel.org> <20260722140157.619571F000E9@smtp.kernel.org> Date: Wed, 22 Jul 2026 16:32:23 +0200 Message-ID: <875x27hz7s.fsf@kernel.org> 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 T24gV2VkLCBKdWwgMjIsIDIwMjYgYXQgMTQ6MDEsIHNhc2hpa28tYm90QGtlcm5lbC5vcmcgd3Jv dGU6Cgo+IFRoYW5rIHlvdSBmb3IgeW91ciBjb250cmlidXRpb24hIFNhc2hpa28gQUkgcmV2aWV3 IGZvdW5kIDIgcG90ZW50aWFsIGlzc3VlKHMpIHRvIGNvbnNpZGVyOgo+Cj4gTmV3IGlzc3VlczoK PiAtIFtIaWdoXSBJbmNvcnJlY3QgcG93ZXIgZG9tYWluIHNlcXVlbmNpbmcgaW4gYGQzX3RvX2Qw YCBhbmQgYGQwX3RvX2QzYCB0cmFuc2l0aW9ucywgdmlvbGF0aW5nIGhhcmR3YXJlIGNvbnN0cmFp bnRzLgo+Cj4gUHJlLWV4aXN0aW5nIGlzc3VlczoKPiAtIFtIaWdoXSBVbmJhbGFuY2VkIGNsb2Nr IHByZXBhcmUvZW5hYmxlIGFuZCBkaXNhYmxlL3VucHJlcGFyZSwgbGVhZGluZyB0byBgcGlwZV9j bGtgIGVuYWJsZSBjb3VudCBsZWFrLgo+IC0tCj4KPiAtLS0gUGF0Y2ggWzJdOiBbUEFUQ0ggdjMg Mi8yXSBwaHk6IHFjb206IHFtcC11c2I6IEFkZCBzdXBwb3J0IGZvciBTQTgyNTVQIC0tLQo+IGNv bW1pdCAyYjA2NDMyYTRmODRjMTYxZTgzNzkzNzA1ODdmNzkyZjkxYmNhOTY4Cj4gQXV0aG9yOiBT cmlyYW0gRGFzaCA8cXVpY19zcmlyYW1kQHF1aWNpbmMuY29tPgo+IFN1YmplY3Q6IHBoeTogcWNv bTogcW1wLXVzYjogQWRkIHN1cHBvcnQgZm9yIFNBODI1NVAKPgo+IFRoZSBRdWFsY29tbSBhdXRv bW90aXZlIFNBODI1NXAgU29DIHJlbGllcyBvbiBmaXJtd2FyZSB0byBjb25maWd1cmUKPiBwbGF0 Zm9ybSByZXNvdXJjZXMsIGluY2x1ZGluZyBjbG9ja3MsIGludGVyY29ubmVjdHMgYW5kIFRMTU0u Cj4gVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciB0aGUgU0E4MjU1cCBTb0MgaW4gdGhlIFFN UCBVU0IgZHJpdmVyIGJ5Cj4gdXNpbmcgU0NNSSBwb3dlciBwcm90b2NvbHMgdG8gbWFuYWdlIHBs YXRmb3JtIHJlc291cmNlcyB2aWEgcnVudGltZSBQTQo+IGZyYW1ld29yayBBUElzLiBUd28gc2V0 cyBvZiByZXNvdXJjZXMgYXJlIG1vZGVsZWQgYXMgImNvcmUiIGFuZCAidHJhbnNmZXIiCj4gcG93 ZXIgZG9tYWluIHN1cHBsaWVycy4KPgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvcXVhbGNv bW0vcGh5LXFjb20tcW1wLXVzYi5jIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tcW1w LXVzYi5jCj4+IGluZGV4IGM1NTA3MTY4ZTEzNTQuLjg4MWY0Y2UyMzI0MWUgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC11c2IuYwo+PiArKysgYi9kcml2 ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAtdXNiLmMKPiBbIC4uLiBdCj4+IEBAIC0xODY1 LDYgKzE4OTAsNzcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBxbXBfcGh5X2NmZyBnbHltdXJfdXNi M191bmlwaHlfY2ZnID0gewo+PiAgCS5yZWdzCQkJPSBxbXBfdjdfdXNiM3BoeV9yZWdzX2xheW91 dCwKPj4gIH07Cj4+ICAKPj4gK3N0YXRpYyBpbnQgcW1wX3VzYl9kb21haW5fYXR0YWNoKHN0cnVj dCBxbXBfdXNiICpxbXApCj4+ICt7Cj4+ICsJc3RydWN0IGRldl9wbV9kb21haW5fYXR0YWNoX2Rh dGEgcGRfZGF0YSA9IHsKPj4gKwkJLnBkX2ZsYWdzICAgICAgID0gUERfRkxBR19OT19ERVZfTElO SywKPj4gKwkJLnBkX25hbWVzICAgICAgID0gKGNvbnN0IGNoYXIgKltdKSB7ICJ0cmFuc2ZlciIs ICJjb3JlIiB9LAo+PiArCQkubnVtX3BkX25hbWVzICAgPSAyLAo+PiArCX07Cj4gWyAuLi4gXQo+ PiArLyogZDNfdG9fZDAgdHJhbnNpdGlvbiBieSB0dXJuaW5nIG9uIGFsbCB0aGUgc3VwcGxpZXJz ICovCj4+ICtzdGF0aWMgaW50IHFtcF91c2JfZDNfdG9fZDAoc3RydWN0IHFtcF91c2IgKnFtcCkK Pj4gK3sKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJaWYgKCFxbXAtPnBkX2xpc3QpCj4+ICsJCXJl dHVybiAwOwo+PiArCj4+ICsJcmV0ID0gcG1fcnVudGltZV9yZXN1bWVfYW5kX2dldChxbXAtPnBk X2xpc3QtPnBkX2RldnNbMF0pOwo+PiArCWlmIChyZXQpCj4+ICsJCXJldHVybiByZXQ7Cj4+ICsK Pj4gKwlyZXQgPSBwbV9ydW50aW1lX3Jlc3VtZV9hbmRfZ2V0KHFtcC0+cGRfbGlzdC0+cGRfZGV2 c1sxXSk7Cj4KPiBbU2V2ZXJpdHk6IEhpZ2hdCj4gRG9lcyByZXN1bWluZyB0aGUgJ3RyYW5zZmVy JyBkb21haW4gYmVmb3JlIHRoZSAnY29yZScgZG9tYWluIGNhdXNlIGhhcmR3YXJlCj4gYnVzIGhh bmdzPwo+Cj4gVGhlIGNvbW1pdCBtZXNzYWdlIHN0YXRlcyB0aGF0IHRoZSAiY29yZSIgZG9tYWlu IGNvbnRyb2xzIHRoZSBHRFNDIChwb3dlciksCj4gd2hpbGUgdGhlICJ0cmFuc2ZlciIgZG9tYWlu IGNvbnRyb2xzIGNsb2Nrcy4gSXQgYXBwZWFycyB0aGlzIHNlcXVlbmNlIHR1cm5zCj4gb24gdGhl IGNsb2NrcyBiZWZvcmUgZW5hYmxpbmcgcG93ZXIgdG8gdGhlIGxvZ2ljLgoKSSBoYXZlIG5vdCBv YnNlcnZlZCBhbnkgaXNzdWVzIGR1cmluZyBteSB0ZXN0aW5nIG9uIGEgU0E4Nzc1cCBib2FyZCB3 aXRoClNDTUkgZmlybXdhcmUgKHRoYXQncyBjb21wYXRpYmxlIHdpdGggdGhpcyBkcml2ZXIpCgo+ Cj4+ICsJaWYgKHJldCkKPj4gKwkJcG1fcnVudGltZV9wdXRfc3luYyhxbXAtPnBkX2xpc3QtPnBk X2RldnNbMF0pOwo+PiArCj4+ICsJcmV0dXJuIHJldDsKPj4gK30KPj4gKwo+PiArLyogZDBfdG9f ZDMgdHJhbnNpdGlvbiBieSB0dXJuaW5nIG9mZiBhbGwgdGhlIHN1cHBsaWVycyAqLwo+PiArc3Rh dGljIHZvaWQgcW1wX3VzYl9kMF90b19kMyhzdHJ1Y3QgcW1wX3VzYiAqcW1wKQo+PiArewo+PiAr CWlmICghcW1wLT5wZF9saXN0KQo+PiArCQlyZXR1cm47Cj4+ICsKPj4gKwlwbV9ydW50aW1lX3B1 dF9zeW5jKHFtcC0+cGRfbGlzdC0+cGRfZGV2c1sxXSk7Cj4+ICsJcG1fcnVudGltZV9wdXRfc3lu YyhxbXAtPnBkX2xpc3QtPnBkX2RldnNbMF0pOwo+Cj4gW1NldmVyaXR5OiBIaWdoXQo+IFNpbWls YXJseSwgZG9lcyBzdXNwZW5kaW5nIHRoZSAnY29yZScgZG9tYWluIGJlZm9yZSB0aGUgJ3RyYW5z ZmVyJyBkb21haW4KPiBjYXVzZSBpc3N1ZXM/Cj4KPiBUaGlzIHNlcXVlbmNlIGRpc2FibGVzIHRo ZSBHRFNDIChwb3dlcikgYmVmb3JlIGRpc2FibGluZyB0aGUgY2xvY2tzLCB3aGljaAo+IG1pZ2h0 IGFsc28gdmlvbGF0ZSBoYXJkd2FyZSBjb25zdHJhaW50cyBhbmQgbGVhZCB0byB0aW1lb3V0cyBv ciBmcmVlemVzLgoKSSBoYXZlIG5vdCBvYnNlcnZlZCBhbnkgaXNzdWVzIGR1cmluZyBteSB0ZXN0 aW5nIG9uIGEgU0E4Nzc1cCBib2FyZCB3aXRoClNDTUkgZmlybXdhcmUgKHRoYXQncyBjb21wYXRp YmxlIHdpdGggdGhpcyBkcml2ZXIpCgo+Cj4+ICt9Cj4gWyAuLi4gXQo+PiBAQCAtMjEyNiwxNCAr MjIzNCwyMyBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIHFtcF91c2JfcnVudGltZV9yZXN1 bWUoc3RydWN0IGRldmljZSAqZGV2KQo+PiAgCQlyZXR1cm4gMDsKPj4gIAl9Cj4KPiBbU2V2ZXJp dHk6IEhpZ2hdCj4gVGhpcyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSwgYnV0IGRvZXMgdGhpcyBl YXJseSBiYWlsb3V0IGxlYWQgdG8gYSBwaXBlX2Nsawo+IGVuYWJsZSBjb3VudCBsZWFrPwo+Cj4g VGhlIGNvZGUgcmlnaHQgYWJvdmUgdGhpcyBhZGRpdGlvbiBpbiBxbXBfdXNiX3J1bnRpbWVfcmVz dW1lKCkgaXM6Cj4KPiAJaWYgKCFxbXAtPnBoeS0+aW5pdF9jb3VudCkgewo+IAkJZGV2X3ZkYmco ZGV2LCAiUEhZIG5vdCBpbml0aWFsaXplZCwgYmFpbGluZyBvdXRcbiIpOwo+IAkJcmV0dXJuIDA7 Cj4gCX0KPgo+IER1cmluZyB0aGUgc3RhbmRhcmQgUEhZIGxpZmVjeWNsZSwgdGhpcyBjaGVjayBh cHBlYXJzIHRvIGNhdXNlIGFuIHVuYmFsYW5jZWQKPiBjbG9jayBwcmVwYXJlL2VuYWJsZSBhbmQg ZGlzYWJsZS91bnByZXBhcmUgc3RhdGU6Cj4KPiAxLiBwaHlfaW5pdCgpIHN0YXJ0cyB3aXRoIGlu aXRfY291bnQgPT0gMCwgc28gcW1wX3VzYl9ydW50aW1lX3Jlc3VtZSgpIHNraXBzCj4gICAgZW5h YmxpbmcgY2xvY2tzLgo+IDIuIEFmdGVyIHBoeV9pbml0KCkgY29tcGxldGVzLCBpbml0X2NvdW50 IGlzIDEsIHNvIHBoeV9wbV9ydW50aW1lX3B1dCgpIGNhdXNlcwo+ICAgIHFtcF91c2JfcnVudGlt ZV9zdXNwZW5kKCkgdG8gZGlzYWJsZSBwaXBlX2NsaywgdHJpZ2dlcmluZyBhIGNsb2NrIGZyYW1l d29yawo+ICAgIHVuZGVyZmxvdyB3YXJuaW5nIHNpbmNlIGl0IHdhcyBuZXZlciBlbmFibGVkLgo+ IDMuIENvbnZlcnNlbHksIGR1cmluZyBwaHlfZXhpdCgpLCBpbml0X2NvdW50IGlzIDEsIHNvIHFt cF91c2JfcnVudGltZV9yZXN1bWUoKQo+ICAgIGVuYWJsZXMgcGlwZV9jbGsuIFRoZW4gcW1wX3Vz Yl9leGl0KCkgZGVjcmVtZW50cyBpbml0X2NvdW50IHRvIDAuCj4gNC4gRmluYWxseSwgcGh5X3Bt X3J1bnRpbWVfcHV0KCkgdHJpZ2dlcnMgcW1wX3VzYl9ydW50aW1lX3N1c3BlbmQoKSAod2hpY2gK PiAgICBoYXMgYSBzaW1pbGFyIGJhaWxvdXQgY2hlY2spLCBsZWF2aW5nIHBpcGVfY2xrIHBlcm1h bmVudGx5IGVuYWJsZWQgYW5kCj4gICAgcHJldmVudGluZyB0aGUgc3lzdGVtIGZyb20gaGl0dGlu ZyBkZWVwIHNsZWVwIHN0YXRlcy4KPgo+IENhbiB0aGlzIHN0YXRlIHRyYWNraW5nIGJlIGZpeGVk IHRvIGVuc3VyZSB0aGUgY2xvY2tzIGFyZSBwcm9wZXJseSBtYXRjaGVkCj4gZHVyaW5nIHN1c3Bl bmQgYW5kIHJlc3VtZT8KClRoaXMgaXMgdW5yZWxhdGVkIHRvIHRoZSBwYXRjaCBJJ3ZlIHN1Ym1p dHRlZC4gU2hvdWxkIHRoaXMgYmUgc2VuZCBvdXQKYXMgYSBzZXBlcmF0ZSBmaXg/Cgo+Cj4+ICAK Pj4gKwlyZXQgPSBxbXBfdXNiX2QxX3RvX2QwKHFtcCk7Cj4+ICsJaWYgKHJldCA8IDApIHsKPj4g KwkJZGV2X2VycihxbXAtPmRldiwgIkZhaWxlZCB0byB0cmFuc2l0aW9uIHRvIGQwIHN0YXRlXG4i KTsKPj4gKwkJcmV0dXJuIHJldDsKPj4gKwl9Cj4+ICsKPj4gIAlyZXQgPSBjbGtfYnVsa19wcmVw YXJlX2VuYWJsZShxbXAtPm51bV9jbGtzLCBxbXAtPmNsa3MpOwo+PiAtCWlmIChyZXQpCj4+ICsJ aWYgKHJldCkgewo+PiArCQlxbXBfdXNiX2QwX3RvX2QxKHFtcCk7Cj4+ICAJCXJldHVybiByZXQ7 Cj4+ICsJfQo+Cj4gLS0gCj4gU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRl di8jL3BhdGNoc2V0LzIwMjYwNzIyLXBoeS1xY29tLXFtcC11c2ItODI1NS12My0wLWU3ODkwNzBi NDhmN0BrZXJuZWwub3JnP3BhcnQ9MgoKLS0gCmxpbnV4LXBoeSBtYWlsaW5nIGxpc3QKbGludXgt cGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtcGh5Cg== 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 6F8243101C0; Wed, 22 Jul 2026 14:32:26 +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=1784730747; cv=none; b=RnT8Eym1EIy7fZ98BgWTAddkkS5jLx2zMSuyNFUwmZRi6d2i0XbkMOtwQY1TMKxuiKc/17r4OT0i45BPa/C7tj/cp0C1HzbTCHkQu43K1svZlmfX9iWV2tYC59+5Ska5H0AMpayGKkEmKx43gQ7G+Diy6zv3NZELPpwSHN+jxU0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784730747; c=relaxed/simple; bh=hBd/4lm7LbdwVpnM+/uAlh8ONdCd2N7HS6w7pj+XSkI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=qEjfVl2vtskzrx2lt8/Fen+NmIiXfCT92wvWJXXU2L27aaDzRm5aGLAtA8Sfy8DFrDZgm33JDK6MLdnx9vmLp1cHZZPHyAATWmOFtceyD4M0cv5pwgMM9JM55IDK+l3iKphqtQ55lhtCR0/0Ima3vF3Om4z3FZLjYl8iBLczbT4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VVPm48ge; 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="VVPm48ge" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70FA21F000E9; Wed, 22 Jul 2026 14:32:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784730746; bh=I8uryKb2LrpWj94ZKPp80W37fLy+qsE5kicLbkv3wQ8=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=VVPm48gebjO9VXGd9O4Vpxg/lVVih9SatOhCj+j9R5Ejpne9Di3+/sUzitaA0Rl8v bnl85Eqa7eLpWZZihT1NIspc3QTJ1avfjL4HZdkHTplxLn9OK1w9e6HvFO/6oIo8F1 NaOgUpcxH0P76J66qqwZ83JOsIyciLzSaVppfPeFtM/7MsQNAsiSOVqEVgB1qqBsDY DneEnhhZbF8+7/ir2zWXdDruEnrMG91cE6k6TA5keTL2HkdC19lldgbWP9HN7je+B/ BIBwnU85pPfMHC60z1/GmlSrn2PzR8gpCAPfSBlslRAidIEfspzqJHdO9Hb/xz3MEK YOvUW8qNOoB8Q== From: Mattijs Korpershoek To: sashiko-reviews@lists.linux.dev, Mattijs Korpershoek Cc: conor+dt@kernel.org, neil.armstrong@linaro.org, olteanv@gmail.com, robh@kernel.org, vkoul@kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org Subject: Re: [PATCH v3 2/2] phy: qcom: qmp-usb: Add support for SA8255P In-Reply-To: <20260722140157.619571F000E9@smtp.kernel.org> References: <20260722-phy-qcom-qmp-usb-8255-v3-0-e789070b48f7@kernel.org> <20260722-phy-qcom-qmp-usb-8255-v3-2-e789070b48f7@kernel.org> <20260722140157.619571F000E9@smtp.kernel.org> Date: Wed, 22 Jul 2026 16:32:23 +0200 Message-ID: <875x27hz7s.fsf@kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wed, Jul 22, 2026 at 14:01, sashiko-bot@kernel.org wrote: > Thank you for your contribution! Sashiko AI review found 2 potential issu= e(s) to consider: > > New issues: > - [High] Incorrect power domain sequencing in `d3_to_d0` and `d0_to_d3` t= ransitions, violating hardware constraints. > > Pre-existing issues: > - [High] Unbalanced clock prepare/enable and disable/unprepare, leading t= o `pipe_clk` enable count leak. > -- > > --- Patch [2]: [PATCH v3 2/2] phy: qcom: qmp-usb: Add support for SA8255P= --- > commit 2b06432a4f84c161e8379370587f792f91bca968 > Author: Sriram Dash > Subject: phy: qcom: qmp-usb: Add support for SA8255P > > The Qualcomm automotive SA8255p SoC relies on firmware to configure > platform resources, including clocks, interconnects and TLMM. > This commit adds support for the SA8255p SoC in the QMP USB driver by > using SCMI power protocols to manage platform resources via runtime PM > framework APIs. Two sets of resources are modeled as "core" and "transfer" > power domain suppliers. > >> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c b/drivers/phy/qualc= omm/phy-qcom-qmp-usb.c >> index c5507168e1354..881f4ce23241e 100644 >> --- a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c >> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-usb.c > [ ... ] >> @@ -1865,6 +1890,77 @@ static const struct qmp_phy_cfg glymur_usb3_uniph= y_cfg =3D { >> .regs =3D qmp_v7_usb3phy_regs_layout, >> }; >>=20=20 >> +static int qmp_usb_domain_attach(struct qmp_usb *qmp) >> +{ >> + struct dev_pm_domain_attach_data pd_data =3D { >> + .pd_flags =3D PD_FLAG_NO_DEV_LINK, >> + .pd_names =3D (const char *[]) { "transfer", "core" }, >> + .num_pd_names =3D 2, >> + }; > [ ... ] >> +/* d3_to_d0 transition by turning on all the suppliers */ >> +static int qmp_usb_d3_to_d0(struct qmp_usb *qmp) >> +{ >> + int ret; >> + >> + if (!qmp->pd_list) >> + return 0; >> + >> + ret =3D pm_runtime_resume_and_get(qmp->pd_list->pd_devs[0]); >> + if (ret) >> + return ret; >> + >> + ret =3D pm_runtime_resume_and_get(qmp->pd_list->pd_devs[1]); > > [Severity: High] > Does resuming the 'transfer' domain before the 'core' domain cause hardwa= re > bus hangs? > > The commit message states that the "core" domain controls the GDSC (power= ), > while the "transfer" domain controls clocks. It appears this sequence tur= ns > on the clocks before enabling power to the logic. I have not observed any issues during my testing on a SA8775p board with SCMI firmware (that's compatible with this driver) > >> + if (ret) >> + pm_runtime_put_sync(qmp->pd_list->pd_devs[0]); >> + >> + return ret; >> +} >> + >> +/* d0_to_d3 transition by turning off all the suppliers */ >> +static void qmp_usb_d0_to_d3(struct qmp_usb *qmp) >> +{ >> + if (!qmp->pd_list) >> + return; >> + >> + pm_runtime_put_sync(qmp->pd_list->pd_devs[1]); >> + pm_runtime_put_sync(qmp->pd_list->pd_devs[0]); > > [Severity: High] > Similarly, does suspending the 'core' domain before the 'transfer' domain > cause issues? > > This sequence disables the GDSC (power) before disabling the clocks, which > might also violate hardware constraints and lead to timeouts or freezes. I have not observed any issues during my testing on a SA8775p board with SCMI firmware (that's compatible with this driver) > >> +} > [ ... ] >> @@ -2126,14 +2234,23 @@ static int __maybe_unused qmp_usb_runtime_resume= (struct device *dev) >> return 0; >> } > > [Severity: High] > This is a pre-existing issue, but does this early bailout lead to a pipe_= clk > enable count leak? > > The code right above this addition in qmp_usb_runtime_resume() is: > > if (!qmp->phy->init_count) { > dev_vdbg(dev, "PHY not initialized, bailing out\n"); > return 0; > } > > During the standard PHY lifecycle, this check appears to cause an unbalan= ced > clock prepare/enable and disable/unprepare state: > > 1. phy_init() starts with init_count =3D=3D 0, so qmp_usb_runtime_resume(= ) skips > enabling clocks. > 2. After phy_init() completes, init_count is 1, so phy_pm_runtime_put() c= auses > qmp_usb_runtime_suspend() to disable pipe_clk, triggering a clock fram= ework > underflow warning since it was never enabled. > 3. Conversely, during phy_exit(), init_count is 1, so qmp_usb_runtime_res= ume() > enables pipe_clk. Then qmp_usb_exit() decrements init_count to 0. > 4. Finally, phy_pm_runtime_put() triggers qmp_usb_runtime_suspend() (which > has a similar bailout check), leaving pipe_clk permanently enabled and > preventing the system from hitting deep sleep states. > > Can this state tracking be fixed to ensure the clocks are properly matched > during suspend and resume? This is unrelated to the patch I've submitted. Should this be send out as a seperate fix? > >>=20=20 >> + ret =3D qmp_usb_d1_to_d0(qmp); >> + if (ret < 0) { >> + dev_err(qmp->dev, "Failed to transition to d0 state\n"); >> + return ret; >> + } >> + >> ret =3D clk_bulk_prepare_enable(qmp->num_clks, qmp->clks); >> - if (ret) >> + if (ret) { >> + qmp_usb_d0_to_d1(qmp); >> return ret; >> + } > > --=20 > Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260722-phy-qcom= -qmp-usb-8255-v3-0-e789070b48f7@kernel.org?part=3D2