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 8B62F4499B0 for ; Thu, 9 Jul 2026 19:19:09 +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=1783624750; cv=none; b=tHLKvVfys/BN0HcjPXmnEmE3MOHclGy92DTcVZnzo4g7Ud/hWmlJgONfUTyCTG6wmAQhIyMUmOYByHYxa1Uj6iugba3n2gnlOJgdnBMSeHf9LsibS7b+CkApsvqBsAge17Gxp4Dkj38YWIjTSDkTq41S4K8QdinM1+RrtaucPRA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783624750; c=relaxed/simple; bh=PiOPzN/KZuqMBIIEYIRZ1yJ+nJh20q2OpcWMwqMWROI=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=hNs1K3kl1Pr2VWYIfyvmWIFU6QAPlsG4B6yiQxfDEj6whHh/aKLL3K1qhE6+Ca0UdtLkXHzxVmIyg1CJN8Q/OzqHXxFzHy5SFzyByFrafH+40O2Dc8F64sM6xqyEZO3t7CMt2vj4d8tzwZw5IjfqeZCNMsg2mLqjxX9/ibV6mVY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NSC0uzjn; 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="NSC0uzjn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AB4CE1F000E9; Thu, 9 Jul 2026 19:19:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783624749; bh=D7PyYNnJtBJFBh0HdoUr8sPu42LL28HopR2/MUc47lk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=NSC0uzjneYUzz9Lw0cGPalbNWvoYTccngmIBU4+Hou/jEuA7Un10rrVhYJzV8v11q e4jeGRt7hM57+ptkK6MXMXuBL3DFF/kZTyQMQuUVtMOxpLXxXLUTICLixwICIgTbYX W86UUjc7tDL2HcptKOpkxApE4Dj/D2cHAoaKJ6uj2CD57xWVHbogJPU+4kO7oYosAA GG61wLNVoH3axT2cTHn9OpQIDnLxNxBPxElIiwPN5cuN07PmKChrBV0Ol+AVb1ddl0 bqyRx5aRKIgGFjL6zTaRP/QVPeO0OVnR1zB25nYgLSc7Hm9HTNSi9xxU+qZonk0SHA RN56im2nKErrQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 10/36] phy: rockchip: usbdp: Add missing mode_change update Reply-To: sashiko-reviews@lists.linux.dev To: "Sebastian Reichel" Cc: olteanv@gmail.com, robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, linux-phy@lists.infradead.org In-Reply-To: <20260709-rockchip-usbdp-cleanup-v11-10-a149ac60f76c@collabora.com> References: <20260709-rockchip-usbdp-cleanup-v11-0-a149ac60f76c@collabora.com> <20260709-rockchip-usbdp-cleanup-v11-10-a149ac60f76c@collabora.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 09 Jul 2026 19:19:08 +0000 Message-Id: <20260709191908.AB4CE1F000E9@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 1 potential issue(= s) to consider: - [High] The newly introduced rk_udphy_mode_set() helper incorrectly return= s early if the logical mode matches, failing to trigger PHY hardware reinit= ialization on Type-C cable orientation flips. -- --- Patch [10]: [PATCH v11 10/36] phy: rockchip: usbdp: Add missing mode_ch= ange update --- commit 3a5a910ac8d7d8bee622a7fda0b441c254a882fe Author: Sebastian Reichel phy: rockchip: usbdp: Add missing mode_change update This commit introduces a new helper rk_udphy_mode_set() to update available modes and set the mode_change flag. It aims to fix an issue where missing re-initialization caused DisplayPort to stop working. > diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c b/drivers/phy/rock= chip/phy-rockchip-usbdp.c > index 982315535caf7..7540c897dde13 100644 > --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c > +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c [ ... ] > @@ -617,6 +617,15 @@ static void rk_udphy_dp_hpd_event_trigger(struct rk_= udphy *udphy, bool hpd) > rk_udphy_grfreg_write(udphy->vogrf, &cfg->vogrfcfg[udphy->id].hpd_trigg= er, hpd); > } > =20 > +static void rk_udphy_mode_set(struct rk_udphy *udphy, u8 mode) > +{ > + if (udphy->mode =3D=3D mode) > + return; > + > + udphy->mode_change =3D true; > + udphy->mode =3D mode; > +} > + > static void rk_udphy_set_typec_default_mapping(struct rk_udphy *udphy) > { > if (udphy->flip) { > @@ -647,7 +656,7 @@ static void rk_udphy_set_typec_default_mapping(struct= rk_udphy *udphy) > gpiod_set_value_cansleep(udphy->sbu2_dc_gpio, 1); > } > =20 > - udphy->mode =3D UDPHY_MODE_DP_USB; > + rk_udphy_mode_set(udphy, UDPHY_MODE_DP_USB); [Severity: High] Will this early return in rk_udphy_mode_set() prevent PHY re-initialization during a Type-C cable orientation flip? When the cable is rapidly flipped and replugged, the USB driver might keep = the PHY powered on temporarily due to runtime PM autosuspend, meaning udphy->st= atus can remain UDPHY_MODE_USB.=20 In this scenario, rk_udphy_set_typec_default_mapping() recalculates the new reversed physical lane mappings and calls the new helper: rk_udphy_orien_sw_set() -> rk_udphy_set_typec_default_mapping() -> // physical lane mappings are updated here rk_udphy_mode_set(udphy, UDPHY_MODE_DP_USB); Since udphy->mode is already UDPHY_MODE_DP_USB, the helper returns early without setting mode_change to true.=20 Consequently, when DP power-on occurs in rk_udphy_power_on(), the hardware initialization step is skipped because mode_change is false. The hardware's lane mux registers are never updated with the new reversed mappings, which causes DisplayPort to fail. Does the mode_change flag need to be set during an orientation change even = if the logical mode remains the same? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260709-rockchip-u= sbdp-cleanup-v11-0-a149ac60f76c@collabora.com?part=3D10 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 2AF70C43458 for ; Thu, 9 Jul 2026 19:19:11 +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=kezwvXEVH3RU102aQUNuvwkXthGvI/Q69rxy0N7DyMI=; b=4/m6Eb8CoVsL2h 83zRZCHHMRHam2RncDuIrbYBbXujQZnwuJeupU7MoFMY1KT1vNfWtdL/vH8imFdfjpJTqeCqsC4vu bsGsFrqS7idplHuSX2CUV4YuODM7ENWvp12BqsznLHGG+LMEM42ZvwGi5os+9chEkpsmzM77itDpu 8SnKH7FkI0mDI+MG1U4wjElikPPhD09k0OKyQyF0WFi1tGhoSxc0mOQB/Mpp+W/XfP4HwwKZ8TuLd Vy4Pbk2XAiSOXT7/vqhNI9o1EnzMzKpQvPHKxCqf927g2YjwxzoJhsk4ykPi13uQ1SJFkQnVpS/X9 FC9SwIo0nNOOb7ekoNXA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1whuH8-00000003RXM-3zyh; Thu, 09 Jul 2026 19:19:10 +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 1whuH7-00000003RWx-3fNy for linux-phy@lists.infradead.org; Thu, 09 Jul 2026 19:19:09 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 454944367A; Thu, 9 Jul 2026 19:19:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AB4CE1F000E9; Thu, 9 Jul 2026 19:19:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783624749; bh=D7PyYNnJtBJFBh0HdoUr8sPu42LL28HopR2/MUc47lk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=NSC0uzjneYUzz9Lw0cGPalbNWvoYTccngmIBU4+Hou/jEuA7Un10rrVhYJzV8v11q e4jeGRt7hM57+ptkK6MXMXuBL3DFF/kZTyQMQuUVtMOxpLXxXLUTICLixwICIgTbYX W86UUjc7tDL2HcptKOpkxApE4Dj/D2cHAoaKJ6uj2CD57xWVHbogJPU+4kO7oYosAA GG61wLNVoH3axT2cTHn9OpQIDnLxNxBPxElIiwPN5cuN07PmKChrBV0Ol+AVb1ddl0 bqyRx5aRKIgGFjL6zTaRP/QVPeO0OVnR1zB25nYgLSc7Hm9HTNSi9xxU+qZonk0SHA RN56im2nKErrQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 10/36] phy: rockchip: usbdp: Add missing mode_change update To: "Sebastian Reichel" Cc: olteanv@gmail.com, robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, vkoul@kernel.org, neil.armstrong@linaro.org, linux-phy@lists.infradead.org In-Reply-To: <20260709-rockchip-usbdp-cleanup-v11-10-a149ac60f76c@collabora.com> References: <20260709-rockchip-usbdp-cleanup-v11-0-a149ac60f76c@collabora.com> <20260709-rockchip-usbdp-cleanup-v11-10-a149ac60f76c@collabora.com> Date: Thu, 09 Jul 2026 19:19:08 +0000 Message-Id: <20260709191908.AB4CE1F000E9@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 MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFRoZSBuZXdseSBpbnRy b2R1Y2VkIHJrX3VkcGh5X21vZGVfc2V0KCkgaGVscGVyIGluY29ycmVjdGx5IHJldHVybnMgZWFy bHkgaWYgdGhlIGxvZ2ljYWwgbW9kZSBtYXRjaGVzLCBmYWlsaW5nIHRvIHRyaWdnZXIgUEhZIGhh cmR3YXJlIHJlaW5pdGlhbGl6YXRpb24gb24gVHlwZS1DIGNhYmxlIG9yaWVudGF0aW9uIGZsaXBz LgotLQoKLS0tIFBhdGNoIFsxMF06IFtQQVRDSCB2MTEgMTAvMzZdIHBoeTogcm9ja2NoaXA6IHVz YmRwOiBBZGQgbWlzc2luZyBtb2RlX2NoYW5nZSB1cGRhdGUgLS0tCmNvbW1pdCAzYTVhOTEwYWM4 ZDdkOGJlZTYyMmE3ZmRhMGI0NDFjMjU0YTg4MmZlCkF1dGhvcjogU2ViYXN0aWFuIFJlaWNoZWwg PHNlYmFzdGlhbi5yZWljaGVsQGNvbGxhYm9yYS5jb20+CgpwaHk6IHJvY2tjaGlwOiB1c2JkcDog QWRkIG1pc3NpbmcgbW9kZV9jaGFuZ2UgdXBkYXRlCgpUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIGEg bmV3IGhlbHBlciBya191ZHBoeV9tb2RlX3NldCgpIHRvIHVwZGF0ZSBhdmFpbGFibGUKbW9kZXMg YW5kIHNldCB0aGUgbW9kZV9jaGFuZ2UgZmxhZy4gSXQgYWltcyB0byBmaXggYW4gaXNzdWUgd2hl cmUgbWlzc2luZwpyZS1pbml0aWFsaXphdGlvbiBjYXVzZWQgRGlzcGxheVBvcnQgdG8gc3RvcCB3 b3JraW5nLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlw LXVzYmRwLmMgYi9kcml2ZXJzL3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtdXNiZHAuYwo+IGlu ZGV4IDk4MjMxNTUzNWNhZjcuLjc1NDBjODk3ZGRlMTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9w aHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLXVzYmRwLmMKPiArKysgYi9kcml2ZXJzL3BoeS9yb2Nr Y2hpcC9waHktcm9ja2NoaXAtdXNiZHAuYwoKWyAuLi4gXQoKPiBAQCAtNjE3LDYgKzYxNywxNSBA QCBzdGF0aWMgdm9pZCBya191ZHBoeV9kcF9ocGRfZXZlbnRfdHJpZ2dlcihzdHJ1Y3QgcmtfdWRw aHkgKnVkcGh5LCBib29sIGhwZCkKPiAgCXJrX3VkcGh5X2dyZnJlZ193cml0ZSh1ZHBoeS0+dm9n cmYsICZjZmctPnZvZ3JmY2ZnW3VkcGh5LT5pZF0uaHBkX3RyaWdnZXIsIGhwZCk7Cj4gIH0KPiAg Cj4gK3N0YXRpYyB2b2lkIHJrX3VkcGh5X21vZGVfc2V0KHN0cnVjdCBya191ZHBoeSAqdWRwaHks IHU4IG1vZGUpCj4gK3sKPiArCWlmICh1ZHBoeS0+bW9kZSA9PSBtb2RlKQo+ICsJCXJldHVybjsK PiArCj4gKwl1ZHBoeS0+bW9kZV9jaGFuZ2UgPSB0cnVlOwo+ICsJdWRwaHktPm1vZGUgPSBtb2Rl Owo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBya191ZHBoeV9zZXRfdHlwZWNfZGVmYXVsdF9tYXBw aW5nKHN0cnVjdCBya191ZHBoeSAqdWRwaHkpCj4gIHsKPiAgCWlmICh1ZHBoeS0+ZmxpcCkgewo+ IEBAIC02NDcsNyArNjU2LDcgQEAgc3RhdGljIHZvaWQgcmtfdWRwaHlfc2V0X3R5cGVjX2RlZmF1 bHRfbWFwcGluZyhzdHJ1Y3QgcmtfdWRwaHkgKnVkcGh5KQo+ICAJCWdwaW9kX3NldF92YWx1ZV9j YW5zbGVlcCh1ZHBoeS0+c2J1Ml9kY19ncGlvLCAxKTsKPiAgCX0KPiAgCj4gLQl1ZHBoeS0+bW9k ZSA9IFVEUEhZX01PREVfRFBfVVNCOwo+ICsJcmtfdWRwaHlfbW9kZV9zZXQodWRwaHksIFVEUEhZ X01PREVfRFBfVVNCKTsKCltTZXZlcml0eTogSGlnaF0KV2lsbCB0aGlzIGVhcmx5IHJldHVybiBp biBya191ZHBoeV9tb2RlX3NldCgpIHByZXZlbnQgUEhZIHJlLWluaXRpYWxpemF0aW9uCmR1cmlu ZyBhIFR5cGUtQyBjYWJsZSBvcmllbnRhdGlvbiBmbGlwPwoKV2hlbiB0aGUgY2FibGUgaXMgcmFw aWRseSBmbGlwcGVkIGFuZCByZXBsdWdnZWQsIHRoZSBVU0IgZHJpdmVyIG1pZ2h0IGtlZXAgdGhl ClBIWSBwb3dlcmVkIG9uIHRlbXBvcmFyaWx5IGR1ZSB0byBydW50aW1lIFBNIGF1dG9zdXNwZW5k LCBtZWFuaW5nIHVkcGh5LT5zdGF0dXMKY2FuIHJlbWFpbiBVRFBIWV9NT0RFX1VTQi4gCgpJbiB0 aGlzIHNjZW5hcmlvLCBya191ZHBoeV9zZXRfdHlwZWNfZGVmYXVsdF9tYXBwaW5nKCkgcmVjYWxj dWxhdGVzIHRoZSBuZXcKcmV2ZXJzZWQgcGh5c2ljYWwgbGFuZSBtYXBwaW5ncyBhbmQgY2FsbHMg dGhlIG5ldyBoZWxwZXI6Cgpya191ZHBoeV9vcmllbl9zd19zZXQoKSAtPgogICBya191ZHBoeV9z ZXRfdHlwZWNfZGVmYXVsdF9tYXBwaW5nKCkgLT4KICAgICAgLy8gcGh5c2ljYWwgbGFuZSBtYXBw aW5ncyBhcmUgdXBkYXRlZCBoZXJlCiAgICAgIHJrX3VkcGh5X21vZGVfc2V0KHVkcGh5LCBVRFBI WV9NT0RFX0RQX1VTQik7CgpTaW5jZSB1ZHBoeS0+bW9kZSBpcyBhbHJlYWR5IFVEUEhZX01PREVf RFBfVVNCLCB0aGUgaGVscGVyIHJldHVybnMgZWFybHkKd2l0aG91dCBzZXR0aW5nIG1vZGVfY2hh bmdlIHRvIHRydWUuIAoKQ29uc2VxdWVudGx5LCB3aGVuIERQIHBvd2VyLW9uIG9jY3VycyBpbiBy a191ZHBoeV9wb3dlcl9vbigpLCB0aGUgaGFyZHdhcmUKaW5pdGlhbGl6YXRpb24gc3RlcCBpcyBz a2lwcGVkIGJlY2F1c2UgbW9kZV9jaGFuZ2UgaXMgZmFsc2UuIFRoZSBoYXJkd2FyZSdzCmxhbmUg bXV4IHJlZ2lzdGVycyBhcmUgbmV2ZXIgdXBkYXRlZCB3aXRoIHRoZSBuZXcgcmV2ZXJzZWQgbWFw cGluZ3MsIHdoaWNoCmNhdXNlcyBEaXNwbGF5UG9ydCB0byBmYWlsLgoKRG9lcyB0aGUgbW9kZV9j aGFuZ2UgZmxhZyBuZWVkIHRvIGJlIHNldCBkdXJpbmcgYW4gb3JpZW50YXRpb24gY2hhbmdlIGV2 ZW4gaWYKdGhlIGxvZ2ljYWwgbW9kZSByZW1haW5zIHRoZSBzYW1lPwoKLS0gClNhc2hpa28gQUkg cmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MDcwOS1yb2NrY2hp cC11c2JkcC1jbGVhbnVwLXYxMS0wLWExNDlhYzYwZjc2Y0Bjb2xsYWJvcmEuY29tP3BhcnQ9MTAK Ci0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo=