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 BD1D9CA9EC9 for ; Sun, 11 Oct 2026 08:33: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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2kpFtYpbak67BKOzN21kb/siK6SwjTOu8gXqlORhr3w=; b=HhFD7HLsFQ1aZQ 0f0Hqgv9jkysPuwWB75SFeRuTUVPaUmFw1ODKDNhSXhkZGvTFca79jVjsHJfc3Qm158+7rSIAOdq+ S2/oEEN1UEnHlBMriN2M3wWiTh18a5gTwJ8++0BiHYeSqM7JBJ0O0Xf6yD1UPB5DwGD/VWprMwo/a su6I+OsILJ6eZ9zqeJarqY096KxYHOQ7ePfPhmR0NTbMStlo2g2NLLu15ADXbfUr2GO+2x5Nm9Z/B Rp7nCGaR5HmU+RxkHrJU1WBqqXXEZcw7tK5IkETH7AAjnmw0vvQFOcuy9GyN92aVwFR/Xu7GqHQvB BBpi2tCH6ufWJ08ki4Hw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xFozn-00000008rOp-3d4U; Sun, 11 Oct 2026 08:33:27 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xFozm-00000008rOa-0LFj for linux-phy@lists.infradead.org; Sun, 11 Oct 2026 08:33:26 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 19731600AA; Sun, 11 Oct 2026 08:33:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CC2B1F0089B; Sun, 11 Oct 2026 08:33:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791707604; bh=21p/tNdTknSSHsuxJ9ami0fbfcIm8YfZRuAP2R8IzYo=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=ouA1yz3bssGz9jRBEwjQVtUoh8C86dwsMoAhVobomND9tU03XrUGmDxKLNFOtfyiC tcL89HkDyaAbvr5HK97siqPEZlvfiv/JQsb0i+gehU3Nd+Ih+23zxOF6UpSkk/YotQ NzqMxrfpm20lNxiuAe+T2ZFJNmANci+jF1efP9luzZnyXfd/HFprbDEgPkgQsPqiS1 TbgRPHUTten7XC12PjdkJgW5sxEXObp6ci2Ix6M+p0b5tjRrzsXLTZOqdGW7dsktTa rynQE1mxHlLVnbyx13idRWHBicuOnS+c9hHOPHHtKSu9SNko+WqYM1wA2XEFHQkjKo Qln8DuB96KKsg== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [RFC PATCH 1/1] phy: mediatek: phy-mtk-hdmi: Use regmap to manipulate hdmi registers To: "Luca Leonardo Scorcia" Cc: neil.armstrong@linaro.org, vkoul@kernel.org, linux-phy@lists.infradead.org, olteanv@gmail.com, dri-devel@lists.freedesktop.org In-Reply-To: <20261011082042.348422-2-l.scorcia@gmail.com> References: <20261011082042.348422-1-l.scorcia@gmail.com> <20261011082042.348422-2-l.scorcia@gmail.com> Date: Sun, 11 Oct 2026 08:33:23 +0000 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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gcGh5OiBtZWRpYXRl azogdW5pbml0aWFsaXplZCBzdGFjayB2YXJpYWJsZSB1c2VkIGlmIHJlZ21hcF9yZWFkKCkgZmFp bHMKLSBbTWVkaXVtXSBwaHk6IG1lZGlhdGVrOiB1bmluaXRpYWxpemVkIHN0YWNrIHZhcmlhYmxl IHVzZSBpZiByZWdtYXBfcmVhZCgpIGZhaWxzCi0gW0xvd10gQnVpbGQ6IG1pc3NpbmcgZXhwbGlj aXQgaW5jbHVkZSBvZiA8bGludXgvYml0ZmllbGQuaD4KLS0KCmNvbW1pdCAwZDU1Y2NhZWNkZWU2 NGJlMDRiYzI4OTcxZThlNGFjYTMzOTNlM2EzCkF1dGhvcjogTHVjYSBMZW9uYXJkbyBTY29yY2lh IDxsLnNjb3JjaWFAZ21haWwuY29tPgoKcGh5OiBtZWRpYXRlazogcGh5LW10ay1oZG1pOiBVc2Ug cmVnbWFwIHRvIG1hbmlwdWxhdGUgaGRtaSByZWdpc3RlcnMKClRoaXMgY29tbWl0IHRyYW5zaXRp b25zIHRoZSBNZWRpYXRlayBIRE1JIFBIWSBkcml2ZXIgdG8gdXNlIHRoZSByZWdtYXAgQVBJCmZv ciByZWdpc3RlciBtYW5pcHVsYXRpb24sIHJlbW92aW5nIGN1c3RvbSBoZWxwZXJzLiBUaGlzIHJl c29sdmVzIGFuIC1FQlVTWQplcnJvciBvbiBtdDgxNjcgZGV2aWNlcyB3aGVyZSB0aGUgSERNSSBQ SFkgcmVnaXN0ZXJzIGFyZSBtYXBwZWQgaW5zaWRlIHRoZQphcG1peGVkc3lzIG1lbW9yeSBzcGFj ZS4KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L21lZGlhdGVrL3BoeS1tdGstaGRtaS1tdDI3 MDEuYyBiL2RyaXZlcnMvcGh5L21lZGlhdGVrL3BoeS1tdGstaGRtaS1tdDI3MDEuYwo+IGluZGV4 IGM5YTFmMjBlOTM5YjkuLjdmY2Y5MTE2YTBhOTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9waHkv bWVkaWF0ZWsvcGh5LW10ay1oZG1pLW10MjcwMS5jCj4gKysrIGIvZHJpdmVycy9waHkvbWVkaWF0 ZWsvcGh5LW10ay1oZG1pLW10MjcwMS5jCj4gQEAgLTUsNyArNSwxMyBAQAo+ICAgKi8KPiAgCj4g ICNpbmNsdWRlICJwaHktbXRrLWhkbWkuaCIKPiAtI2luY2x1ZGUgInBoeS1tdGstaW8uaCIKPiAr Cj4gKy8qIGZpZWxkIEBtYXNrIHNoYWxsIGJlIGNvbnN0YW50IGFuZCBjb250aW51b3VzICovCj4g KyNkZWZpbmUgbXRrX3BoeV91cGRhdGVfcmVnbWFwX2ZpZWxkKHJlZ21hcCwgcmVnLCBtYXNrLCB2 YWwpIFwKPiArKHsgXAo+ICsJQlVJTERfQlVHX09OX01TRyghX19idWlsdGluX2NvbnN0YW50X3Ao bWFzayksICJtYXNrIGlzIG5vdCBjb25zdGFudCIpOyBcCj4gKwlyZWdtYXBfdXBkYXRlX2JpdHMo cmVnbWFwLCByZWcsIG1hc2ssIEZJRUxEX1BSRVAobWFzaywgdmFsKSk7IFwKPiArfSkKCltTZXZl cml0eTogTG93XQpUaGUgY29kZSByZW1vdmVzIHBoeS1tdGstaW8uaCB3aGljaCBleHBsaWNpdGx5 IGluY2x1ZGVkIDxsaW51eC9iaXRmaWVsZC5oPiwKYnV0IGRvZXMgbm90IGFkZCA8bGludXgvYml0 ZmllbGQuaD4gd2hpbGUgc3RpbGwgdXNpbmcgRklFTERfUFJFUC4gUmVseWluZyBvbgppbXBsaWNp dCB0cmFuc2l0aXZlIGluY2x1c2lvbiBmb3IgY29yZSBiaXRmaWVsZCBtYWNyb3MgY2FuIHNvbWV0 aW1lcyBjYXVzZQpidWlsZCBmYWlsdXJlcyBhY3Jvc3MgZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMg b3IgdW5kZXIgdmFyeWluZyBjb21waWxlciBmbGFncy4KU2hvdWxkIDxsaW51eC9iaXRmaWVsZC5o PiBiZSBleHBsaWNpdGx5IGluY2x1ZGVkIGluIHRoaXMgZmlsZSBvciB0aGUgY29tbW9uCmhlYWRl cj8KClsgLi4uIF0KCj4gQEAgLTEzMyw3ICsxMzYsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBt dGtfaGRtaV9wbGxfcmVjYWxjX3JhdGUoc3RydWN0IGNsa19odyAqaHcsCj4gIAl1bnNpZ25lZCBs b25nIG91dF9yYXRlLCB2YWw7Cj4gIAl1MzIgdG1wOwo+ICAKPiAtCXRtcCA9IHJlYWRsKGhkbWlf cGh5LT5yZWdzICsgSERNSV9DT042KTsKPiArCXJlZ21hcF9yZWFkKGhkbWlfcGh5LT5yZWdzLCBI RE1JX0NPTjYsICZ0bXApOwo+ICAJdmFsID0gRklFTERfR0VUKFJHX0hUUExMX1BSRURJVl9NQVNL LCB0bXApOwoKW1NldmVyaXR5OiBNZWRpdW1dCklmIHJlZ21hcF9yZWFkKCkgZmFpbHMgYW5kIHJl dHVybnMgYW4gZXJyb3IgY29kZSwgdG1wIGlzIGxlZnQgdW5pbml0aWFsaXplZC4KVXNpbmcgdGhl IHVuaW5pdGlhbGl6ZWQgc3RhY2sgdmFyaWFibGUgdG1wIGluIHRoZSBGSUVMRF9HRVQgbWFjcm8g bGVhZHMgdG8KdW5kZWZpbmVkIGJlaGF2aW9yLCB3aGljaCBjb3VsZCByZXN1bHQgaW4gaW5jb3Jy ZWN0IFBMTCBjbG9jayByYXRlcy4gU2hvdWxkIHRoZQpyZXR1cm4gdmFsdWUgb2YgcmVnbWFwX3Jl YWQoKSBiZSBjaGVja2VkIGhlcmU/Cgo+ICAJc3dpdGNoICh2YWwpIHsKPiAgCWNhc2UgMHgwMDoK PiBAQCAtMTUwLDcgKzE1Myw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIG10a19oZG1pX3BsbF9y ZWNhbGNfcmF0ZShzdHJ1Y3QgY2xrX2h3ICpodywKPiAgCXZhbCA9IEZJRUxEX0dFVChSR19IVFBM TF9GQktESVZfTUFTSywgdG1wKTsKPiAgCW91dF9yYXRlICo9ICh2YWwgKyAxKSAqIDI7Cj4gIAo+ IC0JdG1wID0gcmVhZGwoaGRtaV9waHktPnJlZ3MgKyBIRE1JX0NPTjIpOwo+ICsJcmVnbWFwX3Jl YWQoaGRtaV9waHktPnJlZ3MsIEhETUlfQ09OMiwgJnRtcCk7Cj4gIAl2YWwgPSBGSUVMRF9HRVQo UkdfSERNSVRYX1RYX1BPU0RJVl9NQVNLLCB0bXApOwoKW1NldmVyaXR5OiBNZWRpdW1dClNpbWls YXIgdG8gdGhlIHByZXZpb3VzIHJlYWQsIGlmIHJlZ21hcF9yZWFkKCkgZmFpbHMsIHRtcCByZW1h aW5zCnVuaW5pdGlhbGl6ZWQuIERvZXMgdGhpcyBhbHNvIG5lZWQgYW4gZXJyb3IgY2hlY2s/Cgpb IC4uLiBdCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9tZWRpYXRlay9waHktbXRrLWhkbWkt bXQ4MTczLmMgYi9kcml2ZXJzL3BoeS9tZWRpYXRlay9waHktbXRrLWhkbWktbXQ4MTczLmMKPiBp bmRleCA1OGM2NTk2YzhjMjBiLi42ZGY5OTdmZjc0Yzk3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv cGh5L21lZGlhdGVrL3BoeS1tdGstaGRtaS1tdDgxNzMuYwo+ICsrKyBiL2RyaXZlcnMvcGh5L21l ZGlhdGVrL3BoeS1tdGstaGRtaS1tdDgxNzMuYwo+IEBAIC01LDcgKzUsMTMgQEAKPiAgICovCj4g IAo+ICAjaW5jbHVkZSAicGh5LW10ay1oZG1pLmgiCj4gLSNpbmNsdWRlICJwaHktbXRrLWlvLmgi Cj4gKwo+ICsvKiBmaWVsZCBAbWFzayBzaGFsbCBiZSBjb25zdGFudCBhbmQgY29udGludW91cyAq Lwo+ICsjZGVmaW5lIG10a19waHlfdXBkYXRlX3JlZ21hcF9maWVsZChyZWdtYXAsIHJlZywgbWFz aywgdmFsKSBcCj4gKyh7IFwKPiArCUJVSUxEX0JVR19PTl9NU0coIV9fYnVpbHRpbl9jb25zdGFu dF9wKG1hc2spLCAibWFzayBpcyBub3QgY29uc3RhbnQiKTsgXAo+ICsJcmVnbWFwX3VwZGF0ZV9i aXRzKHJlZ21hcCwgcmVnLCBtYXNrLCBGSUVMRF9QUkVQKG1hc2ssIHZhbCkpOyBcCj4gK30pCgpb U2V2ZXJpdHk6IExvd10KQXMgaW4gdGhlIG10MjcwMSBkcml2ZXIsIDxsaW51eC9iaXRmaWVsZC5o PiBpcyBub3QgZXhwbGljaXRseSBpbmNsdWRlZCBidXQKRklFTERfUFJFUCBpcyB1c2VkLiBTaG91 bGQgdGhlIGhlYWRlciBiZSBleHBsaWNpdGx5IGluY2x1ZGVkIGhlcmUgYXMgd2VsbD8KClsgLi4u IF0KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L21lZGlhdGVrL3BoeS1tdGstaGRtaS1tdDgx OTUuYyBiL2RyaXZlcnMvcGh5L21lZGlhdGVrL3BoeS1tdGstaGRtaS1tdDgxOTUuYwo+IGluZGV4 IGE0YmMxMjY4OTQ2ZDguLjVkNjEyMjI3NzcyNWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9waHkv bWVkaWF0ZWsvcGh5LW10ay1oZG1pLW10ODE5NS5jCj4gKysrIGIvZHJpdmVycy9waHkvbWVkaWF0 ZWsvcGh5LW10ay1oZG1pLW10ODE5NS5jCj4gQEAgLTE1LDYyICsxNSw2NCBAQAo+ICAjaW5jbHVk ZSA8bGludXgvdW5pdHMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L252bWVtLWNvbnN1bWVyLmg+Cj4g IAo+IC0jaW5jbHVkZSAicGh5LW10ay1pby5oIgo+ICAjaW5jbHVkZSAicGh5LW10ay1oZG1pLmgi Cj4gICNpbmNsdWRlICJwaHktbXRrLWhkbWktbXQ4MTk1LmgiCj4gIAo+ICsvKiBmaWVsZCBAbWFz ayBzaGFsbCBiZSBjb25zdGFudCBhbmQgY29udGludW91cyAqLwo+ICsjZGVmaW5lIG10a19waHlf dXBkYXRlX3JlZ21hcF9maWVsZChyZWdtYXAsIHJlZywgbWFzaywgdmFsKSBcCj4gKyh7IFwKPiAr CUJVSUxEX0JVR19PTl9NU0coIV9fYnVpbHRpbl9jb25zdGFudF9wKG1hc2spLCAibWFzayBpcyBu b3QgY29uc3RhbnQiKTsgXAo+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHJlZ21hcCwgcmVnLCBtYXNr LCBGSUVMRF9QUkVQKG1hc2ssIHZhbCkpOyBcCj4gK30pCgpbU2V2ZXJpdHk6IExvd10KTWlzc2lu ZyBleHBsaWNpdCBpbmNsdWRlIG9mIDxsaW51eC9iaXRmaWVsZC5oPiBmb3IgRklFTERfUFJFUCBo ZXJlIHRvby4KClsgLi4uIF0KCj4gQEAgLTUwMSw4ICs0OTcsMTEgQEAgc3RhdGljIGludCBtdGtf aGRtaV9waHlfcHdyNXZfZGlzYWJsZShzdHJ1Y3QgcmVndWxhdG9yX2RldiAqcmRldikKPiAgc3Rh dGljIGludCBtdGtfaGRtaV9waHlfcHdyNXZfaXNfZW5hYmxlZChzdHJ1Y3QgcmVndWxhdG9yX2Rl diAqcmRldikKPiAgewo+ICAJc3RydWN0IG10a19oZG1pX3BoeSAqaGRtaV9waHkgPSByZGV2X2dl dF9kcnZkYXRhKHJkZXYpOwo+ICsJdTMyIHRtcDsKPiArCj4gKwlyZWdtYXBfcmVhZChoZG1pX3Bo eS0+cmVncywgSERNSV9DVExfMSwgJnRtcCk7Cj4gIAo+IC0JcmV0dXJuICEhKHJlYWRsKGhkbWlf cGh5LT5yZWdzICsgSERNSV9DVExfMSkgJiBSR19IRE1JVFhfUFdSNVZfTyk7Cj4gKwlyZXR1cm4g ISEodG1wICYgUkdfSERNSVRYX1BXUjVWX08pOwo+ICB9CgpbU2V2ZXJpdHk6IE1lZGl1bV0KSWYg cmVnbWFwX3JlYWQoKSBmYWlscywgdG1wIGlzIHVuaW5pdGlhbGl6ZWQuIFRoZSBmdW5jdGlvbiB0 aGVuIGV2YWx1YXRlcyB0aGUKcmVndWxhdG9yIGVuYWJsZWQgc3RhdGUgYmFzZWQgb24gc3RhY2sg Z2FyYmFnZS4gRG9lcyByZWdtYXBfcmVhZCgpJ3MgcmV0dXJuCnZhbHVlIG5lZWQgdG8gYmUgY2hl Y2tlZCB0byBwcmV2ZW50IHRoaXM/CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9z YXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYxMDExMDgyMDQyLjM0ODQyMi0xLWwuc2NvcmNpYUBn bWFpbC5jb20/cGFydD0xCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1waHkK 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 70505CA9EC7 for ; Sun, 11 Oct 2026 08:33:28 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9801B10E01F; Sun, 11 Oct 2026 08:33:27 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="ouA1yz3b"; dkim-atps=neutral Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by gabe.freedesktop.org (Postfix) with ESMTPS id 161E810E01F for ; Sun, 11 Oct 2026 08:33:26 +0000 (UTC) Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 19731600AA; Sun, 11 Oct 2026 08:33:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CC2B1F0089B; Sun, 11 Oct 2026 08:33:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791707604; bh=21p/tNdTknSSHsuxJ9ami0fbfcIm8YfZRuAP2R8IzYo=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=ouA1yz3bssGz9jRBEwjQVtUoh8C86dwsMoAhVobomND9tU03XrUGmDxKLNFOtfyiC tcL89HkDyaAbvr5HK97siqPEZlvfiv/JQsb0i+gehU3Nd+Ih+23zxOF6UpSkk/YotQ NzqMxrfpm20lNxiuAe+T2ZFJNmANci+jF1efP9luzZnyXfd/HFprbDEgPkgQsPqiS1 TbgRPHUTten7XC12PjdkJgW5sxEXObp6ci2Ix6M+p0b5tjRrzsXLTZOqdGW7dsktTa rynQE1mxHlLVnbyx13idRWHBicuOnS+c9hHOPHHtKSu9SNko+WqYM1wA2XEFHQkjKo Qln8DuB96KKsg== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [RFC PATCH 1/1] phy: mediatek: phy-mtk-hdmi: Use regmap to manipulate hdmi registers To: "Luca Leonardo Scorcia" Cc: neil.armstrong@linaro.org, vkoul@kernel.org, linux-phy@lists.infradead.org, olteanv@gmail.com, dri-devel@lists.freedesktop.org In-Reply-To: <20261011082042.348422-2-l.scorcia@gmail.com> References: <20261011082042.348422-1-l.scorcia@gmail.com> <20261011082042.348422-2-l.scorcia@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sun, 11 Oct 2026 08:33:23 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Thank you for your contribution! Sashiko AI review found 3 potential issue(= s) to consider: - [Medium] phy: mediatek: uninitialized stack variable used if regmap_read(= ) fails - [Medium] phy: mediatek: uninitialized stack variable use if regmap_read()= fails - [Low] Build: missing explicit include of -- commit 0d55ccaecdee64be04bc28971e8e4aca3393e3a3 Author: Luca Leonardo Scorcia phy: mediatek: phy-mtk-hdmi: Use regmap to manipulate hdmi registers This commit transitions the Mediatek HDMI PHY driver to use the regmap API for register manipulation, removing custom helpers. This resolves an -EBUSY error on mt8167 devices where the HDMI PHY registers are mapped inside the apmixedsys memory space. > diff --git a/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c b/drivers/phy/med= iatek/phy-mtk-hdmi-mt2701.c > index c9a1f20e939b9..7fcf9116a0a93 100644 > --- a/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c > +++ b/drivers/phy/mediatek/phy-mtk-hdmi-mt2701.c > @@ -5,7 +5,13 @@ > */ > =20 > #include "phy-mtk-hdmi.h" > -#include "phy-mtk-io.h" > + > +/* field @mask shall be constant and continuous */ > +#define mtk_phy_update_regmap_field(regmap, reg, mask, val) \ > +({ \ > + BUILD_BUG_ON_MSG(!__builtin_constant_p(mask), "mask is not constant"); \ > + regmap_update_bits(regmap, reg, mask, FIELD_PREP(mask, val)); \ > +}) [Severity: Low] The code removes phy-mtk-io.h which explicitly included , but does not add while still using FIELD_PREP. Relying on implicit transitive inclusion for core bitfield macros can sometimes cause build failures across different architectures or under varying compiler fla= gs. Should be explicitly included in this file or the common header? [ ... ] > @@ -133,7 +136,7 @@ static unsigned long mtk_hdmi_pll_recalc_rate(struct = clk_hw *hw, > unsigned long out_rate, val; > u32 tmp; > =20 > - tmp =3D readl(hdmi_phy->regs + HDMI_CON6); > + regmap_read(hdmi_phy->regs, HDMI_CON6, &tmp); > val =3D FIELD_GET(RG_HTPLL_PREDIV_MASK, tmp); [Severity: Medium] If regmap_read() fails and returns an error code, tmp is left uninitialized. Using the uninitialized stack variable tmp in the FIELD_GET macro leads to undefined behavior, which could result in incorrect PLL clock rates. Should= the return value of regmap_read() be checked here? > switch (val) { > case 0x00: > @@ -150,7 +153,7 @@ static unsigned long mtk_hdmi_pll_recalc_rate(struct = clk_hw *hw, > val =3D FIELD_GET(RG_HTPLL_FBKDIV_MASK, tmp); > out_rate *=3D (val + 1) * 2; > =20 > - tmp =3D readl(hdmi_phy->regs + HDMI_CON2); > + regmap_read(hdmi_phy->regs, HDMI_CON2, &tmp); > val =3D FIELD_GET(RG_HDMITX_TX_POSDIV_MASK, tmp); [Severity: Medium] Similar to the previous read, if regmap_read() fails, tmp remains uninitialized. Does this also need an error check? [ ... ] > diff --git a/drivers/phy/mediatek/phy-mtk-hdmi-mt8173.c b/drivers/phy/med= iatek/phy-mtk-hdmi-mt8173.c > index 58c6596c8c20b..6df997ff74c97 100644 > --- a/drivers/phy/mediatek/phy-mtk-hdmi-mt8173.c > +++ b/drivers/phy/mediatek/phy-mtk-hdmi-mt8173.c > @@ -5,7 +5,13 @@ > */ > =20 > #include "phy-mtk-hdmi.h" > -#include "phy-mtk-io.h" > + > +/* field @mask shall be constant and continuous */ > +#define mtk_phy_update_regmap_field(regmap, reg, mask, val) \ > +({ \ > + BUILD_BUG_ON_MSG(!__builtin_constant_p(mask), "mask is not constant"); \ > + regmap_update_bits(regmap, reg, mask, FIELD_PREP(mask, val)); \ > +}) [Severity: Low] As in the mt2701 driver, is not explicitly included but FIELD_PREP is used. Should the header be explicitly included here as well? [ ... ] > diff --git a/drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c b/drivers/phy/med= iatek/phy-mtk-hdmi-mt8195.c > index a4bc1268946d8..5d6122277725a 100644 > --- a/drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c > +++ b/drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c > @@ -15,62 +15,64 @@ > #include > #include > =20 > -#include "phy-mtk-io.h" > #include "phy-mtk-hdmi.h" > #include "phy-mtk-hdmi-mt8195.h" > =20 > +/* field @mask shall be constant and continuous */ > +#define mtk_phy_update_regmap_field(regmap, reg, mask, val) \ > +({ \ > + BUILD_BUG_ON_MSG(!__builtin_constant_p(mask), "mask is not constant"); \ > + regmap_update_bits(regmap, reg, mask, FIELD_PREP(mask, val)); \ > +}) [Severity: Low] Missing explicit include of for FIELD_PREP here too. [ ... ] > @@ -501,8 +497,11 @@ static int mtk_hdmi_phy_pwr5v_disable(struct regulat= or_dev *rdev) > static int mtk_hdmi_phy_pwr5v_is_enabled(struct regulator_dev *rdev) > { > struct mtk_hdmi_phy *hdmi_phy =3D rdev_get_drvdata(rdev); > + u32 tmp; > + > + regmap_read(hdmi_phy->regs, HDMI_CTL_1, &tmp); > =20 > - return !!(readl(hdmi_phy->regs + HDMI_CTL_1) & RG_HDMITX_PWR5V_O); > + return !!(tmp & RG_HDMITX_PWR5V_O); > } [Severity: Medium] If regmap_read() fails, tmp is uninitialized. The function then evaluates t= he regulator enabled state based on stack garbage. Does regmap_read()'s return value need to be checked to prevent this? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261011082042.3484= 22-1-l.scorcia@gmail.com?part=3D1