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 8AD3FC79F9F for ; Sun, 6 Sep 2026 14:32:35 +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=+Ssm7b2fywLPe4L1KeqRTlkXpZMVC/BI2TZ+nejVids=; b=D7YBLPF9Nn8G3R +Mgv0xjwutNXnULTqQHLdwOvvWzmAh9zlofNItVXecnDuwc9y/uYWOPSbjPwiWDlO7EwOpDiqf5E4 EHynQ77KXcQ4AZUY5/jMTaVaZ8qPgnEfaCpJTqfN6MtvmW+RZY/FQP5ygJXq2l0yTvQmMKiJ/NNnY MkJ4dc7t/r1kc+zo4CmlfI+Y1JtehUlhHCuXAtm7D0U6HPE1K3hyDnS7xCt5ZHLL8fD7AzrBzNza+ OaHsJoBwD9Hq+MmQ4HfHiw31j5LykcOJbFn5kohmjfUBFKu0dGmiOwwTKVeqS6EPt1Szo+ulkf27z VilknnsIeMnksB0NTcAg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x3Dv9-000000055o6-15tw; Sun, 06 Sep 2026 14:32:35 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x3Dv8-000000055na-136K for linux-phy@lists.infradead.org; Sun, 06 Sep 2026 14:32:34 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 067CE43D85; Sun, 6 Sep 2026 14:32:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 523A21F00A3A; Sun, 6 Sep 2026 14:32:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788705153; bh=hYlU9slo2AdfTZdkflGPEyEjS1r8Sh9sxlLoD1PyPjI=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=JaaHYcFhcQAIFgwwlOG52BLNL97LGGxyL1mZIDqllf+soBi3ebOglmWR7UCcuyf/e J2XXfqeO0d0Dl+NthyVmyEE0yt8yC5OlljbOXypcxFUL3zFweMzq3w3uMJJyu2ujbm hTBVBTp1CaEMJhKJOdYUqBr9+TFir1jL0xoCRfmjHKVjkdH9eDzDixl1vWkBQ9PFPH WzGV4yAHplNsZRW34JzaMrO3eCafCrAVJdvJSwktwHAH6CBQfBoLtz8tId0Wv71flt FPgMKjnYW0SGoRoLmKoatVfI7mpDsMxRHerKg2QOArefK7KfW4wVSDmXNMZ58vdMu5 ovTI/vkho6U8g== From: sashiko-bot@kernel.org Subject: Re: [PATCH v17 4/5] media: qcom: camss: Add support for PHY API devices To: =?utf-8?b?QnJ5YW4gTydEb25vZ2h1ZQ==?= Cc: olteanv@gmail.com, neil.armstrong@linaro.org, devicetree@vger.kernel.org, media-ci@linuxtv.org, linux-clk@vger.kernel.org, linux-phy@lists.infradead.org, vkoul@kernel.org, robh@kernel.org, conor+dt@kernel.org In-Reply-To: <20260906-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v17-4-e2197a3e2551@linaro.org> References: <20260906-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v17-0-e2197a3e2551@linaro.org> <20260906-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v17-4-e2197a3e2551@linaro.org> Date: Sun, 06 Sep 2026 14:32:32 +0000 Message-Id: <20260906143233.523A21F00A3A@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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFNlbGVjdHMgYSBub24t ZXhpc3RlbnQgS2NvbmZpZyBzeW1ib2wgUEhZX1FDT01fTUlQSV9DU0kyLgotIFtIaWdoXSBIYXJk d2FyZSBQSFkgc3RhdGUgYW5kIHJlc291cmNlcyBhcmUgbGVha2VkIG9uIGVhcmx5IHByb2JlIGFu ZCByZWdpc3RyYXRpb24gZXJyb3IgcGF0aHMuCi0gW01lZGl1bV0gTWlzc2luZyByZXR1cm4gdmFs dWUgY2hlY2tzIGZvciBwaHlfbWlwaV9kcGh5X2dldF9kZWZhdWx0X2NvbmZpZ19mb3JfaHNjbGso KSBhbmQgcGh5X3NldF9tb2RlKCkgY2FuIGxlYWQgdG8gdW5pbml0aWFsaXplZCBQSFkgY29uZmln dXJhdGlvbi4KLS0KCmNvbW1pdCBjYzM3ODZlYTU5MDJiY2I2ODdjNDkzNzRlOGU4ZGIyOWM1MTI3 NDk2CkF1dGhvcjogQnJ5YW4gTydEb25vZ2h1ZSA8YnJ5YW4ub2Rvbm9naHVlQGxpbmFyby5vcmc+ CgptZWRpYTogcWNvbTogY2Ftc3M6IEFkZCBzdXBwb3J0IGZvciBQSFkgQVBJIGRldmljZXMKCkFk ZCB0aGUgYWJpbGl0eSB0byB1c2UgYSBQSFkgcG9pbnRlciB3aGljaCBpbnRlcmFjdHMgd2l0aCB0 aGUgc3RhbmRhcmQgUEhZCkFQSS4gSW4gdGhlIGZpcnN0IGluc3RhbmNlIHRoZSBjb2RlIHdpbGwg dHJ5IHRvIHVzZSB0aGUgbmV3IFBIWSBpbnRlcmZhY2UuCklmIG5vIFBIWXMgYXJlIHByZXNlbnQg aW4gdGhlIERUIHRoZW4gdGhlIGxlZ2FjeSBtZXRob2Qgd2lsbCBiZSBhdHRlbXB0ZWQuCgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vY2Ftc3MvS2NvbmZpZyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vcWNvbS9jYW1zcy9LY29uZmlnCj4gaW5kZXggNGVkYTQ4Y2Ix YWRmMC4uMWVkYzVlNWExODI5ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3Fjb20vY2Ftc3MvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcWNvbS9j YW1zcy9LY29uZmlnCj4gQEAgLTcsMyArNyw0IEBAIGNvbmZpZyBWSURFT19RQ09NX0NBTVNTCj4g IAlzZWxlY3QgVklERU9fVjRMMl9TVUJERVZfQVBJCj4gIAlzZWxlY3QgVklERU9CVUYyX0RNQV9T Rwo+ICAJc2VsZWN0IFY0TDJfRldOT0RFCj4gKwlzZWxlY3QgUEhZX1FDT01fTUlQSV9DU0kyCgpb U2V2ZXJpdHk6IEhpZ2hdCkRvZXMgdGhpcyBzZWxlY3QgYSBub25leGlzdGVudCBjb25maWcgc3lt Ym9sPyBTZWxlY3RpbmcgYSBzeW1ib2wgdGhhdCBpc24ndApkZWZpbmVkIGFueXdoZXJlIGluIHRo ZSBrZXJuZWwgY2F1c2VzIGEgc2lsZW50IGJ1aWxkIGRlcGVuZGVuY3kgZmFpbHVyZSwKd2hpY2gg d2lsbCBsZWF2ZSB0aGUgcmVxdWlyZWQgUEhZIGluZnJhc3RydWN0dXJlIHVuYnVpbHQuCgpbIC4u LiBdCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vY2Ftc3MvY2Ft c3MtY3NpcGh5LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vY2Ftc3MvY2Ftc3MtY3Np cGh5LmMKPiBpbmRleCA1MzlhYzQ4ODhiNjA4Li5lMDA3NDhkZDgzYjAyIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcWNvbS9jYW1zcy9jYW1zcy1jc2lwaHkuYwo+ICsrKyBi L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcWNvbS9jYW1zcy9jYW1zcy1jc2lwaHkuYwoKWyAuLi4g XQoKPiBAQCAtMzA2LDExICszMDgsODggQEAgc3RhdGljIGludCBjc2lwaHlfc3RyZWFtX29uKHN0 cnVjdCBjc2lwaHlfZGV2aWNlICpjc2lwaHkpCj4gKwlsaW5rX2ZyZXEgPSBjYW1zc19nZXRfbGlu a19mcmVxKCZjc2lwaHktPnN1YmRldi5lbnRpdHksIGJwcCwgbnVtX2xhbmVzKTsKPiArCj4gKwlp ZiAobGlua19mcmVxIDwgMCkgewo+ICsJCWRldl9lcnIoZGV2LAo+ICsJCQkiQ2Fubm90IGdldCBD U0kyIHRyYW5zbWl0dGVyJ3MgbGluayBmcmVxdWVuY3lcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFM Owo+ICsJfQo+ICsKPiArCXBoeV9taXBpX2RwaHlfZ2V0X2RlZmF1bHRfY29uZmlnX2Zvcl9oc2Ns ayhsaW5rX2ZyZXEsIG51bV9sYW5lcywgZHBoeV9jZmcpOwo+ICsKPiArCXBoeV9zZXRfbW9kZShj c2lwaHktPnBoeSwgUEhZX01PREVfTUlQSV9EUEhZKTsKPiArCj4gKwlyZXQgPSBwaHlfY29uZmln dXJlKGNzaXBoeS0+cGh5LCAmZHBoeV9vcHRzKTsKCltTZXZlcml0eTogTWVkaXVtXQpTaG91bGQg d2UgY2hlY2sgdGhlIHJldHVybiB2YWx1ZXMgb2YgcGh5X21pcGlfZHBoeV9nZXRfZGVmYXVsdF9j b25maWdfZm9yX2hzY2xrKCkKYW5kIHBoeV9zZXRfbW9kZSgpIGhlcmU/IAoKSWYgbGlua19mcmVx IGV2YWx1YXRlcyB0byAwLCBpdCBhcHBlYXJzIHBoeV9taXBpX2RwaHlfZ2V0X2RlZmF1bHRfY29u ZmlnX2Zvcl9oc2NsaygpCmNvdWxkIHJldHVybiAtRUlOVkFMIGFuZCBsZWF2ZSB0aGUgb3V0cHV0 IGRwaHlfb3B0cyBzdHJ1Y3R1cmUgemVyby1maWxsZWQuIFBhc3NpbmcKdGhpcyB1bmluaXRpYWxp emVkIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gcGh5X2NvbmZpZ3VyZSgpIGNvdWxkIGxlYWQg dG8KZXJyYXRpYyBoYXJkd2FyZSBiZWhhdmlvci4KClsgLi4uIF0KCj4gQEAgLTcwOSw2ICs3ODgs NTYgQEAgaW50IG1zbV9jc2lwaHlfc3ViZGV2X2luaXQoc3RydWN0IGNhbXNzICpjYW1zcywKPiAr CXJldCA9IHBoeV9pbml0KGNzaXBoeS0+cGh5KTsKPiArCWlmIChyZXQpCj4gKwkJZGV2X2Vycihk ZXYsICIlcyBpbml0IGZhaWwgJWRcbiIsIGNzaXBoeS0+bmFtZSwgcmV0KTsKPiArCj4gK2RvbmU6 Cj4gKwlyZXR1cm4gcmV0Owo+ICt9CgpbIC4uLiBdCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3Fjb20vY2Ftc3MvY2Ftc3MuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0v cWNvbS9jYW1zcy9jYW1zcy5jCj4gaW5kZXggMjEyM2Y2Mzg4ZTNkNy4uODQwOTdkODJkOTljOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vY2Ftc3MvY2Ftc3MuYwo+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcWNvbS9jYW1zcy9jYW1zcy5jCgpbIC4uLiBd Cgo+IEBAIC00ODMyLDE0ICs0ODkwLDIxIEBAIHN0YXRpYyBpbnQgY2Ftc3NfaW5pdF9zdWJkZXZp Y2VzKHN0cnVjdCBjYW1zcyAqY2Ftc3MpCj4gIAl1bnNpZ25lZCBpbnQgaTsKPiAgCWludCByZXQ7 Cj4gIAo+ICsJY2Ftc3NfZGV0ZWN0X2xlZ2FjeV9waHkoY2Ftc3MpOwo+ICsKPiAgCWZvciAoaSA9 IDA7IGkgPCBjYW1zcy0+cmVzLT5jc2lwaHlfbnVtOyBpKyspIHsKPiAtCQlyZXQgPSBtc21fY3Np cGh5X3N1YmRldl9pbml0KGNhbXNzLCAmY2Ftc3MtPmNzaXBoeVtpXSwKPiAtCQkJCQkgICAgICZy ZXMtPmNzaXBoeV9yZXNbaV0sCj4gLQkJCQkJICAgICByZXMtPmNzaXBoeV9yZXNbaV0uY3NpcGh5 LmlkKTsKPiArCQlpZiAoIWNhbXNzLT5sZWdhY3lfcGh5KSB7Cj4gKwkJCXJldCA9IG1zbV9jc2lw aHlfc3ViZGV2X2luaXQoY2Ftc3MsIGkpOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCXJldCA9IG1zbV9j c2lwaHlfc3ViZGV2X2luaXRfbGVnYWN5KGNhbXNzLAo+ICsJCQkJCQkJICAgICZjYW1zcy0+Y3Np cGh5W2ldLAo+ICsJCQkJCQkJICAgICZyZXMtPmNzaXBoeV9yZXNbaV0sCj4gKwkJCQkJCQkgICAg cmVzLT5jc2lwaHlfcmVzW2ldLmNzaXBoeS5pZCk7Cj4gKwkJfQo+ICsKPiAgCQlpZiAocmV0IDwg MCkgewo+IC0JCQlkZXZfZXJyKGNhbXNzLT5kZXYsCj4gLQkJCQkiRmFpbGVkIHRvIGluaXQgY3Np cGh5JWQgc3ViLWRldmljZTogJWRcbiIsCj4gLQkJCQlpLCByZXQpOwo+ICsJCQlkZXZfZXJyKGNh bXNzLT5kZXYsICJjc2lwaHkgJWQgaW5pdCBmYWlsXG4iLAo+ICsJCQkJcmVzLT5jc2lwaHlfcmVz W2ldLmNzaXBoeS5pZCk7Cj4gIAkJCXJldHVybiByZXQ7Cj4gIAkJfQo+ICAJfQoKW1NldmVyaXR5 OiBIaWdoXQpEb2VzIHRoaXMgZXJyb3IgcGF0aCBsZWFrIHRoZSBQSFkgaW5pdGlhbGl6YXRpb24g c3RhdGU/CgpXaGVuIG1zbV9jc2lwaHlfc3ViZGV2X2luaXQoKSBzdWNjZWVkcywgaXQgY2FsbHMg cGh5X2luaXQoKSB0byBhY3F1aXJlIHRoZSBQSFkuCklmIGEgc3Vic2VxdWVudCBpdGVyYXRpb24g b2YgdGhpcyBsb29wIGZhaWxzLCBvciBpZiBhIGxhdGVyIGluaXRpYWxpemF0aW9uIHN0ZXAKbGlr ZSBjYW1zc19wcm9iZSgpIGZhaWxzLCB0aGUgY29kZSByZXR1cm5zIGltbWVkaWF0ZWx5IG9yIGdv ZXMgdG8gYW4gZXJyb3IgbGFiZWwKd2l0aG91dCByb2xsaW5nIGJhY2sgdGhlIHByZXZpb3VzbHkg aW5pdGlhbGl6ZWQgUEhZcyAod2hpY2ggcmVxdWlyZSBwaHlfZXhpdCgpKS4KCkFkZGl0aW9uYWxs eSwgaW4gbXNtX2NzaXBoeV9yZWdpc3Rlcl9lbnRpdHkoKSBsb2NhdGVkIGluIGNhbXNzLWNzaXBo eS5jOgoKCXJldCA9IGNzaXBoeV9pbml0X2Zvcm1hdHMoc2QsIE5VTEwpOwoJaWYgKHJldCA8IDAp IHsKCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0IGZvcm1hdDogJWRcbiIsIHJldCk7CgkJ cmV0dXJuIHJldDsKCX0KCkEgZmFpbHVyZSBoZXJlIHJldHVybnMgZWFybHkgd2l0aG91dCBjYWxs aW5nIHBoeV9leGl0KCkuIFdoZW4gdGhlIGNhbGxpbmcgY29kZQppbiBjYW1zc19yZWdpc3Rlcl9l bnRpdGllcygpIHJvbGxzIGJhY2ssIGl0IGRlY3JlbWVudHMgdGhlIGluZGV4IGFuZCBza2lwcyB0 aGlzCmZhaWxpbmcgZW50aXR5LCB3aGljaCBzZWVtcyB0byBwZXJtYW5lbnRseSBsZWFrIGl0cyBQ SFkgaW5pdGlhbGl6YXRpb24gc3RhdGUuCgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6 Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYwOTA2LWI0LWxpbnV4LW5leHQtMjUtMDMtMTMt ZHRzaS14MWU4MDEwMC1jYW1zcy12MTctMC1lMjE5N2EzZTI1NTFAbGluYXJvLm9yZz9wYXJ0PTQK 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 2E80E2C15B0; Sun, 6 Sep 2026 14:32:34 +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=1788705159; cv=none; b=QFfT2bb/zln2it9+3xCn8CSeGrEOo63AGuKBO+m6s5M7rE29AgF4m01/5ZLWjfkFzTcNKC55V9vEaWx598hiG2I2FyyrAFHDpILI965HEuMkGzYDUMwEjfvurT6WIBds+ilLgjJaS1IqYU+KG+A19jEaFHdeZy4h3nDjkP9fsVc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788705159; c=relaxed/simple; bh=DGPe4aOP1AagD4XeveSJcP+v6TFFlajcLTKJ7GrnILw=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=ZmOlyOLkRN9fwRAdC08pMtRgdY3gO/mbeCjeFRgt1fPgUqweu+i+KD6GnvEoIBPWkQItcPRQSaHj5Y19D6ah/QtncZwZFyP2cyt0JT6lKsFQdfb6Yn2JMhlDaN5GOCgEj46hh0Mc20Ynlaq0wTvfUbrX4wFi153WKtJyW8TLy78= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JaaHYcFh; 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="JaaHYcFh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 523A21F00A3A; Sun, 6 Sep 2026 14:32:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788705153; bh=hYlU9slo2AdfTZdkflGPEyEjS1r8Sh9sxlLoD1PyPjI=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=JaaHYcFhcQAIFgwwlOG52BLNL97LGGxyL1mZIDqllf+soBi3ebOglmWR7UCcuyf/e J2XXfqeO0d0Dl+NthyVmyEE0yt8yC5OlljbOXypcxFUL3zFweMzq3w3uMJJyu2ujbm hTBVBTp1CaEMJhKJOdYUqBr9+TFir1jL0xoCRfmjHKVjkdH9eDzDixl1vWkBQ9PFPH WzGV4yAHplNsZRW34JzaMrO3eCafCrAVJdvJSwktwHAH6CBQfBoLtz8tId0Wv71flt FPgMKjnYW0SGoRoLmKoatVfI7mpDsMxRHerKg2QOArefK7KfW4wVSDmXNMZ58vdMu5 ovTI/vkho6U8g== From: sashiko-bot@kernel.org Subject: Re: [PATCH v17 4/5] media: qcom: camss: Add support for PHY API devices Reply-To: sashiko-reviews@lists.linux.dev To: =?utf-8?b?QnJ5YW4gTydEb25vZ2h1ZQ==?= Cc: olteanv@gmail.com, neil.armstrong@linaro.org, devicetree@vger.kernel.org, media-ci@linuxtv.org, linux-clk@vger.kernel.org, linux-phy@lists.infradead.org, vkoul@kernel.org, robh@kernel.org, conor+dt@kernel.org In-Reply-To: <20260906-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v17-4-e2197a3e2551@linaro.org> References: <20260906-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v17-0-e2197a3e2551@linaro.org> <20260906-b4-linux-next-25-03-13-dtsi-x1e80100-camss-v17-4-e2197a3e2551@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sun, 06 Sep 2026 14:32:32 +0000 Message-Id: <20260906143233.523A21F00A3A@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 3 potential issue(= s) to consider: - [High] Selects a non-existent Kconfig symbol PHY_QCOM_MIPI_CSI2. - [High] Hardware PHY state and resources are leaked on early probe and reg= istration error paths. - [Medium] Missing return value checks for phy_mipi_dphy_get_default_config= _for_hsclk() and phy_set_mode() can lead to uninitialized PHY configuration. -- commit cc3786ea5902bcb687c49374e8e8db29c5127496 Author: Bryan O'Donoghue media: qcom: camss: Add support for PHY API devices Add the ability to use a PHY pointer which interacts with the standard PHY API. In the first instance the code will try to use the new PHY interface. If no PHYs are present in the DT then the legacy method will be attempted. > diff --git a/drivers/media/platform/qcom/camss/Kconfig b/drivers/media/pl= atform/qcom/camss/Kconfig > index 4eda48cb1adf0..1edc5e5a1829e 100644 > --- a/drivers/media/platform/qcom/camss/Kconfig > +++ b/drivers/media/platform/qcom/camss/Kconfig > @@ -7,3 +7,4 @@ config VIDEO_QCOM_CAMSS > select VIDEO_V4L2_SUBDEV_API > select VIDEOBUF2_DMA_SG > select V4L2_FWNODE > + select PHY_QCOM_MIPI_CSI2 [Severity: High] Does this select a nonexistent config symbol? Selecting a symbol that isn't defined anywhere in the kernel causes a silent build dependency failure, which will leave the required PHY infrastructure unbuilt. [ ... ] > diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/m= edia/platform/qcom/camss/camss-csiphy.c > index 539ac4888b608..e00748dd83b02 100644 > --- a/drivers/media/platform/qcom/camss/camss-csiphy.c > +++ b/drivers/media/platform/qcom/camss/camss-csiphy.c [ ... ] > @@ -306,11 +308,88 @@ static int csiphy_stream_on(struct csiphy_device *c= siphy) > + link_freq =3D camss_get_link_freq(&csiphy->subdev.entity, bpp, num_lane= s); > + > + if (link_freq < 0) { > + dev_err(dev, > + "Cannot get CSI2 transmitter's link frequency\n"); > + return -EINVAL; > + } > + > + phy_mipi_dphy_get_default_config_for_hsclk(link_freq, num_lanes, dphy_c= fg); > + > + phy_set_mode(csiphy->phy, PHY_MODE_MIPI_DPHY); > + > + ret =3D phy_configure(csiphy->phy, &dphy_opts); [Severity: Medium] Should we check the return values of phy_mipi_dphy_get_default_config_for_h= sclk() and phy_set_mode() here?=20 If link_freq evaluates to 0, it appears phy_mipi_dphy_get_default_config_fo= r_hsclk() could return -EINVAL and leave the output dphy_opts structure zero-filled. = Passing this uninitialized configuration directly to phy_configure() could lead to erratic hardware behavior. [ ... ] > @@ -709,6 +788,56 @@ int msm_csiphy_subdev_init(struct camss *camss, > + ret =3D phy_init(csiphy->phy); > + if (ret) > + dev_err(dev, "%s init fail %d\n", csiphy->name, ret); > + > +done: > + return ret; > +} [ ... ] > diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/pl= atform/qcom/camss/camss.c > index 2123f6388e3d7..84097d82d99c9 100644 > --- a/drivers/media/platform/qcom/camss/camss.c > +++ b/drivers/media/platform/qcom/camss/camss.c [ ... ] > @@ -4832,14 +4890,21 @@ static int camss_init_subdevices(struct camss *ca= mss) > unsigned int i; > int ret; > =20 > + camss_detect_legacy_phy(camss); > + > for (i =3D 0; i < camss->res->csiphy_num; i++) { > - ret =3D msm_csiphy_subdev_init(camss, &camss->csiphy[i], > - &res->csiphy_res[i], > - res->csiphy_res[i].csiphy.id); > + if (!camss->legacy_phy) { > + ret =3D msm_csiphy_subdev_init(camss, i); > + } else { > + ret =3D msm_csiphy_subdev_init_legacy(camss, > + &camss->csiphy[i], > + &res->csiphy_res[i], > + res->csiphy_res[i].csiphy.id); > + } > + > if (ret < 0) { > - dev_err(camss->dev, > - "Failed to init csiphy%d sub-device: %d\n", > - i, ret); > + dev_err(camss->dev, "csiphy %d init fail\n", > + res->csiphy_res[i].csiphy.id); > return ret; > } > } [Severity: High] Does this error path leak the PHY initialization state? When msm_csiphy_subdev_init() succeeds, it calls phy_init() to acquire the = PHY. If a subsequent iteration of this loop fails, or if a later initialization = step like camss_probe() fails, the code returns immediately or goes to an error = label without rolling back the previously initialized PHYs (which require phy_exi= t()). Additionally, in msm_csiphy_register_entity() located in camss-csiphy.c: ret =3D csiphy_init_formats(sd, NULL); if (ret < 0) { dev_err(dev, "Failed to init format: %d\n", ret); return ret; } A failure here returns early without calling phy_exit(). When the calling c= ode in camss_register_entities() rolls back, it decrements the index and skips = this failing entity, which seems to permanently leak its PHY initialization stat= e. --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260906-b4-linux-n= ext-25-03-13-dtsi-x1e80100-camss-v17-0-e2197a3e2551@linaro.org?part=3D4