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 1DE04C5AC82 for ; Mon, 10 Aug 2026 11:57:10 +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=3RHQfEq1R2ib3iUa3V2pdk8Fhoy1iR1ODgRAFmKban8=; b=xUhK0QFVBuIYFv UPZViZ65wecoIyMyA7YD0wpTpBsn/NXBmQJVucMsu4n6KBsDc6eF9kE/qdh+JlGY9iW+B7I447pv6 veSF+bF8hm4kiZjL5cxSswgPD09IS/NiYfHXNqliMwNlSdNji7dMde+3FM2VxRyM9o02TvK/uicLn iFhXyoyIRyz8vCVp/H8QnF5A0ZC1bUfEp01oz+HNtEaA0vo1O5FLfcZvDQ6Qf+7MkLc2tTzceefsM OrMGDjHCcR7Vjmh5c1HZTgl07fHUnrYdRXFuDMfYmLc9h3x5bJLnKv3qtYQcQkS0zRi2MbMoq6z2S hjJgnIk9KZ3+IOIJUbqA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wtOcv-0000000BgMf-3RGS; Mon, 10 Aug 2026 11:57:09 +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 1wtOcu-0000000BgMO-1uDV for linux-phy@lists.infradead.org; Mon, 10 Aug 2026 11:57:08 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 22E524002C; Mon, 10 Aug 2026 11:57:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94AD61F000E9; Mon, 10 Aug 2026 11:57:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1786363028; bh=yoq9TvQbw570jUnpK+0CMz7l27Zxa9GD/5F3ez5HHag=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=IgCD6hXqxCOu9rzNZZd0qKUpSHKgOw95cWuhicTgl+Nn/I24XH12Z3nqI+5FydqJx 7vyYvZk4aHqv3Go9nHwqv38UHk9QtmJPV5K36QWOv/Tk5pxdVqfuQ2+tGa/4FX/4s8 YpYWxaCww3Mak11YgWjTCx1vOqQvkUBX5ux54sKBX2N5eA4M1ICaWylw+71BTHpZZY drlSoJUErYWR7l9+lrUvyTx+p0kbImXG9T30h5qmAoIOS9V8CksYckxws+2wM91Yir kNpRHAk6XnJhkn5Fhd/LNH5t/w1GiUefHb0Hq3OAC/2A9BFsNCUs3hLCGeqZfE59+t 3IXDw0xK3HYkA== From: sashiko-bot@kernel.org Subject: Re: [PATCH 06/10] phy: qcom-ipq806x-usb: fix the PHY_PARAM_CTRL1 field masks To: "Dmitry Baryshkov" Cc: linux-phy@lists.infradead.org, conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org, vkoul@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org In-Reply-To: <20260810-msm8974-usb3-v1-6-1a47e1185524@oss.qualcomm.com> References: <20260810-msm8974-usb3-v1-0-1a47e1185524@oss.qualcomm.com> <20260810-msm8974-usb3-v1-6-1a47e1185524@oss.qualcomm.com> Date: Mon, 10 Aug 2026 11:57:07 +0000 Message-Id: <20260810115707.94AD61F000E9@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 NSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgot IFtIaWdoXSBUaGUgcGF0Y2ggZml4ZXMgb3ZlcmxhcHBpbmcgb2ZmLWJ5LW9uZSBmaWVsZCBtYXNr cyBmb3IgUEhZX1BBUkFNX0NUUkwxLCBidXQgZmFpbHMgdG8gYWRkcmVzcyBpZGVudGljYWwgb2Zm LWJ5LW9uZSBvdmVybGFwcyBpbiBSWF9PVlJEX0lOX0hJIGFuZCBUWF9PVlJEX0RSVl9MTyByZWdp c3RlciBtYXNrcyB3aGljaCBjYXVzZSBhY3RpdmUgaW5pdGlhbGl6YXRpb24gYnVncy4KLSBbSGln aF0gTWlzc2luZyBjbG9jayBjbGVhbnVwIG9uIGVycm9yIHBhdGhzIGluIHFjb21faXBxODA2eF91 c2Jfc3NfcGh5X2luaXQoKS4KLSBbSGlnaF0gVEVTVF9QT1dFUkRPV04gaXMgaW5jb3JyZWN0bHkg Y2xlYXJlZCBpbnN0ZWFkIG9mIGJlaW5nIHNldCBkdXJpbmcgUEhZIGV4aXQuCi0gW0hpZ2hdIE1p c3NpbmcgLUVQUk9CRV9ERUZFUiBoYW5kbGluZyBmb3IgdGhlIG9wdGlvbmFsIHhvX2Nsay4KLSBb TWVkaXVtXSBxY29tX2lwcTgwNnhfdXNiX3NzX3BoeV9pbml0KCkgaW5jb3JyZWN0bHkgcGFzc2Vz IGEgZnVsbHkgYXNzZW1ibGVkIHJlZ2lzdGVyIHZhbHVlIHRvIHVzYl9waHlfd3JpdGVfcmVhZGJh Y2soKSwgY2F1c2luZyBzcHVyaW91cyByZWFkYmFjayB2ZXJpZmljYXRpb24gZmFpbHVyZXMuCi0t CgotLS0gUGF0Y2ggWzZdOiBbUEFUQ0ggMDYvMTBdIHBoeTogcWNvbS1pcHE4MDZ4LXVzYjogZml4 IHRoZSBQSFlfUEFSQU1fQ1RSTDEgZmllbGQgbWFza3MgLS0tCmNvbW1pdCBjYzk1NDhjYjI3Y2Mw YWY3M2Q1OGZmNWRmYmIxZDQzZmY1M2MxYjJiCkF1dGhvcjogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1p dHJ5LmJhcnlzaGtvdkBvc3MucXVhbGNvbW0uY29tPgoKcGh5OiBxY29tLWlwcTgwNngtdXNiOiBm aXggdGhlIFBIWV9QQVJBTV9DVFJMMSBmaWVsZCBtYXNrcwoKVGhpcyBwYXRjaCBhbGlnbnMgdGhl IFBIWV9QQVJBTV9DVFJMMSBmaWVsZCBtYXNrcyB3aXRoIHRoZWlyIGRvY3VtZW50ZWQgCnBvc2l0 aW9ucyB0byBwcmV2ZW50IHZhbHVlcyBmcm9tIGxhbmRpbmcgc2hpZnRlZC4gVGhlIHByZXZpb3Vz IG9mZi1ieS1vbmUgCm1hc2tzIGNvcnJ1cHRlZCBuZWlnaGJvcmluZyBmaWVsZHMgYW5kIGNhdXNl ZCBzcHVyaW91cyB3cml0ZS1yZWFkYmFjayAKZmFpbHVyZXMgZHVyaW5nIFBIWSBpbml0aWFsaXph dGlvbi4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLWlwcTgw NngtdXNiLmMgYi9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1pcHE4MDZ4LXVzYi5jCj4g aW5kZXggY2Y3N2UwYTY2ZTIwZC4uM2QzZTlkNmRhMjk4YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L3BoeS9xdWFsY29tbS9waHktcWNvbS1pcHE4MDZ4LXVzYi5jCj4gKysrIGIvZHJpdmVycy9waHkv cXVhbGNvbW0vcGh5LXFjb20taXBxODA2eC11c2IuYwo+IEBAIC02OCwxNSArNjgsMTcgQEAKPiAg I2RlZmluZSBTU1BIWV9NUExMX1ZBTFVFCQkwCj4gIAo+ICAvKiBRU0NSQVRDSCBQSFlfUEFSQU1f Q1RSTDEgZmllbGRzICovCj4gLSNkZWZpbmUgUEhZX1BBUkFNX0NUUkwxX1RYX0ZVTExfU1dJTkdf TUFTSwlHRU5NQVNLKDI2LCAxOSkKPiAtI2RlZmluZSBQSFlfUEFSQU1fQ1RSTDFfVFhfREVFTVBI XzZEQl9NQVNLCUdFTk1BU0soMTksIDEzKQo+IC0jZGVmaW5lIFBIWV9QQVJBTV9DVFJMMV9UWF9E RUVNUEhfM181REJfTUFTSwlHRU5NQVNLKDEzLCA3KQo+IC0jZGVmaW5lIFBIWV9QQVJBTV9DVFJM MV9MT1NfQklBU19NQVNLCQlHRU5NQVNLKDcsIDIpCj4gKyNkZWZpbmUgUEhZX1BBUkFNX0NUUkwx X1RYX0ZVTExfU1dJTkdfTUFTSwlHRU5NQVNLKDI2LCAyMCkKPiArI2RlZmluZSBQSFlfUEFSQU1f Q1RSTDFfVFhfREVFTVBIXzZEQl9NQVNLCUdFTk1BU0soMTksIDE0KQo+ICsjZGVmaW5lIFBIWV9Q QVJBTV9DVFJMMV9UWF9ERUVNUEhfM181REJfTUFTSwlHRU5NQVNLKDEzLCA4KQo+ICsjZGVmaW5l IFBIWV9QQVJBTV9DVFJMMV9MT1NfTEVWRUxfTUFTSwkJR0VOTUFTSyg3LCAzKQo+ICsjZGVmaW5l IFBIWV9QQVJBTV9DVFJMMV9MT1NfQklBU19NQVNLCQlHRU5NQVNLKDIsIDApCj4gIAo+ICAjZGVm aW5lIFBIWV9QQVJBTV9DVFJMMV9NQVNLCQkJCVwKPiAgCQkoUEhZX1BBUkFNX0NUUkwxX1RYX0ZV TExfU1dJTkdfTUFTSyB8CVwKPiAgCQkgUEhZX1BBUkFNX0NUUkwxX1RYX0RFRU1QSF82REJfTUFT SyB8CVwKPiAgCQkgUEhZX1BBUkFNX0NUUkwxX1RYX0RFRU1QSF8zXzVEQl9NQVNLIHwJXAo+ICsJ CSBQSFlfUEFSQU1fQ1RSTDFfTE9TX0xFVkVMX01BU0sgfCBcCj4gIAkJIFBIWV9QQVJBTV9DVFJM MV9MT1NfQklBU19NQVNLKQoKW1NldmVyaXR5OiBIaWdoXQpUaGlzIGlzIGEgcHJlLWV4aXN0aW5n IGlzc3VlLCBidXQgd2hpbGUgZml4aW5nIHRoZSBvdmVybGFwcGluZyBmaWVsZCBtYXNrcyBmb3Ig ClBIWV9QQVJBTV9DVFJMMSwgYXJlIHRoZXJlIGlkZW50aWNhbCBvdmVybGFwcyBpbiB0aGUgUlhf T1ZSRF9JTl9ISSBhbmQgClRYX09WUkRfRFJWX0xPIG1hc2tzIHRoYXQgYnJlYWsgdGhlIGluaXRp YWxpemF0aW9uIGxvZ2ljPwoKRm9yIGV4YW1wbGU6CgojZGVmaW5lIFJYX09WUkRfSU5fSElfUlhf RVFfTUFTSwkJR0VOTUFTSygxMCwgNykKI2RlZmluZSBSWF9PVlJEX0lOX0hJX1JYX0VRX0VOX09W UkQJCUJJVCg3KQoKQmVjYXVzZSB0aGVzZSBtYXNrcyBvdmVybGFwIGF0IGJpdCA3LCBkb2VzIHFj b21faXBxODA2eF91c2Jfc3NfcGh5X2luaXQoKSAKc2lsZW50bHkgZGlzYWJsZSB0aGUgb3ZlcnJp ZGUgcmlnaHQgYWZ0ZXIgZW5hYmxpbmcgaXQ/CgoJZGF0YSB8PSBSWF9PVlJEX0lOX0hJX1JYX0VR X0VOX09WUkQ7CglkYXRhICY9IH5SWF9PVlJEX0lOX0hJX1JYX0VRX01BU0s7CglkYXRhIHw9IFJY X09WUkRfSU5fSElfUlhfRVEocGh5X2R3YzMtPnJ4X2VxKTsKClsgLi4uIF0KCj4gQEAgLTQzNiw3 ICs0NDAsOCBAQCBzdGF0aWMgaW50IHFjb21faXBxODA2eF91c2Jfc3NfcGh5X2luaXQoc3RydWN0 IHBoeSAqcGh5KQo+ICAJZGF0YSB8PSBQSFlfUEFSQU1fQ1RSTDFfVFhfRlVMTF9TV0lORygweDZl KSB8Cj4gIAkJUEhZX1BBUkFNX0NUUkwxX1RYX0RFRU1QSF82REIoMHgyMCkgfAo+ICAJCVBIWV9Q QVJBTV9DVFJMMV9UWF9ERUVNUEhfM181REIocGh5X2R3YzMtPnR4X2RlYW1wXzNfNWRiKSB8Cj4g LQkJUEhZX1BBUkFNX0NUUkwxX0xPU19CSUFTKDB4OSk7Cj4gKwkJUEhZX1BBUkFNX0NUUkwxX0xP U19MRVZFTCgweDkpIHwKPiArCQlQSFlfUEFSQU1fQ1RSTDFfTE9TX0JJQVMoMHgwKTsKPiAgCj4g IAl1c2JfcGh5X3dyaXRlX3JlYWRiYWNrKHBoeV9kd2MzLCBTU1VTQl9QSFlfUEFSQU1fQ1RSTF8x LAo+ICAJCQkgICAgICAgUEhZX1BBUkFNX0NUUkwxX01BU0ssIGRhdGEpOwoKW1NldmVyaXR5OiBN ZWRpdW1dClRoaXMgaXNuJ3QgYSBidWcgaW50cm9kdWNlZCBieSB0aGlzIHBhdGNoLCBidXQgZG9l cyB0aGlzIGNhbGwgdG8gCnVzYl9waHlfd3JpdGVfcmVhZGJhY2soKSBhbHdheXMgZmFpbCBzcHVy aW91c2x5IG9uIHByb2JlPwoKSXQgbG9va3MgbGlrZSB3ZSBhcmUgcGFzc2luZyBhIGZ1bGx5IGFz c2VtYmxlZCByZWdpc3RlciB2YWx1ZSAoYGRhdGFgKSBhcyBgdmFsYAppbnN0ZWFkIG9mIHBhc3Np bmcganVzdCB0aGUgbWFza2VkIGJpdHM6CgoJZGF0YSA9IHJlYWRsKHBoeV9kd2MzLT5iYXNlICsg U1NVU0JfUEhZX1BBUkFNX0NUUkxfMSk7CglkYXRhICY9IH5QSFlfUEFSQU1fQ1RSTDFfTUFTSzsK CWRhdGEgfD0gUEhZX1BBUkFNX0NUUkwxX1RYX0ZVTExfU1dJTkcoMHg2ZSkgfCAuLi4KCXVzYl9w aHlfd3JpdGVfcmVhZGJhY2socGh5X2R3YzMsIFNTVVNCX1BIWV9QQVJBTV9DVFJMXzEsCgkJCSAg ICAgICBQSFlfUEFSQU1fQ1RSTDFfTUFTSywgZGF0YSk7CgpJbnNpZGUgdXNiX3BoeV93cml0ZV9y ZWFkYmFjaygpLCBpdCB1c2VzIHRoZSBwcm92aWRlZCBgbWFza2Agd2hlbiBjaGVja2luZyBgdmFs YDoKCgkvKiBSZWFkIGJhY2sgdG8gc2VlIGlmIHZhbCB3YXMgd3JpdHRlbiAqLwoJdG1wID0gcmVh ZGwocGh5X2R3YzMtPmJhc2UgKyBvZmZzZXQpOwoJdG1wICY9IG1hc2s7CQkvKiBjbGVhciBvdGhl ciBiaXRzICovCgoJaWYgKHRtcCAhPSB2YWwpCgkJZGV2X2VyciguLi4pOwoKU2luY2UgYGRhdGFg IGNvbnRhaW5zIHVubWFza2VkIGJpdHMgZnJvbSB0aGUgaW5pdGlhbCByZWFkbCgpIGFuZCBgdG1w YCBtYXNrcwp0aGVtIG91dCwgd29uJ3QgdGhpcyBjaGVjayB1bmNvbmRpdGlvbmFsbHkgZmFpbCBp ZiBhbnkgdW5tYXNrZWQgYml0cyBhcmUgbm9uLXplcm8/CgpbU2V2ZXJpdHk6IEhpZ2hdClRoaXMg aXMgYSBwcmUtZXhpc3RpbmcgaXNzdWUsIGJ1dCBkb2VzIHFjb21faXBxODA2eF91c2Jfc3NfcGh5 X2luaXQoKSBsZWFrIAp0aGUgY2xvY2sgcmVmZXJlbmNlcyBpZiBpdCBmYWlscz8gCgpXaGVuIGEg aGFyZHdhcmUgcmVhZC93cml0ZSBmYWlscywgdGhlIGVycm9yIHBhdGggcmV0dXJucyB3aXRob3V0 IHVud2luZGluZyAKdGhlIGVuYWJsZWQgY2xvY2tzOgoKZXJyX3BoeV90cmFuczoKCXJldHVybiBy ZXQ7CgpTaW5jZSB0aGUgUEhZIGNvcmUgZG9lc24ndCBjYWxsIHBoeV9leGl0KCkgd2hlbiBwaHlf aW5pdCgpIGZhaWxzLCBpdCBzZWVtcyAKeG9fY2xrIGFuZCByZWZfY2xrIHJlbWFpbiBwZXJtYW5l bnRseSBwcmVwYXJlZCBhbmQgZW5hYmxlZD8KClsgLi4uIF0KCltTZXZlcml0eTogSGlnaF0KVGhp cyBpc24ndCBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBkb2VzIHRoZSBQSFkg ZXhpdCBzZXF1ZW5jZSBpbiAKcWNvbV9pcHE4MDZ4X3VzYl9zc19waHlfZXhpdCgpIGRpc2FibGUg UEhZIHJldGVudGlvbiBpbnN0ZWFkIG9mIGVuYWJsaW5nIGl0PwoKVGhlIGNvbW1lbnQgaW5kaWNh dGVzIHdlIHdhbnQgdG8gc2V0IFRFU1RfUE9XRVJET1dOOgoKCS8qIDMuIFNldCBURVNUX1BPV0VS RURfRE9XTiBpbiBQSFlfQ1RSTF9SRUcgdG8gZW5hYmxlIFBIWSByZXRlbnRpb24gKi8KCS4uLgoJ dXNiX3BoeV93cml0ZV9yZWFkYmFjayhwaHlfZHdjMywgU1NVU0JfUEhZX0NUUkxfUkVHLAoJCQkg ICAgICAgU1NVU0JfQ1RSTF9URVNUX1BPV0VSRE9XTiwgMHgwKTsKClNpbmNlIDB4MCBpcyBwYXNz ZWQgYXMgdGhlIGB2YWxgLCB1c2JfcGh5X3dyaXRlX3JlYWRiYWNrKCkgY2xlYXJzIHRoZSAKU1NV U0JfQ1RSTF9URVNUX1BPV0VSRE9XTiBiaXQgcmF0aGVyIHRoYW4gc2V0dGluZyBpdC4gU2hvdWxk IHRoaXMgcGFzcyAKU1NVU0JfQ1RSTF9URVNUX1BPV0VSRE9XTiBhcyB0aGUgdmFsdWU/CgpbIC4u LiBdCgpbU2V2ZXJpdHk6IEhpZ2hdClRoaXMgaXMgYSBwcmUtZXhpc3RpbmcgaXNzdWUsIGJ1dCBk b2VzIHFjb21faXBxODA2eF91c2JfcGh5X3Byb2JlKCkgaGFuZGxlIApwcm9iZSBkZWZlcnJhbCBj b3JyZWN0bHkgZm9yIHRoZSBvcHRpb25hbCB4b19jbGs/CgoJcGh5X2R3YzMtPnhvX2NsayA9IGRl dm1fY2xrX2dldChwaHlfZHdjMy0+ZGV2LCAieG8iKTsKCWlmIChJU19FUlIocGh5X2R3YzMtPnhv X2NsaykpIHsKCQlkZXZfZGJnKHBoeV9kd2MzLT5kZXYsICJjYW5ub3QgZ2V0IFRDWE8gY2xvY2tc biIpOwoJCXBoeV9kd2MzLT54b19jbGsgPSBOVUxMOwoJfQoKZGV2bV9jbGtfZ2V0KCkgcmV0dXJu cyAtRVBST0JFX0RFRkVSIHdoZW4gdGhlIGNsb2NrIGlzIG5vdCB5ZXQgcmVhZHkuIEJ5IApjaGVj a2luZyBJU19FUlIgYW5kIG1hc2tpbmcgYWxsIGVycm9ycyB0byBOVUxMLCB3b3VsZG4ndCB0aGUg ZHJpdmVyIGZhaWwgdG8gCmRlZmVyIGl0cyBwcm9iZSBhbmQgc2lsZW50bHkgb3BlcmF0ZSB3aXRo b3V0IHRoZSBUQ1hPIGNsb2NrIGlmIGl0IHByb2JlcyAKYmVmb3JlIHRoZSBjbG9jayBwcm92aWRl ciBpcyByZWFkeT8KCi0tIApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2 LyMvcGF0Y2hzZXQvMjAyNjA4MTAtbXNtODk3NC11c2IzLXYxLTAtMWE0N2UxMTg1NTI0QG9zcy5x dWFsY29tbS5jb20/cGFydD02CgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1waHkK 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 74C9E3AEB29 for ; Mon, 10 Aug 2026 11:57:08 +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=1786363029; cv=none; b=u2Eo+doKR7lLSxZhhuAN67fb1drZX9muw8MATecF9kkvUN7ehMbh4U3uU1j8F3M5kaSn37nzS9uGSH3IdTMvvVJ8petEitz35rq+7LgrhNj31/qNszx8q5QHynoX/Jf1jcjF7hr4py9ttsubIA2fDmuy6L48EriUIAxwTos/ToQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786363029; c=relaxed/simple; bh=o5WkBg1NLALV5hwx12VsffQih8R6gwM53qCFRt+Oukk=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=a/yiRLyBIeSmQ/pbpJymJYqie/aIgOmX5Y7Q0HoN4euPMyOpX2Sym+Qrh5yvk4JaKa3dCJOobE+MJfIc8QSbEEcTUctEmyvVTy/Zm39xKyveCzctUH/WexM7iK5Zgc5XDlamimw3fmiBwgjdDdaepVj9EmRTxbabg4PbThnZX4k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IgCD6hXq; 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="IgCD6hXq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94AD61F000E9; Mon, 10 Aug 2026 11:57:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1786363028; bh=yoq9TvQbw570jUnpK+0CMz7l27Zxa9GD/5F3ez5HHag=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=IgCD6hXqxCOu9rzNZZd0qKUpSHKgOw95cWuhicTgl+Nn/I24XH12Z3nqI+5FydqJx 7vyYvZk4aHqv3Go9nHwqv38UHk9QtmJPV5K36QWOv/Tk5pxdVqfuQ2+tGa/4FX/4s8 YpYWxaCww3Mak11YgWjTCx1vOqQvkUBX5ux54sKBX2N5eA4M1ICaWylw+71BTHpZZY drlSoJUErYWR7l9+lrUvyTx+p0kbImXG9T30h5qmAoIOS9V8CksYckxws+2wM91Yir kNpRHAk6XnJhkn5Fhd/LNH5t/w1GiUefHb0Hq3OAC/2A9BFsNCUs3hLCGeqZfE59+t 3IXDw0xK3HYkA== From: sashiko-bot@kernel.org Subject: Re: [PATCH 06/10] phy: qcom-ipq806x-usb: fix the PHY_PARAM_CTRL1 field masks Reply-To: sashiko-reviews@lists.linux.dev To: "Dmitry Baryshkov" Cc: linux-phy@lists.infradead.org, conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org, vkoul@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org In-Reply-To: <20260810-msm8974-usb3-v1-6-1a47e1185524@oss.qualcomm.com> References: <20260810-msm8974-usb3-v1-0-1a47e1185524@oss.qualcomm.com> <20260810-msm8974-usb3-v1-6-1a47e1185524@oss.qualcomm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Mon, 10 Aug 2026 11:57:07 +0000 Message-Id: <20260810115707.94AD61F000E9@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: Pre-existing issues: - [High] The patch fixes overlapping off-by-one field masks for PHY_PARAM_C= TRL1, but fails to address identical off-by-one overlaps in RX_OVRD_IN_HI a= nd TX_OVRD_DRV_LO register masks which cause active initialization bugs. - [High] Missing clock cleanup on error paths in qcom_ipq806x_usb_ss_phy_in= it(). - [High] TEST_POWERDOWN is incorrectly cleared instead of being set during = PHY exit. - [High] Missing -EPROBE_DEFER handling for the optional xo_clk. - [Medium] qcom_ipq806x_usb_ss_phy_init() incorrectly passes a fully assemb= led register value to usb_phy_write_readback(), causing spurious readback v= erification failures. -- --- Patch [6]: [PATCH 06/10] phy: qcom-ipq806x-usb: fix the PHY_PARAM_CTRL1= field masks --- commit cc9548cb27cc0af73d58ff5dfbb1d43ff53c1b2b Author: Dmitry Baryshkov phy: qcom-ipq806x-usb: fix the PHY_PARAM_CTRL1 field masks This patch aligns the PHY_PARAM_CTRL1 field masks with their documented=20 positions to prevent values from landing shifted. The previous off-by-one=20 masks corrupted neighboring fields and caused spurious write-readback=20 failures during PHY initialization. > diff --git a/drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c b/drivers/phy/qu= alcomm/phy-qcom-ipq806x-usb.c > index cf77e0a66e20d..3d3e9d6da298c 100644 > --- a/drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c > +++ b/drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c > @@ -68,15 +68,17 @@ > #define SSPHY_MPLL_VALUE 0 > =20 > /* QSCRATCH PHY_PARAM_CTRL1 fields */ > -#define PHY_PARAM_CTRL1_TX_FULL_SWING_MASK GENMASK(26, 19) > -#define PHY_PARAM_CTRL1_TX_DEEMPH_6DB_MASK GENMASK(19, 13) > -#define PHY_PARAM_CTRL1_TX_DEEMPH_3_5DB_MASK GENMASK(13, 7) > -#define PHY_PARAM_CTRL1_LOS_BIAS_MASK GENMASK(7, 2) > +#define PHY_PARAM_CTRL1_TX_FULL_SWING_MASK GENMASK(26, 20) > +#define PHY_PARAM_CTRL1_TX_DEEMPH_6DB_MASK GENMASK(19, 14) > +#define PHY_PARAM_CTRL1_TX_DEEMPH_3_5DB_MASK GENMASK(13, 8) > +#define PHY_PARAM_CTRL1_LOS_LEVEL_MASK GENMASK(7, 3) > +#define PHY_PARAM_CTRL1_LOS_BIAS_MASK GENMASK(2, 0) > =20 > #define PHY_PARAM_CTRL1_MASK \ > (PHY_PARAM_CTRL1_TX_FULL_SWING_MASK | \ > PHY_PARAM_CTRL1_TX_DEEMPH_6DB_MASK | \ > PHY_PARAM_CTRL1_TX_DEEMPH_3_5DB_MASK | \ > + PHY_PARAM_CTRL1_LOS_LEVEL_MASK | \ > PHY_PARAM_CTRL1_LOS_BIAS_MASK) [Severity: High] This is a pre-existing issue, but while fixing the overlapping field masks = for=20 PHY_PARAM_CTRL1, are there identical overlaps in the RX_OVRD_IN_HI and=20 TX_OVRD_DRV_LO masks that break the initialization logic? For example: #define RX_OVRD_IN_HI_RX_EQ_MASK GENMASK(10, 7) #define RX_OVRD_IN_HI_RX_EQ_EN_OVRD BIT(7) Because these masks overlap at bit 7, does qcom_ipq806x_usb_ss_phy_init()=20 silently disable the override right after enabling it? data |=3D RX_OVRD_IN_HI_RX_EQ_EN_OVRD; data &=3D ~RX_OVRD_IN_HI_RX_EQ_MASK; data |=3D RX_OVRD_IN_HI_RX_EQ(phy_dwc3->rx_eq); [ ... ] > @@ -436,7 +440,8 @@ static int qcom_ipq806x_usb_ss_phy_init(struct phy *p= hy) > data |=3D PHY_PARAM_CTRL1_TX_FULL_SWING(0x6e) | > PHY_PARAM_CTRL1_TX_DEEMPH_6DB(0x20) | > PHY_PARAM_CTRL1_TX_DEEMPH_3_5DB(phy_dwc3->tx_deamp_3_5db) | > - PHY_PARAM_CTRL1_LOS_BIAS(0x9); > + PHY_PARAM_CTRL1_LOS_LEVEL(0x9) | > + PHY_PARAM_CTRL1_LOS_BIAS(0x0); > =20 > usb_phy_write_readback(phy_dwc3, SSUSB_PHY_PARAM_CTRL_1, > PHY_PARAM_CTRL1_MASK, data); [Severity: Medium] This isn't a bug introduced by this patch, but does this call to=20 usb_phy_write_readback() always fail spuriously on probe? It looks like we are passing a fully assembled register value (`data`) as `= val` instead of passing just the masked bits: data =3D readl(phy_dwc3->base + SSUSB_PHY_PARAM_CTRL_1); data &=3D ~PHY_PARAM_CTRL1_MASK; data |=3D PHY_PARAM_CTRL1_TX_FULL_SWING(0x6e) | ... usb_phy_write_readback(phy_dwc3, SSUSB_PHY_PARAM_CTRL_1, PHY_PARAM_CTRL1_MASK, data); Inside usb_phy_write_readback(), it uses the provided `mask` when checking = `val`: /* Read back to see if val was written */ tmp =3D readl(phy_dwc3->base + offset); tmp &=3D mask; /* clear other bits */ if (tmp !=3D val) dev_err(...); Since `data` contains unmasked bits from the initial readl() and `tmp` masks them out, won't this check unconditionally fail if any unmasked bits are no= n-zero? [Severity: High] This is a pre-existing issue, but does qcom_ipq806x_usb_ss_phy_init() leak= =20 the clock references if it fails?=20 When a hardware read/write fails, the error path returns without unwinding= =20 the enabled clocks: err_phy_trans: return ret; Since the PHY core doesn't call phy_exit() when phy_init() fails, it seems= =20 xo_clk and ref_clk remain permanently prepared and enabled? [ ... ] [Severity: High] This isn't a bug introduced by this patch, but does the PHY exit sequence i= n=20 qcom_ipq806x_usb_ss_phy_exit() disable PHY retention instead of enabling it? The comment indicates we want to set TEST_POWERDOWN: /* 3. Set TEST_POWERED_DOWN in PHY_CTRL_REG to enable PHY retention */ ... usb_phy_write_readback(phy_dwc3, SSUSB_PHY_CTRL_REG, SSUSB_CTRL_TEST_POWERDOWN, 0x0); Since 0x0 is passed as the `val`, usb_phy_write_readback() clears the=20 SSUSB_CTRL_TEST_POWERDOWN bit rather than setting it. Should this pass=20 SSUSB_CTRL_TEST_POWERDOWN as the value? [ ... ] [Severity: High] This is a pre-existing issue, but does qcom_ipq806x_usb_phy_probe() handle= =20 probe deferral correctly for the optional xo_clk? phy_dwc3->xo_clk =3D devm_clk_get(phy_dwc3->dev, "xo"); if (IS_ERR(phy_dwc3->xo_clk)) { dev_dbg(phy_dwc3->dev, "cannot get TCXO clock\n"); phy_dwc3->xo_clk =3D NULL; } devm_clk_get() returns -EPROBE_DEFER when the clock is not yet ready. By=20 checking IS_ERR and masking all errors to NULL, wouldn't the driver fail to= =20 defer its probe and silently operate without the TCXO clock if it probes=20 before the clock provider is ready? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260810-msm8974-us= b3-v1-0-1a47e1185524@oss.qualcomm.com?part=3D6