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 04D2FC43458 for ; Wed, 8 Jul 2026 13:11:25 +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=9z5cByTlwz8l/M5r1i4o2KA3z/E6qPie6V8rKm8Vxxg=; b=dNZyTWtWD/wP13 JJKFVYh2OB4gLi//IX/eKG2Cia7eFkA0RbUB8ggLHdh4EuICe9KL2qeW/Wpz3tAHX5+zBa1CljATJ 1CwoT3DTRCbxLbcmkbEQU+0U6FPGz/9GX+e0M/ml/897KRJI5mnSh8k21sox/pE57kHXoiA1bS+e/ lC3b9atdTw5zUEZbs2O6CdMPtU+uTB1ZOEQVEQXzJyzTPvMCjZjnyQFS2oHLhvi19FMOUpgwKCDBk J4IeLfyFZN4vwDVy2dhp6b/dsFyOVauVqTJ56r2PdjokH8Sn+j81i8Qm7AhPX/dTDrkGSfv1qWw4H JDHUL3LiAFsvrno22Xhw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1whS3h-0000000HAra-2wT9; Wed, 08 Jul 2026 13:11:25 +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 1whS3g-0000000HAr8-3L7W for linux-phy@lists.infradead.org; Wed, 08 Jul 2026 13:11:24 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 76EC443EB9; Wed, 8 Jul 2026 13:11:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F29B1F00A3A; Wed, 8 Jul 2026 13:11:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783516284; bh=wfzHycTlnx6XlfSp6CDMIPLe8NL0K/Um2WLq4b/TDTk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=EXiAnv8aY2AZCyf+U62uoM2OroTAJANph1jv7VXNiRsoIuzSfnrWMkcc4nH8xqk6S Lu2PWWXFBl5ZnFj8nNU8eazxpHVOSYdIZHLc0MnHLN9o4nTAylgxU22Ox6lEIa8Asq eBKBPp+b+Cf3c8qWW4EegN2lcAZI1znvY1hTC0+kYOfip6B4H1iAxWxZXZQud4107N f8ZuV8E3RcNQVc8X/HDtwtK0y4/2tgPD2IQoO5yz4j1mZZ/CxcbR04E5f544rv7gui +Sh0O2lq5ssltK5p+yjRa8yhBlXCUztCcxg/nw5WHjVJ8kXhAPu5AfE2wELBhwJPS0 uDYd/sKEjI2gg== From: sashiko-bot@kernel.org Subject: Re: [PATCH 2/2] phy: qcom: qmp-usb: Add support for SA8255P To: "Mattijs Korpershoek" Cc: olteanv@gmail.com, devicetree@vger.kernel.org, robh@kernel.org, linux-phy@lists.infradead.org, vkoul@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org In-Reply-To: <20260708-phy-qcom-qmp-usb-8255-v1-2-8d852a9535db@kernel.org> References: <20260708-phy-qcom-qmp-usb-8255-v1-0-8d852a9535db@kernel.org> <20260708-phy-qcom-qmp-usb-8255-v1-2-8d852a9535db@kernel.org> Date: Wed, 08 Jul 2026 13:11:22 +0000 Message-Id: <20260708131123.3F29B1F00A3A@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 MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFRoZSBkcml2ZXIgbGVh a3MgcnVudGltZSBQTSB1c2FnZSBjb3VudGVycyBmb3IgaXRzIG1hbnVhbGx5IG1hbmFnZWQgcG93 ZXIgZG9tYWlucyAoJ3VzYl90cmFuc2ZlcicgYW5kICd1c2JfY29yZScpIG9uIG11bHRpcGxlIGVy cm9yIHBhdGhzLCBsZWF2aW5nIGhhcmR3YXJlIHBlcm1hbmVudGx5IGFjdGl2ZSBhbmQgcmlza2lu ZyB1c2FnZSBjb3VudGVyIG92ZXJmbG93LgotIFtIaWdoXSBUZWFyZG93biBvcGVyYXRpb25zIGRp c2FibGUgUE0gZG9tYWlucyBiZWZvcmUgZGlzYWJsaW5nIGxlYWYgY29uc3VtZXIgY2xvY2tzIGFu ZCBhc3NlcnRpbmcgcmVzZXRzLCB2aW9sYXRpbmcgc3RyaWN0IHJldmVyc2UtaW5pdGlhbGl6YXRp b24gb3JkZXJpbmcgYW5kIHJpc2tpbmcgaGFyZHdhcmUgYWNjZXNzIGZhdWx0cy4KLS0KCi0tLSBQ YXRjaCBbMl06IFtQQVRDSCAyLzJdIHBoeTogcWNvbTogcW1wLXVzYjogQWRkIHN1cHBvcnQgZm9y IFNBODI1NVAgLS0tCmNvbW1pdCA0ODc2NjdmZTNjMDc2YmJlMDg1MWVlMTczOWE1ZDBmMjMxMTYz NGQ5CkF1dGhvcjogU3JpcmFtIERhc2ggPHF1aWNfc3JpcmFtZEBxdWljaW5jLmNvbT4KU3ViamVj dDogcGh5OiBxY29tOiBxbXAtdXNiOiBBZGQgc3VwcG9ydCBmb3IgU0E4MjU1UAoKVGhpcyBjb21t aXQgYWRkcyBzdXBwb3J0IGZvciB0aGUgU0E4MjU1UCBTb0MgdG8gdGhlIFFNUCBVU0IgUEhZIGRy aXZlci4KSXQgaW50cm9kdWNlcyBmaXJtd2FyZS1tYW5hZ2VkIHBvd2VyIGRvbWFpbnMgdGhhdCBh cmUgY29udHJvbGxlZCB2aWEKcnVudGltZSBQTSBBUElzIGR1cmluZyB0aGUgZHJpdmVyJ3MgcG93 ZXIgc3RhdGUgdHJhbnNpdGlvbnMuCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9xdWFsY29t bS9waHktcWNvbS1xbXAtdXNiLmMgYi9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAt dXNiLmMKPiBpbmRleCBjNTUwNzE2OGUxMzU0Li4yYWM2YTIzODY4YmY5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC11c2IuYwo+ICsrKyBiL2RyaXZlcnMv cGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC11c2IuYwpbIC4uLiBdCj4gQEAgLTE4OTAsNiArMTg5 MCw3NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHFtcF9waHlfY2ZnIGdseW11cl91c2IzX3VuaXBo eV9jZmcgPSB7ClsgLi4uIF0KPiArLyogZDNfdG9fZDAgdHJhbnNpdGlvbiBieSB0dXJuaW5nIG9u IGFsbCB0aGUgc3VwcGxpZXJzICovCj4gK3N0YXRpYyBpbnQgcW1wX3VzYl9kM190b19kMChzdHJ1 Y3QgcW1wX3VzYiAqcW1wKQo+ICt7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmICghcW1wLT5wZF9s aXN0KQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXJldCA9IHBtX3J1bnRpbWVfcmVzdW1lX2FuZF9n ZXQocW1wLT5wZF9saXN0LT5wZF9kZXZzWzBdKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJl dDsKPiArCj4gKwlyZXQgPSBwbV9ydW50aW1lX3Jlc3VtZV9hbmRfZ2V0KHFtcC0+cGRfbGlzdC0+ cGRfZGV2c1sxXSk7Cj4gKwo+ICsJcmV0dXJuIHJldDsKCltTZXZlcml0eTogSGlnaF0KSWYgdGhl IHJlc3VtZSBvZiBwZF9kZXZzWzFdIGZhaWxzIGhlcmUsIHdpbGwgdGhpcyBsZWFrIHRoZSBydW50 aW1lIFBNIHVzYWdlCmNvdW50ZXIgZm9yIHBkX2RldnNbMF0/IFNob3VsZCB0aGVyZSBiZSBhIHBt X3J1bnRpbWVfcHV0X3N5bmMoKSBmb3IKcGRfZGV2c1swXSBiZWZvcmUgcmV0dXJuaW5nIHRoZSBl cnJvcj8KCj4gK30KPiArCj4gKy8qIGQwX3RvX2QzIHRyYW5zaXRpb24gYnkgdHVybmluZyBvZmYg YWxsIHRoZSBzdXBwbGllcnMgKi8KPiArc3RhdGljIHZvaWQgcW1wX3VzYl9kMF90b19kMyhzdHJ1 Y3QgcW1wX3VzYiAqcW1wKQo+ICt7Cj4gKwlpZiAoIXFtcC0+cGRfbGlzdCkKPiArCQlyZXR1cm47 Cj4gKwo+ICsJcG1fcnVudGltZV9wdXRfc3luYyhxbXAtPnBkX2xpc3QtPnBkX2RldnNbMF0pOwo+ ICsJcG1fcnVudGltZV9wdXRfc3luYyhxbXAtPnBkX2xpc3QtPnBkX2RldnNbMV0pOwoKW1NldmVy aXR5OiBIaWdoXQpTaW5jZSBxbXBfdXNiX2QzX3RvX2QwKCkgZW5hYmxlcyB0aGVzZSBkb21haW5z IGluIHRoZSBvcmRlciAwIHRoZW4gMSwKc2hvdWxkIHRoaXMgZGlzYWJsZSB0aGVtIGluIHRoZSBy ZXZlcnNlIG9yZGVyICgxIHRoZW4gMCk/Cgo+ICt9ClsgLi4uIF0KPiBAQCAtMTk4MCw2ICsxOTgw LDEyIEBAIHN0YXRpYyBpbnQgcW1wX3VzYl9pbml0KHN0cnVjdCBwaHkgKnBoeSkKPiAgCXZvaWQg X19pb21lbSAqcGNzID0gcW1wLT5wY3M7Cj4gIAlpbnQgcmV0Owo+ICAKPiArCXJldCA9IHFtcF91 c2JfZDNfdG9fZDAocW1wKTsKPiArCWlmIChyZXQgPCAwKSB7Cj4gKwkJZGV2X2VycihxbXAtPmRl diwgIkZhaWxlZCB0byB0cmFuc2l0aW9uIHRvIGQwIHN0YXRlXG4iKTsKPiArCQlyZXR1cm4gcmV0 Owo+ICsJfQo+ICsKPiAgCXJldCA9IHJlZ3VsYXRvcl9idWxrX2VuYWJsZShjZmctPm51bV92cmVn cywgcW1wLT52cmVncyk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJZGV2X2VycihxbXAtPmRldiwgImZh aWxlZCB0byBlbmFibGUgcmVndWxhdG9ycywgZXJyPSVkXG4iLCByZXQpOwo+ICAJCXJldHVybiBy ZXQ7CgpbU2V2ZXJpdHk6IEhpZ2hdCklmIHJlZ3VsYXRvcl9idWxrX2VuYWJsZSgpIGZhaWxzLCB0 aGlzIHJldHVybnMgZGlyZWN0bHkuIERvZXMgdGhpcyBsZWF2ZQp0aGUgUE0gZG9tYWlucyBlbmFi bGVkLCBsZWFraW5nIHRoZWlyIHVzYWdlIGNvdW50ZXJzIHNpbmNlIHFtcF91c2JfZDBfdG9fZDMo KQppcyBub3QgY2FsbGVkIHRvIGJhbGFuY2UgdGhlIGVhcmxpZXIgcW1wX3VzYl9kM190b19kMCgp IGNhbGw/Cgo+IEBAIC0yMDI1LDYgKzIwMjUsOCBAQCBzdGF0aWMgaW50IHFtcF91c2JfZXhpdChz dHJ1Y3QgcGh5ICpwaHkpCj4gIAlzdHJ1Y3QgcW1wX3VzYiAqcW1wID0gcGh5X2dldF9kcnZkYXRh KHBoeSk7Cj4gIAljb25zdCBzdHJ1Y3QgcW1wX3BoeV9jZmcgKmNmZyA9IHFtcC0+Y2ZnOwo+ICAK PiArCXFtcF91c2JfZDBfdG9fZDMocW1wKTsKPiArCj4gIAlyZXNldF9jb250cm9sX2J1bGtfYXNz ZXJ0KHFtcC0+bnVtX3Jlc2V0cywgcW1wLT5yZXNldHMpOwo+ICAKPiAgCWNsa19idWxrX2Rpc2Fi bGVfdW5wcmVwYXJlKHFtcC0+bnVtX2Nsa3MsIHFtcC0+Y2xrcyk7CgpbU2V2ZXJpdHk6IEhpZ2hd ClRoaXMgZGlzYWJsZXMgdGhlIHBvd2VyIGRvbWFpbnMgdmlhIHFtcF91c2JfZDBfdG9fZDMoKSBi ZWZvcmUgZGlzYWJsaW5nCnRoZSBsZWFmIGNsb2NrcyBhbmQgYXNzZXJ0aW5nIHRoZSByZXNldHMu IENhbiB0aGlzIHNlcXVlbmNlIGNhdXNlCnVuY2xvY2tlZCBvciB1bnBvd2VyZWQgcmVnaXN0ZXIg YWNjZXNzZXMgYW5kIHRyaWdnZXIgaGFyZHdhcmUgZmF1bHRzPwpTaG91bGQgdGhlIGRvbWFpbnMg YmUgZGlzYWJsZWQgYXQgdGhlIGVuZCBvZiB0aGUgdGVhcmRvd24gaW5zdGVhZD8KCj4gQEAgLTIy MTIsNiArMjIxMiw4IEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgcW1wX3VzYl9ydW50aW1l X3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAKPiAgCXFtcF91c2JfZW5hYmxlX2F1dG9u b21vdXNfbW9kZShxbXApOwo+ICAKPiArCXFtcF91c2JfZDBfdG9fZDEocW1wKTsKPiArCj4gIAlj bGtfZGlzYWJsZV91bnByZXBhcmUocW1wLT5waXBlX2Nsayk7Cj4gIAljbGtfYnVsa19kaXNhYmxl X3VucHJlcGFyZShxbXAtPm51bV9jbGtzLCBxbXAtPmNsa3MpOwoKW1NldmVyaXR5OiBIaWdoXQpT aW1pbGFyIHRvIHRoZSBleGl0IHBhdGgsIHRoaXMgcG93ZXJzIG9mZiB0aGUgdHJhbnNmZXIgZG9t YWluIGJlZm9yZQp0aGUgY2xvY2tzIGFyZSBkaXNhYmxlZC4gQ291bGQgdGhpcyBjYXVzZSBidXMg ZXJyb3JzIHdoZW4gdGhlIGNsb2NrcyBhcmUKbWFuaXB1bGF0ZWQ/Cgo+IEBAIC0yMjMyLDYgKzIy MzIsMTIgQEAgc3RhdGljIGludCBfX21heWJlX3VudXNlZCBxbXBfdXNiX3J1bnRpbWVfcmVzdW1l KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCQlyZXR1cm4gMDsKPiAgCX0KPiAgCj4gKwlyZXQgPSBx bXBfdXNiX2QxX3RvX2QwKHFtcCk7Cj4gKwlpZiAocmV0IDwgMCkgewo+ICsJCWRldl9lcnIocW1w LT5kZXYsICJGYWlsZWQgdG8gdHJhbnNpdGlvbiB0byBkMCBzdGF0ZVxuIik7Cj4gKwkJcmV0dXJu IHJldDsKPiArCX0KPiArCj4gIAlyZXQgPSBjbGtfYnVsa19wcmVwYXJlX2VuYWJsZShxbXAtPm51 bV9jbGtzLCBxbXAtPmNsa3MpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0OwoKW1NldmVy aXR5OiBIaWdoXQpJZiBjbGtfYnVsa19wcmVwYXJlX2VuYWJsZSgpIGZhaWxzLCB0aGUgZnVuY3Rp b24gcmV0dXJucyByZXQgd2l0aG91dAp1bmRvaW5nIHFtcF91c2JfZDFfdG9fZDAoKS4gV2lsbCB0 aGlzIGxlYWsgdGhlIHRyYW5zZmVyIGRvbWFpbidzIFBNIHVzYWdlCmNvdW50ZXI/CgotLSAKU2Fz aGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYwNzA4 LXBoeS1xY29tLXFtcC11c2ItODI1NS12MS0wLThkODUyYTk1MzVkYkBrZXJuZWwub3JnP3BhcnQ9 MgoKLS0gCmxpbnV4LXBoeSBtYWlsaW5nIGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cHM6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5 Cg== 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 74A6628642B for ; Wed, 8 Jul 2026 13:11:24 +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=1783516285; cv=none; b=OWAFgZv9ZqwRZnwdhQNymujx7Z7m42SU5HU1AM1tR0dwwvMVDt4NPF3F3aYIfIzgL5Ti/dZKNtnijZ69bLN95Z0TCacba5jGb/1PW70eGe7qbCoeHnHjf/5TFd1nsLjSgmksEgIbbv/+DyplqZDbksInMdNUayJbbQn9qPfZ9DE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783516285; c=relaxed/simple; bh=P2X1fSwAP8TurJhUGCk8jmQO3sYSs/ko+IJLchobcvo=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=JDd/uGX9AXoKhzJRfYDGFExLvG0ZXO3LQnU3Z5v1PYA65GZeA7bqYDBC8/25AJsWsv86Lmtn5aWPfmtZwMeOY4B0UEpjN8f0oqkrL9vskTb+HK1jd+B70+AP7dJiFxPEDRassZa6z1sRN3bDro0Nl0AK/bt3u/A1BgRCgfht/U0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EXiAnv8a; 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="EXiAnv8a" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F29B1F00A3A; Wed, 8 Jul 2026 13:11:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783516284; bh=wfzHycTlnx6XlfSp6CDMIPLe8NL0K/Um2WLq4b/TDTk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=EXiAnv8aY2AZCyf+U62uoM2OroTAJANph1jv7VXNiRsoIuzSfnrWMkcc4nH8xqk6S Lu2PWWXFBl5ZnFj8nNU8eazxpHVOSYdIZHLc0MnHLN9o4nTAylgxU22Ox6lEIa8Asq eBKBPp+b+Cf3c8qWW4EegN2lcAZI1znvY1hTC0+kYOfip6B4H1iAxWxZXZQud4107N f8ZuV8E3RcNQVc8X/HDtwtK0y4/2tgPD2IQoO5yz4j1mZZ/CxcbR04E5f544rv7gui +Sh0O2lq5ssltK5p+yjRa8yhBlXCUztCcxg/nw5WHjVJ8kXhAPu5AfE2wELBhwJPS0 uDYd/sKEjI2gg== From: sashiko-bot@kernel.org Subject: Re: [PATCH 2/2] phy: qcom: qmp-usb: Add support for SA8255P Reply-To: sashiko-reviews@lists.linux.dev To: "Mattijs Korpershoek" Cc: olteanv@gmail.com, devicetree@vger.kernel.org, robh@kernel.org, linux-phy@lists.infradead.org, vkoul@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org In-Reply-To: <20260708-phy-qcom-qmp-usb-8255-v1-2-8d852a9535db@kernel.org> References: <20260708-phy-qcom-qmp-usb-8255-v1-0-8d852a9535db@kernel.org> <20260708-phy-qcom-qmp-usb-8255-v1-2-8d852a9535db@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 08 Jul 2026 13:11:22 +0000 Message-Id: <20260708131123.3F29B1F00A3A@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 2 potential issue(= s) to consider: - [High] The driver leaks runtime PM usage counters for its manually manage= d power domains ('usb_transfer' and 'usb_core') on multiple error paths, le= aving hardware permanently active and risking usage counter overflow. - [High] Teardown operations disable PM domains before disabling leaf consu= mer clocks and asserting resets, violating strict reverse-initialization or= dering and risking hardware access faults. -- --- Patch [2]: [PATCH 2/2] phy: qcom: qmp-usb: Add support for SA8255P --- commit 487667fe3c076bbe0851ee1739a5d0f2311634d9 Author: Sriram Dash Subject: phy: qcom: qmp-usb: Add support for SA8255P This commit adds support for the SA8255P SoC to the QMP USB PHY driver. It introduces firmware-managed power domains that are controlled via runtime PM APIs during the driver's power state transitions. > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c b/drivers/phy/qualco= mm/phy-qcom-qmp-usb.c > index c5507168e1354..2ac6a23868bf9 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp-usb.c > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-usb.c [ ... ] > @@ -1890,6 +1890,77 @@ static const struct qmp_phy_cfg glymur_usb3_uniphy= _cfg =3D { [ ... ] > +/* 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]); > + > + return ret; [Severity: High] If the resume of pd_devs[1] fails here, will this leak the runtime PM usage counter for pd_devs[0]? Should there be a pm_runtime_put_sync() for pd_devs[0] before returning the error? > +} > + > +/* 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[0]); > + pm_runtime_put_sync(qmp->pd_list->pd_devs[1]); [Severity: High] Since qmp_usb_d3_to_d0() enables these domains in the order 0 then 1, should this disable them in the reverse order (1 then 0)? > +} [ ... ] > @@ -1980,6 +1980,12 @@ static int qmp_usb_init(struct phy *phy) > void __iomem *pcs =3D qmp->pcs; > int ret; > =20 > + ret =3D qmp_usb_d3_to_d0(qmp); > + if (ret < 0) { > + dev_err(qmp->dev, "Failed to transition to d0 state\n"); > + return ret; > + } > + > ret =3D regulator_bulk_enable(cfg->num_vregs, qmp->vregs); > if (ret) { > dev_err(qmp->dev, "failed to enable regulators, err=3D%d\n", ret); > return ret; [Severity: High] If regulator_bulk_enable() fails, this returns directly. Does this leave the PM domains enabled, leaking their usage counters since qmp_usb_d0_to_d3= () is not called to balance the earlier qmp_usb_d3_to_d0() call? > @@ -2025,6 +2025,8 @@ static int qmp_usb_exit(struct phy *phy) > struct qmp_usb *qmp =3D phy_get_drvdata(phy); > const struct qmp_phy_cfg *cfg =3D qmp->cfg; > =20 > + qmp_usb_d0_to_d3(qmp); > + > reset_control_bulk_assert(qmp->num_resets, qmp->resets); > =20 > clk_bulk_disable_unprepare(qmp->num_clks, qmp->clks); [Severity: High] This disables the power domains via qmp_usb_d0_to_d3() before disabling the leaf clocks and asserting the resets. Can this sequence cause unclocked or unpowered register accesses and trigger hardware faults? Should the domains be disabled at the end of the teardown instead? > @@ -2212,6 +2212,8 @@ static int __maybe_unused qmp_usb_runtime_suspend(s= truct device *dev) > =20 > qmp_usb_enable_autonomous_mode(qmp); > =20 > + qmp_usb_d0_to_d1(qmp); > + > clk_disable_unprepare(qmp->pipe_clk); > clk_bulk_disable_unprepare(qmp->num_clks, qmp->clks); [Severity: High] Similar to the exit path, this powers off the transfer domain before the clocks are disabled. Could this cause bus errors when the clocks are manipulated? > @@ -2232,6 +2232,12 @@ static int __maybe_unused qmp_usb_runtime_resume(s= truct device *dev) > return 0; > } > =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) > return ret; [Severity: High] If clk_bulk_prepare_enable() fails, the function returns ret without undoing qmp_usb_d1_to_d0(). Will this leak the transfer domain's PM usage counter? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260708-phy-qcom-q= mp-usb-8255-v1-0-8d852a9535db@kernel.org?part=3D2